diff --git a/ja_JP.eucJP/man/man3/Makefile b/ja_JP.eucJP/man/man3/Makefile new file mode 100644 index 0000000000..7760009649 --- /dev/null +++ b/ja_JP.eucJP/man/man3/Makefile @@ -0,0 +1,1239 @@ +MAN3 = _secure_path.3\ + abort.3\ + abs.3\ + acos.3\ + acosh.3\ + addr2ascii.3\ + alarm.3\ + alloca.3\ + arc4random.3\ + asin.3\ + asinh.3\ + assert.3\ + atan.3\ + atan2.3\ + atanh.3\ + atexit.3\ + atof.3\ + atoi.3\ + atol.3\ + auth_getval.3\ + bcmp.3\ + bcopy.3\ + bindresvport.3\ + bitstring.3\ + bsearch.3\ + bstring.3\ + btree.3\ + byteorder.3\ + bzero.3\ + calendar.3\ + cam.3\ + cam_cdbparse.3\ + catclose.3\ + catgets.3\ + catopen.3\ + ceil.3\ + cfree.3\ + cftime.3\ + clock.3\ + com_err.3\ + confstr.3\ + cos.3\ + cosh.3\ + crypt.3\ + ctermid.3\ + ctime.3\ + ctype.3\ + curs_addch.3\ + curs_addchst.3\ + curs_addstr.3\ + curs_attr.3\ + curs_beep.3\ + curs_bkgd.3\ + curs_border.3\ + curs_clear.3\ + curs_color.3\ + curs_delch.3\ + curs_move.3\ + curs_outopts.3\ + curs_overlay.3\ + curs_pad.3\ + curs_printw.3\ + curs_refresh.3\ + curs_scanw.3\ + curs_scroll.3\ + curs_slk.3\ + curs_touch.3\ + curs_util.3\ + curs_window.3\ + curses.3\ + cuserid.3\ + daemon.3\ + dbopen.3\ + des_crypt.3\ + devname.3\ + devstat.3\ + dialog.3\ + directory.3\ + div.3\ + dladdr.3\ + dlopen.3\ + editline.3\ + end.3\ + erf.3\ + err.3\ + ethers.3\ + exec.3\ + exit.3\ + exp.3\ + fabs.3\ + fclose.3\ + ferror.3\ + fetch.3\ + fflush.3\ + ffs.3\ + fgetln.3\ + fgets.3\ + floor.3\ + fmod.3\ + fnmatch.3\ + fopen.3\ + fpgetround.3\ + fputs.3\ + fread.3\ + frexp.3\ + fseek.3\ + ftime.3\ + ftok.3\ + ftpio.3\ + fts.3\ + funopen.3\ + getbootfile.3\ + getbsize.3\ + getc.3\ + getcap.3\ + getcwd.3\ + getdiskbyname.3\ + getdomainname.3\ + getenv.3\ + getfsent.3\ + getgrent.3\ + getgrouplist.3\ + gethostbyname.3\ + gethostid.3\ + gethostname.3\ + getloadavg.3\ + getmntinfo.3\ + getnetent.3\ + getnetgrent.3\ + getobjformat.3\ + getopt.3\ + getpagesize.3\ + getpass.3\ + getprotoent.3\ + getpw.3\ + getpwent.3\ + getrpcent.3\ + getrpcport.3\ + getservent.3\ + getsubopt.3\ + getttyent.3\ + getusershell.3\ + getvfsbyname.3\ + getvfsent.3\ + glob.3\ + hash.3\ + hypot.3\ + ieee.3\ + ieee_test.3\ + index.3\ + inet.3\ + initgroups.3\ + insque.3\ + intro.3\ + ipx.3\ + isalnum.3\ + isalpha.3\ + isascii.3\ + isblank.3\ + iscntrl.3\ + isdigit.3\ + isgraph.3\ + isinf.3\ + islower.3\ + isprint.3\ + ispunct.3\ + isspace.3\ + isupper.3\ + isxdigit.3\ + j0.3\ + keycap.3\ + kvm.3\ + kvm_geterr.3\ + kvm_getfiles.3\ + kvm_getloadavg.3\ + kvm_getprocs.3\ + kvm_nlist.3\ + kvm_open.3\ + kvm_read.3\ + labs.3\ + ldexp.3\ + ldiv.3\ + lgamma.3\ + libalias.3\ + libdisk.3\ + libradius.3\ + libstand.3\ + libtacplus.3\ + link_addr.3\ + lockf.3\ + login.3\ + login_auth.3\ + login_cap.3\ + login_class.3\ + login_ok.3\ + login_times.3\ + login_tty.3\ + logout.3\ + logwtmp.3\ + lsearch.3\ + malloc.3\ + math.3\ + mbrune.3\ + md2.3\ + md4.3\ + md5.3\ + memccpy.3\ + memchr.3\ + memcmp.3\ + memcpy.3\ + memmove.3\ + memory.3\ + memset.3\ + mktemp.3\ + modf.3\ + moncontrol.3\ + mpool.3\ + msgctl.3\ + msgget.3\ + msgrcv.3\ + msgsnd.3\ + multibyte.3\ + ncurses.3\ + nice.3\ + nlist.3\ + pam_authenticate.3\ + pam_chauthtok.3\ + pam_fail_delay.3\ + pam_open_session.3\ + pam_setcred.3\ + pam_start.3\ + pam_strerror.3\ + pause.3\ + pcap.3\ + popen.3\ + printf.3\ + property.3\ + psignal.3\ + pthread.3\ + pthread_cleanup_pop.3\ + pthread_cleanup_push.3\ + pthread_cond_broadcast.3\ + pthread_cond_destroy.3\ + pthread_cond_init.3\ + pthread_cond_signal.3\ + pthread_cond_timedwait.3\ + pthread_cond_wait.3\ + pthread_create.3\ + pthread_detach.3\ + pthread_equal.3\ + pthread_exit.3\ + pthread_getspecific.3\ + pthread_join.3\ + pthread_key_create.3\ + pthread_key_delete.3\ + pthread_mutex_destroy.3\ + pthread_mutex_init.3\ + pthread_mutex_lock.3\ + pthread_mutex_trylock.3\ + pthread_mutex_unlock.3\ + pthread_once.3\ + pthread_rwlock_destroy.3\ + pthread_rwlock_init.3\ + pthread_rwlock_rdlock.3\ + pthread_rwlock_unlock.3\ + pthread_rwlock_wrlock.3\ + pthread_rwlockattr_destroy.3\ + pthread_rwlockattr_getpshared.3\ + pthread_rwlockattr_init.3\ + pthread_rwlockattr_setpshared.3\ + pthread_self.3\ + pthread_setspecific.3\ + pty.3\ + publickey.3\ + putc.3\ + pwcache.3\ + qsort.3\ + queue.3\ + radixsort.3\ + raise.3\ + rand.3\ + rand48.3\ + random.3\ + rcmd.3\ + re_comp.3\ + readline.3\ + realpath.3\ + recno.3\ + regex.3\ + regexp.3\ + remove.3\ + resolver.3\ + rexec.3\ + rindex.3\ + rint.3\ + rpc.3\ + rpc_secure.3\ + rtime.3\ + rune.3\ + scandir.3\ + scanf.3\ + setbuf.3\ + setjmp.3\ + setlocale.3\ + setmode.3\ + setproctitle.3\ + setruid.3\ + siginterrupt.3\ + signal.3\ + sigsetops.3\ + sin.3\ + sinh.3\ + skey.3\ + sleep.3\ + sqrt.3\ + stdarg.3\ + stdio.3\ + strcasecmp.3\ + strcat.3\ + strchr.3\ + strcmp.3\ + strcoll.3\ + strcpy.3\ + strcspn.3\ + strdup.3\ + strerror.3\ + strftime.3\ + string.3\ + stringlist.3\ + strlen.3\ + strmode.3\ + strpbrk.3\ + strptime.3\ + strrchr.3\ + strsep.3\ + strspn.3\ + strstr.3\ + strtod.3\ + strtok.3\ + strtol.3\ + strtoul.3\ + strxfrm.3\ + stty.3\ + swab.3\ + sysconf.3\ + sysctl.3\ + sysexits.3\ + syslog.3\ + system.3\ + tan.3\ + tanh.3\ + tcgetpgrp.3\ + tcsendbreak.3\ + tcsetattr.3\ + tcsetpgrp.3\ + termcap.3\ + time.3\ + time2posix.3\ + times.3\ + timezone.3\ + tmpfile.3\ + toascii.3\ + tolower.3\ + toupper.3\ + ttyname.3\ + tzset.3\ + ualarm.3\ + uname.3\ + ungetc.3\ + unvis.3\ + usleep.3\ + utime.3\ + uucplock.3\ + valloc.3\ + vgl.3\ + vis.3\ + vlimit.3\ + vtimes.3\ + xdr.3\ + zlib.3 + +MLINKS= acos.3 acosf.3 +MLINKS+= acosh.3 acoshf.3 +MLINKS+= addr2ascii.3 ascii2addr.3 +MLINKS+= arc4random.3 arc4random_addrandom.3 +MLINKS+= arc4random.3 arc4random_stir.3 +MLINKS+= asin.3 asinf.3 +MLINKS+= asinh.3 asinhf.3 +MLINKS+= atan.3 atanf.3 +MLINKS+= atan2.3 atan2f.3 +MLINKS+= atanh.3 atanhf.3 +MLINKS+= auth_getval.3 auth.3 +MLINKS+= bitstring.3 bit_alloc.3 +MLINKS+= bitstring.3 bit_clear.3 +MLINKS+= bitstring.3 bit_decl.3 +MLINKS+= bitstring.3 bit_ffs.3 +MLINKS+= bitstring.3 bit_nclear.3 +MLINKS+= bitstring.3 bit_nset.3 +MLINKS+= bitstring.3 bit_set.3 +MLINKS+= bitstring.3 bit_test.3 +MLINKS+= bitstring.3 bitstr_size.3 +MLINKS+= byteorder.3 htonl.3 +MLINKS+= byteorder.3 htons.3 +MLINKS+= byteorder.3 ntohl.3 +MLINKS+= byteorder.3 ntohs.3 +MLINKS+= calendar.3 easterg.3 +MLINKS+= calendar.3 easterog.3 +MLINKS+= calendar.3 easteroj.3 +MLINKS+= calendar.3 gdate.3 +MLINKS+= calendar.3 jdate.3 +MLINKS+= calendar.3 ndaysg.3 +MLINKS+= calendar.3 ndaysj.3 +MLINKS+= calendar.3 week.3 +MLINKS+= calendar.3 weekday.3 +MLINKS+= cam.3 cam_close_device.3 +MLINKS+= cam.3 cam_close_spec_device.3 +MLINKS+= cam.3 cam_device_copy.3 +MLINKS+= cam.3 cam_device_dup.3 +MLINKS+= cam.3 cam_freeccb.3 +MLINKS+= cam.3 cam_get_device.3 +MLINKS+= cam.3 cam_getccb.3 +MLINKS+= cam.3 cam_open_btl.3 +MLINKS+= cam.3 cam_open_device.3 +MLINKS+= cam.3 cam_open_pass.3 +MLINKS+= cam.3 cam_open_spec_device.3 +MLINKS+= cam.3 cam_path_string.3 +MLINKS+= cam.3 cam_send_ccb.3 +MLINKS+= cam_cdbparse.3 buff_decode.3 +MLINKS+= cam_cdbparse.3 buff_decode_visit.3 +MLINKS+= cam_cdbparse.3 buff_encode_visit.3 +MLINKS+= cam_cdbparse.3 csio_build.3 +MLINKS+= cam_cdbparse.3 csio_build_visit.3 +MLINKS+= cam_cdbparse.3 csio_decode.3 +MLINKS+= cam_cdbparse.3 csio_decode_visit.3 +MLINKS+= cam_cdbparse.3 csio_encode.3 +MLINKS+= cam_cdbparse.3 csio_encode_visit.3 +MLINKS+= ceil.3 ceilf.3 +MLINKS+= cftime.3 ascftime.3 +MLINKS+= cos.3 cosf.3 +MLINKS+= cosh.3 coshf.3 +MLINKS+= crypt.3 des_cipher.3 +MLINKS+= crypt.3 des_setkey.3 +MLINKS+= crypt.3 encrypt.3 +MLINKS+= crypt.3 setkey.3 +MLINKS+= ctime.3 asctime.3 +MLINKS+= ctime.3 difftime.3 +MLINKS+= ctime.3 gmtime.3 +MLINKS+= ctime.3 localtime.3 +MLINKS+= ctime.3 mktime.3 +MLINKS+= ctime.3 timegm.3 +MLINKS+= curs_addch.3 addch.3 +MLINKS+= curs_addch.3 echochar.3 +MLINKS+= curs_addch.3 mvaddch.3 +MLINKS+= curs_addch.3 mvwaddch.3 +MLINKS+= curs_addch.3 waddch.3 +MLINKS+= curs_addch.3 wechochar.3 +MLINKS+= curs_addchst.3 addchnstr.3 +MLINKS+= curs_addchst.3 addchstr.3 +MLINKS+= curs_addchst.3 mvaddchnstr.3 +MLINKS+= curs_addchst.3 mvaddchstr.3 +MLINKS+= curs_addchst.3 mvwaddchnstr.3 +MLINKS+= curs_addchst.3 mvwaddchstr.3 +MLINKS+= curs_addchst.3 waddchnstr.3 +MLINKS+= curs_addchst.3 waddchstr.3 +MLINKS+= curs_addstr.3 addnstr.3 +MLINKS+= curs_addstr.3 addstr.3 +MLINKS+= curs_addstr.3 mvaddnstr.3 +MLINKS+= curs_addstr.3 mvaddstr.3 +MLINKS+= curs_addstr.3 mvwaddnstr.3 +MLINKS+= curs_addstr.3 mvwaddstr.3 +MLINKS+= curs_addstr.3 waddnstr.3 +MLINKS+= curs_addstr.3 waddstr.3 +MLINKS+= curs_attr.3 attroff.3 +MLINKS+= curs_attr.3 attron.3 +MLINKS+= curs_attr.3 attrset.3 +MLINKS+= curs_attr.3 standend.3 +MLINKS+= curs_attr.3 standout.3 +MLINKS+= curs_attr.3 wattroff.3 +MLINKS+= curs_attr.3 wattron.3 +MLINKS+= curs_attr.3 wattrset.3 +MLINKS+= curs_attr.3 wstandend.3 +MLINKS+= curs_attr.3 wstandout.3 +MLINKS+= curs_beep.3 beep.3 +MLINKS+= curs_beep.3 flash.3 +MLINKS+= curs_bkgd.3 bkgd.3 +MLINKS+= curs_bkgd.3 bkgdset.3 +MLINKS+= curs_bkgd.3 wbkgd.3 +MLINKS+= curs_bkgd.3 wbkgdset.3 +MLINKS+= curs_border.3 border.3 +MLINKS+= curs_border.3 box.3 +MLINKS+= curs_border.3 hline.3 +MLINKS+= curs_border.3 vline.3 +MLINKS+= curs_border.3 wborder.3 +MLINKS+= curs_border.3 whline.3 +MLINKS+= curs_border.3 wvline.3 +MLINKS+= curs_clear.3 clear.3 +MLINKS+= curs_clear.3 clrtobot.3 +MLINKS+= curs_clear.3 clrtoeol.3 +MLINKS+= curs_clear.3 erase.3 +MLINKS+= curs_clear.3 wclear.3 +MLINKS+= curs_clear.3 wclrtobot.3 +MLINKS+= curs_clear.3 wclrtoeol.3 +MLINKS+= curs_clear.3 werase.3 +MLINKS+= curs_color.3 can_change_color.3 +MLINKS+= curs_color.3 color_content.3 +MLINKS+= curs_color.3 has_colors.3 +MLINKS+= curs_color.3 init_color.3 +MLINKS+= curs_color.3 init_pair.3 +MLINKS+= curs_color.3 pair_content.3 +MLINKS+= curs_color.3 start_color.3 +MLINKS+= curs_delch.3 delch.3 +MLINKS+= curs_delch.3 mvdelch.3 +MLINKS+= curs_delch.3 mvwdelch.3 +MLINKS+= curs_delch.3 wdelch.3 +MLINKS+= curs_move.3 move.3 +MLINKS+= curs_move.3 wmove.3 +MLINKS+= curs_outopts.3 clearok.3 +MLINKS+= curs_outopts.3 idcok.3 +MLINKS+= curs_outopts.3 idlok.3 +MLINKS+= curs_outopts.3 immedok.3 +MLINKS+= curs_outopts.3 leaveok.3 +MLINKS+= curs_outopts.3 nl.3 +MLINKS+= curs_outopts.3 nonl.3 +MLINKS+= curs_outopts.3 scrollok.3 +MLINKS+= curs_outopts.3 setscrreg.3 +MLINKS+= curs_outopts.3 wsetscrreg.3 +MLINKS+= curs_overlay.3 copywin.3 +MLINKS+= curs_overlay.3 overlay.3 +MLINKS+= curs_overlay.3 overwrite.3 +MLINKS+= curs_pad.3 newpad.3 +MLINKS+= curs_pad.3 pechochar.3 +MLINKS+= curs_pad.3 pnoutrefresh.3 +MLINKS+= curs_pad.3 prefresh.3 +MLINKS+= curs_pad.3 subpad.3 +MLINKS+= curs_printw.3 mvprintw.3 +MLINKS+= curs_printw.3 mvwprintw.3 +MLINKS+= curs_printw.3 printw.3 +MLINKS+= curs_printw.3 vwprintw.3 +MLINKS+= curs_printw.3 wprintw.3 +MLINKS+= curs_refresh.3 doupdate.3 +MLINKS+= curs_refresh.3 redrawwin.3 +MLINKS+= curs_refresh.3 refresh.3 +MLINKS+= curs_refresh.3 wnoutrefresh.3 +MLINKS+= curs_refresh.3 wredrawln.3 +MLINKS+= curs_refresh.3 wrefresh.3 +MLINKS+= curs_scanw.3 mvscanw.3 +MLINKS+= curs_scanw.3 mvwscanw.3 +MLINKS+= curs_scanw.3 scanw.3 +MLINKS+= curs_scanw.3 vwscanw.3 +MLINKS+= curs_scanw.3 wscanw.3 +MLINKS+= curs_scroll.3 scrl.3 +MLINKS+= curs_scroll.3 scroll.3 +MLINKS+= curs_scroll.3 wscrl.3 +MLINKS+= curs_slk.3 slk_attroff.3 +MLINKS+= curs_slk.3 slk_attron.3 +MLINKS+= curs_slk.3 slk_attrset.3 +MLINKS+= curs_slk.3 slk_clear.3 +MLINKS+= curs_slk.3 slk_init.3 +MLINKS+= curs_slk.3 slk_label.3 +MLINKS+= curs_slk.3 slk_noutrefresh.3 +MLINKS+= curs_slk.3 slk_refresh.3 +MLINKS+= curs_slk.3 slk_restore.3 +MLINKS+= curs_slk.3 slk_set.3 +MLINKS+= curs_slk.3 slk_touch.3 +MLINKS+= curs_touch.3 is_linetouched.3 +MLINKS+= curs_touch.3 is_wintouched.3 +MLINKS+= curs_touch.3 touchline.3 +MLINKS+= curs_touch.3 touchwin.3 +MLINKS+= curs_touch.3 untouchwin.3 +MLINKS+= curs_touch.3 wtouchln.3 +MLINKS+= curs_util.3 delay_output.3 +MLINKS+= curs_util.3 filter.3 +MLINKS+= curs_util.3 flushinp.3 +MLINKS+= curs_util.3 getwin.3 +MLINKS+= curs_util.3 keyname.3 +MLINKS+= curs_util.3 putwin.3 +MLINKS+= curs_util.3 unctrl.3 +MLINKS+= curs_util.3 use_env.3 +MLINKS+= curs_window.3 delwin.3 +MLINKS+= curs_window.3 derwin.3 +MLINKS+= curs_window.3 dupwin.3 +MLINKS+= curs_window.3 mvderwin.3 +MLINKS+= curs_window.3 mvwin.3 +MLINKS+= curs_window.3 newwin.3 +MLINKS+= curs_window.3 subwin.3 +MLINKS+= curs_window.3 syncok.3 +MLINKS+= curs_window.3 wcursyncup.3 +MLINKS+= curs_window.3 wsyncdown.3 +MLINKS+= curs_window.3 wsyncup.3 +MLINKS+= dbopen.3 db.3 +MLINKS+= devstat.3 buildmatch.3 +MLINKS+= devstat.3 checkversion.3 +MLINKS+= devstat.3 compute_etime.3 +MLINKS+= devstat.3 compute_stats.3 +MLINKS+= devstat.3 getdevs.3 +MLINKS+= devstat.3 getgeneration.3 +MLINKS+= devstat.3 getnumdevs.3 +MLINKS+= devstat.3 getversion.3 +MLINKS+= devstat.3 selectdevs.3 +MLINKS+= dialog.3 dialog_checklist.3 +MLINKS+= dialog.3 dialog_clear.3 +MLINKS+= dialog.3 dialog_clear_norefresh.3 +MLINKS+= dialog.3 dialog_create_rc.3 +MLINKS+= dialog.3 dialog_fselect.3 +MLINKS+= dialog.3 dialog_ftree.3 +MLINKS+= dialog.3 dialog_gauge.3 +MLINKS+= dialog.3 dialog_inputbox.3 +MLINKS+= dialog.3 dialog_menu.3 +MLINKS+= dialog.3 dialog_mesgbox.3 +MLINKS+= dialog.3 dialog_msgbox.3 +MLINKS+= dialog.3 dialog_notify.3 +MLINKS+= dialog.3 dialog_prgbox.3 +MLINKS+= dialog.3 dialog_radiolist.3 +MLINKS+= dialog.3 dialog_textbox.3 +MLINKS+= dialog.3 dialog_tree.3 +MLINKS+= dialog.3 dialog_update.3 +MLINKS+= dialog.3 dialog_yesno.3 +MLINKS+= dialog.3 draw_box.3 +MLINKS+= dialog.3 draw_shadow.3 +MLINKS+= dialog.3 end_dialog.3 +MLINKS+= dialog.3 get_helpline.3 +MLINKS+= dialog.3 init_dialog.3 +MLINKS+= dialog.3 line_edit.3 +MLINKS+= dialog.3 restore_helpline.3 +MLINKS+= dialog.3 strheight.3 +MLINKS+= dialog.3 strwidth.3 +MLINKS+= dialog.3 use_helpfile.3 +MLINKS+= dialog.3 use_helpline.3 +MLINKS+= directory.3 closedir.3 +MLINKS+= directory.3 dirfd.3 +MLINKS+= directory.3 opendir.3 +MLINKS+= directory.3 readdir.3 +MLINKS+= directory.3 rewinddir.3 +MLINKS+= directory.3 seekdir.3 +MLINKS+= directory.3 telldir.3 +MLINKS+= dlopen.3 dlclose.3 +MLINKS+= dlopen.3 dlerror.3 +MLINKS+= dlopen.3 dlsym.3 +MLINKS+= editline.3 el_deletestr.3 +MLINKS+= editline.3 el_end.3 +MLINKS+= editline.3 el_getc.3 +MLINKS+= editline.3 el_gets.3 +MLINKS+= editline.3 el_init.3 +MLINKS+= editline.3 el_insertstr.3 +MLINKS+= editline.3 el_line.3 +MLINKS+= editline.3 el_parse.3 +MLINKS+= editline.3 el_push.3 +MLINKS+= editline.3 el_reset.3 +MLINKS+= editline.3 el_resize.3 +MLINKS+= editline.3 el_set.3 +MLINKS+= editline.3 el_source.3 +MLINKS+= editline.3 history.3 +MLINKS+= editline.3 history_end.3 +MLINKS+= editline.3 history_init.3 +MLINKS+= end.3 edata.3 +MLINKS+= end.3 etext.3 +MLINKS+= erf.3 erfc.3 +MLINKS+= erf.3 erfcf.3 +MLINKS+= erf.3 erff.3 +MLINKS+= err.3 err_set_exit.3 +MLINKS+= err.3 err_set_file.3 +MLINKS+= err.3 errx.3 +MLINKS+= err.3 verr.3 +MLINKS+= err.3 verrx.3 +MLINKS+= err.3 vwarn.3 +MLINKS+= err.3 vwarnx.3 +MLINKS+= err.3 warn.3 +MLINKS+= err.3 warnx.3 +MLINKS+= ethers.3 ether_aton.3 +MLINKS+= ethers.3 ether_hostton.3 +MLINKS+= ethers.3 ether_line.3 +MLINKS+= ethers.3 ether_ntoa.3 +MLINKS+= ethers.3 ether_ntohost.3 +MLINKS+= exec.3 execl.3 +MLINKS+= exec.3 execle.3 +MLINKS+= exec.3 execlp.3 +MLINKS+= exec.3 exect.3 +MLINKS+= exec.3 execv.3 +MLINKS+= exec.3 execvp.3 +MLINKS+= exp.3 exp10.3 +MLINKS+= exp.3 exp10f.3 +MLINKS+= exp.3 exp2.3 +MLINKS+= exp.3 exp2f.3 +MLINKS+= exp.3 expf.3 +MLINKS+= exp.3 expm1.3 +MLINKS+= exp.3 expm1f.3 +MLINKS+= exp.3 log.3 +MLINKS+= exp.3 log10.3 +MLINKS+= exp.3 log10f.3 +MLINKS+= exp.3 log1p.3 +MLINKS+= exp.3 log1pf.3 +MLINKS+= exp.3 log2.3 +MLINKS+= exp.3 log2f.3 +MLINKS+= exp.3 logf.3 +MLINKS+= exp.3 pow.3 +MLINKS+= exp.3 powf.3 +MLINKS+= fabs.3 fabsf.3 +MLINKS+= ferror.3 clearerr.3 +MLINKS+= ferror.3 feof.3 +MLINKS+= ferror.3 fileno.3 +MLINKS+= fflush.3 fpurge.3 +MLINKS+= fgets.3 gets.3 +MLINKS+= floor.3 floorf.3 +MLINKS+= fmod.3 fmodf.3 +MLINKS+= fopen.3 fdopen.3 +MLINKS+= fopen.3 freopen.3 +MLINKS+= fpgetround.3 fpgetmask.3 +MLINKS+= fpgetround.3 fpgetprec.3 +MLINKS+= fpgetround.3 fpgetsticky.3 +MLINKS+= fpgetround.3 fpresetsticky.3 +MLINKS+= fpgetround.3 fpsetmask.3 +MLINKS+= fpgetround.3 fpsetprec.3 +MLINKS+= fpgetround.3 fpsetround.3 +MLINKS+= fpgetround.3 fpsetsticky.3 +MLINKS+= fputs.3 puts.3 +MLINKS+= fread.3 fwrite.3 +MLINKS+= fseek.3 fgetpos.3 +MLINKS+= fseek.3 fsetpos.3 +MLINKS+= fseek.3 ftell.3 +MLINKS+= fseek.3 rewind.3 +MLINKS+= fts.3 fts_children.3 +MLINKS+= fts.3 fts_close.3 +MLINKS+= fts.3 fts_open.3 +MLINKS+= fts.3 fts_read.3 +MLINKS+= fts.3 fts_set.3 +MLINKS+= funopen.3 fropen.3 +MLINKS+= funopen.3 fwopen.3 +MLINKS+= getc.3 fgetc.3 +MLINKS+= getc.3 getchar.3 +MLINKS+= getc.3 getw.3 +MLINKS+= getcap.3 cgetcap.3 +MLINKS+= getcap.3 cgetclose.3 +MLINKS+= getcap.3 cgetent.3 +MLINKS+= getcap.3 cgetfirst.3 +MLINKS+= getcap.3 cgetmatch.3 +MLINKS+= getcap.3 cgetnext.3 +MLINKS+= getcap.3 cgetnum.3 +MLINKS+= getcap.3 cgetset.3 +MLINKS+= getcap.3 cgetstr.3 +MLINKS+= getcap.3 cgetustr.3 +MLINKS+= getcwd.3 getwd.3 +MLINKS+= getdomainname.3 setdomainname.3 +MLINKS+= getenv.3 putenv.3 +MLINKS+= getenv.3 setenv.3 +MLINKS+= getenv.3 unsetenv.3 +MLINKS+= getfsent.3 endfsent.3 +MLINKS+= getfsent.3 getfsfile.3 +MLINKS+= getfsent.3 getfsspec.3 +MLINKS+= getfsent.3 getfstype.3 +MLINKS+= getfsent.3 setfsent.3 +MLINKS+= getgrent.3 endgrent.3 +MLINKS+= getgrent.3 getgrgid.3 +MLINKS+= getgrent.3 getgrnam.3 +MLINKS+= getgrent.3 setgrent.3 +MLINKS+= getgrent.3 setgroupent.3 +MLINKS+= gethostbyname.3 endhostent.3 +MLINKS+= gethostbyname.3 gethostbyaddr.3 +MLINKS+= gethostbyname.3 gethostbyname2.3 +MLINKS+= gethostbyname.3 gethostent.3 +MLINKS+= gethostbyname.3 herror.3 +MLINKS+= gethostbyname.3 hstrerror.3 +MLINKS+= gethostbyname.3 sethostent.3 +MLINKS+= gethostid.3 sethostid.3 +MLINKS+= gethostname.3 sethostname.3 +MLINKS+= getnetent.3 endnetent.3 +MLINKS+= getnetent.3 getnetbyaddr.3 +MLINKS+= getnetent.3 getnetbyname.3 +MLINKS+= getnetent.3 setnetent.3 +MLINKS+= getnetgrent.3 endnetgrent.3 +MLINKS+= getnetgrent.3 innetgr.3 +MLINKS+= getnetgrent.3 setnetgrent.3 +MLINKS+= getprotoent.3 endprotoent.3 +MLINKS+= getprotoent.3 getprotobyname.3 +MLINKS+= getprotoent.3 getprotobynumber.3 +MLINKS+= getprotoent.3 setprotoent.3 +MLINKS+= getpwent.3 endpwent.3 +MLINKS+= getpwent.3 getpwnam.3 +MLINKS+= getpwent.3 getpwuid.3 +MLINKS+= getpwent.3 setpassent.3 +MLINKS+= getpwent.3 setpwent.3 +MLINKS+= getpwent.3 setpwfile.3 +MLINKS+= getrpcent.3 endrpcent.3 +MLINKS+= getrpcent.3 getrpcbyname.3 +MLINKS+= getrpcent.3 getrpcbynumber.3 +MLINKS+= getrpcent.3 setrpcent.3 +MLINKS+= getservent.3 endservent.3 +MLINKS+= getservent.3 getservbyname.3 +MLINKS+= getservent.3 getservbyport.3 +MLINKS+= getservent.3 setservent.3 +MLINKS+= getttyent.3 endttyent.3 +MLINKS+= getttyent.3 getttynam.3 +MLINKS+= getttyent.3 isdialuptty.3 +MLINKS+= getttyent.3 isnettty.3 +MLINKS+= getttyent.3 setttyent.3 +MLINKS+= getusershell.3 endusershell.3 +MLINKS+= getusershell.3 setusershell.3 +MLINKS+= getvfsent.3 endvfsent.3 +MLINKS+= getvfsent.3 getvfsbytype.3 +MLINKS+= getvfsent.3 setvfsent.3 +MLINKS+= getvfsent.3 vfsisloadable.3 +MLINKS+= getvfsent.3 vfsload.3 +MLINKS+= glob.3 globfree.3 +MLINKS+= hypot.3 cabs.3 +MLINKS+= hypot.3 cabsf.3 +MLINKS+= hypot.3 hypotf.3 +MLINKS+= ieee.3 copysign.3 +MLINKS+= ieee.3 copysignf.3 +MLINKS+= ieee.3 finite.3 +MLINKS+= ieee.3 finitef.3 +MLINKS+= ieee.3 ilogb.3 +MLINKS+= ieee.3 ilogbf.3 +MLINKS+= ieee.3 nextafter.3 +MLINKS+= ieee.3 nextafterf.3 +MLINKS+= ieee.3 remainder.3 +MLINKS+= ieee.3 remainderf.3 +MLINKS+= ieee.3 scalbn.3 +MLINKS+= ieee.3 scalbnf.3 +MLINKS+= ieee_test.3 logb.3 +MLINKS+= ieee_test.3 logbf.3 +MLINKS+= ieee_test.3 scalb.3 +MLINKS+= ieee_test.3 scalbf.3 +MLINKS+= ieee_test.3 significand.3 +MLINKS+= ieee_test.3 significandf.3 +MLINKS+= inet.3 addr.3 +MLINKS+= inet.3 inet_addr.3 +MLINKS+= inet.3 inet_aton.3 +MLINKS+= inet.3 inet_lnaof.3 +MLINKS+= inet.3 inet_makeaddr.3 +MLINKS+= inet.3 inet_netof.3 +MLINKS+= inet.3 inet_network.3 +MLINKS+= inet.3 inet_ntoa.3 +MLINKS+= inet.3 network.3 +MLINKS+= inet.3 ntoa.3 +MLINKS+= insque.3 remque.3 +MLINKS+= ipx.3 ipx_addr.3 +MLINKS+= ipx.3 ipx_ntoa.3 +MLINKS+= isinf.3 isnan.3 +MLINKS+= j0.3 j0f.3 +MLINKS+= j0.3 j1.3 +MLINKS+= j0.3 j1f.3 +MLINKS+= j0.3 jn.3 +MLINKS+= j0.3 jnf.3 +MLINKS+= j0.3 y0.3 +MLINKS+= j0.3 y0f.3 +MLINKS+= j0.3 y1.3 +MLINKS+= j0.3 y1f.3 +MLINKS+= j0.3 yn.3 +MLINKS+= j0.3 ynf.3 +MLINKS+= keycap.3 kgetent.3 +MLINKS+= keycap.3 kgetflag.3 +MLINKS+= keycap.3 kgetnum.3 +MLINKS+= keycap.3 kgetstr.3 +MLINKS+= kvm_getprocs.3 kvm_getargv.3 +MLINKS+= kvm_getprocs.3 kvm_getenvv.3 +MLINKS+= kvm_open.3 kvm_close.3 +MLINKS+= kvm_open.3 kvm_openfiles.3 +MLINKS+= kvm_read.3 kvm_write.3 +MLINKS+= lgamma.3 gamma.3 +MLINKS+= lgamma.3 gammaf.3 +MLINKS+= lgamma.3 lgammaf.3 +MLINKS+= libdisk.3 All_FreeBSD.3 +MLINKS+= libdisk.3 CheckRules.3 +MLINKS+= libdisk.3 ChunkCanBeRoot.3 +MLINKS+= libdisk.3 Clone_Disk.3 +MLINKS+= libdisk.3 Collapse_Chunk.3 +MLINKS+= libdisk.3 Collapse_Disk.3 +MLINKS+= libdisk.3 Create_Chunk.3 +MLINKS+= libdisk.3 Create_Chunk_DWIM.3 +MLINKS+= libdisk.3 Cyl_Aligned.3 +MLINKS+= libdisk.3 Debug_Disk.3 +MLINKS+= libdisk.3 Delete_Chunk.3 +MLINKS+= libdisk.3 Disk_Names.3 +MLINKS+= libdisk.3 Free_Disk.3 +MLINKS+= libdisk.3 MakeDev.3 +MLINKS+= libdisk.3 MakeDevDisk.3 +MLINKS+= libdisk.3 Next_Cyl_Aligned.3 +MLINKS+= libdisk.3 Next_Track_Aligned.3 +MLINKS+= libdisk.3 Open_Disk.3 +MLINKS+= libdisk.3 Prev_Cyl_Aligned.3 +MLINKS+= libdisk.3 Prev_Track_Aligned.3 +MLINKS+= libdisk.3 Set_Bios_Geom.3 +MLINKS+= libdisk.3 Set_Boot_Blocks.3 +MLINKS+= libdisk.3 Set_Boot_Mgr.3 +MLINKS+= libdisk.3 ShowChunkFlags.3 +MLINKS+= libdisk.3 Track_Aligned.3 +MLINKS+= libdisk.3 Write_Disk.3 +MLINKS+= libdisk.3 slice_type_name.3 +MLINKS+= link_addr.3 link_ntoa.3 +MLINKS+= link_addr.3 linkaddr.3 +MLINKS+= login_cap.3 login_close.3 +MLINKS+= login_cap.3 login_getcapbool.3 +MLINKS+= login_cap.3 login_getcaplist.3 +MLINKS+= login_cap.3 login_getcapnum.3 +MLINKS+= login_cap.3 login_getcapsize.3 +MLINKS+= login_cap.3 login_getcapstr.3 +MLINKS+= login_cap.3 login_getcaptime.3 +MLINKS+= login_cap.3 login_getclass.3 +MLINKS+= login_cap.3 login_getclassbyname.3 +MLINKS+= login_cap.3 login_getpath.3 +MLINKS+= login_cap.3 login_getstyle.3 +MLINKS+= login_cap.3 login_getuserclass.3 +MLINKS+= login_class.3 setclasscontext.3 +MLINKS+= login_class.3 setclassenvironment.3 +MLINKS+= login_class.3 setclassresources.3 +MLINKS+= login_class.3 setusercontext.3 +MLINKS+= login_ok.3 auth_hostok.3 +MLINKS+= login_ok.3 auth_timeok.3 +MLINKS+= login_ok.3 auth_ttyok.3 +MLINKS+= login_times.3 in_lt.3 +MLINKS+= login_times.3 in_ltm.3 +MLINKS+= login_times.3 in_ltms.3 +MLINKS+= login_times.3 in_lts.3 +MLINKS+= login_times.3 parse_lt.3 +MLINKS+= lsearch.3 lfind.3 +MLINKS+= malloc.3 calloc.3 +MLINKS+= malloc.3 free.3 +MLINKS+= malloc.3 realloc.3 +MLINKS+= malloc.3 reallocf.3 +MLINKS+= mbrune.3 mbmb.3 +MLINKS+= mbrune.3 mbrrune.3 +MLINKS+= md2.3 MD2Data.3 +MLINKS+= md2.3 MD2End.3 +MLINKS+= md2.3 MD2File.3 +MLINKS+= md2.3 MD2Final.3 +MLINKS+= md2.3 MD2Init.3 +MLINKS+= md2.3 MD2Update.3 +MLINKS+= md4.3 MD4Data.3 +MLINKS+= md4.3 MD4End.3 +MLINKS+= md4.3 MD4File.3 +MLINKS+= md4.3 MD4Final.3 +MLINKS+= md4.3 MD4Init.3 +MLINKS+= md4.3 MD4Update.3 +MLINKS+= md5.3 MD5Data.3 +MLINKS+= md5.3 MD5End.3 +MLINKS+= md5.3 MD5File.3 +MLINKS+= md5.3 MD5Final.3 +MLINKS+= md5.3 MD5Init.3 +MLINKS+= md5.3 MD5Update.3 +MLINKS+= mktemp.3 mkdtemp.3 +MLINKS+= mktemp.3 mkstemp.3 +MLINKS+= moncontrol.3 monstartup.3 +MLINKS+= multibyte.3 mblen.3 +MLINKS+= multibyte.3 mbstowcs.3 +MLINKS+= multibyte.3 mbtowc.3 +MLINKS+= multibyte.3 wcstombs.3 +MLINKS+= multibyte.3 wctomb.3 +MLINKS+= pam_open_session.3 pam_close_session.3 +MLINKS+= pam_start.3 pam_end.3 +MLINKS+= popen.3 pclose.3 +MLINKS+= printf.3 asprintf.3 +MLINKS+= printf.3 fprintf.3 +MLINKS+= printf.3 snprintf.3 +MLINKS+= printf.3 sprintf.3 +MLINKS+= printf.3 vasprintf.3 +MLINKS+= printf.3 vfprintf.3 +MLINKS+= printf.3 vprintf.3 +MLINKS+= printf.3 vsnprintf.3 +MLINKS+= printf.3 vsprintf.3 +MLINKS+= property.3 properties_free.3 +MLINKS+= property.3 properties_read.3 +MLINKS+= property.3 property_find.3 +MLINKS+= psignal.3 sys_siglist.3 +MLINKS+= psignal.3 sys_signame.3 +MLINKS+= pty.3 forkpty.3 +MLINKS+= pty.3 openpty.3 +MLINKS+= putc.3 fputc.3 +MLINKS+= putc.3 putchar.3 +MLINKS+= putc.3 putw.3 +MLINKS+= pwcache.3 group_from_gid.3 +MLINKS+= pwcache.3 user_from_uid.3 +MLINKS+= qsort.3 heapsort.3 +MLINKS+= qsort.3 mergesort.3 +MLINKS+= queue.3 CIRCLEQ_ENTRY.3 +MLINKS+= queue.3 CIRCLEQ_HEAD.3 +MLINKS+= queue.3 CIRCLEQ_INIT.3 +MLINKS+= queue.3 CIRCLEQ_INSERT_AFTER.3 +MLINKS+= queue.3 CIRCLEQ_INSERT_BEFORE.3 +MLINKS+= queue.3 CIRCLEQ_INSERT_HEAD.3 +MLINKS+= queue.3 CIRCLEQ_INSERT_TAIL.3 +MLINKS+= queue.3 CIRCLEQ_REMOVE.3 +MLINKS+= queue.3 LIST_ENTRY.3 +MLINKS+= queue.3 LIST_HEAD.3 +MLINKS+= queue.3 LIST_INIT.3 +MLINKS+= queue.3 LIST_INSERT_AFTER.3 +MLINKS+= queue.3 LIST_INSERT_BEFORE.3 +MLINKS+= queue.3 LIST_INSERT_HEAD.3 +MLINKS+= queue.3 LIST_REMOVE.3 +MLINKS+= queue.3 SLIST_ENTRY.3 +MLINKS+= queue.3 SLIST_HEAD.3 +MLINKS+= queue.3 SLIST_INIT.3 +MLINKS+= queue.3 SLIST_INSERT_AFTER.3 +MLINKS+= queue.3 SLIST_INSERT_HEAD.3 +MLINKS+= queue.3 SLIST_REMOVE.3 +MLINKS+= queue.3 SLIST_REMOVE_HEAD.3 +MLINKS+= queue.3 STAILQ_ENTRY.3 +MLINKS+= queue.3 STAILQ_HEAD.3 +MLINKS+= queue.3 STAILQ_INIT.3 +MLINKS+= queue.3 STAILQ_INSERT_AFTER.3 +MLINKS+= queue.3 STAILQ_INSERT_HEAD.3 +MLINKS+= queue.3 STAILQ_INSERT_TAIL.3 +MLINKS+= queue.3 STAILQ_REMOVE.3 +MLINKS+= queue.3 STAILQ_REMOVE_HEAD.3 +MLINKS+= queue.3 TAILQ_EMPTY.3 +MLINKS+= queue.3 TAILQ_ENTRY.3 +MLINKS+= queue.3 TAILQ_FIRST.3 +MLINKS+= queue.3 TAILQ_HEAD.3 +MLINKS+= queue.3 TAILQ_INIT.3 +MLINKS+= queue.3 TAILQ_INSERT_AFTER.3 +MLINKS+= queue.3 TAILQ_INSERT_BEFORE.3 +MLINKS+= queue.3 TAILQ_INSERT_HEAD.3 +MLINKS+= queue.3 TAILQ_INSERT_TAIL.3 +MLINKS+= queue.3 TAILQ_LAST.3 +MLINKS+= queue.3 TAILQ_NEXT.3 +MLINKS+= queue.3 TAILQ_REMOVE.3 +MLINKS+= rand.3 srand.3 +MLINKS+= rand48.3 _rand48.3 +MLINKS+= rand48.3 drand48.3 +MLINKS+= rand48.3 erand48.3 +MLINKS+= rand48.3 jrand48.3 +MLINKS+= rand48.3 lcong48.3 +MLINKS+= rand48.3 lrand48.3 +MLINKS+= rand48.3 mrand48.3 +MLINKS+= rand48.3 nrand48.3 +MLINKS+= rand48.3 seed48.3 +MLINKS+= rand48.3 srand48.3 +MLINKS+= random.3 initstate.3 +MLINKS+= random.3 setstate.3 +MLINKS+= random.3 srandom.3 +MLINKS+= random.3 srandomdev.3 +MLINKS+= rcmd.3 iruserok.3 +MLINKS+= rcmd.3 rresvport.3 +MLINKS+= rcmd.3 ruserok.3 +MLINKS+= re_comp.3 re_exec.3 +MLINKS+= regex.3 regcomp.3 +MLINKS+= regex.3 regerror.3 +MLINKS+= regex.3 regexec.3 +MLINKS+= regex.3 regfree.3 +MLINKS+= regexp.3 regsub.3 +MLINKS+= resolver.3 dn_comp.3 +MLINKS+= resolver.3 dn_expand.3 +MLINKS+= resolver.3 res_init.3 +MLINKS+= resolver.3 res_mkquery.3 +MLINKS+= resolver.3 res_query.3 +MLINKS+= resolver.3 res_search.3 +MLINKS+= resolver.3 res_send.3 +MLINKS+= rint.3 rintf.3 +MLINKS+= rpc.3 auth_destroy.3 +MLINKS+= rpc.3 authnone_create.3 +MLINKS+= rpc.3 authunix_create.3 +MLINKS+= rpc.3 authunix_create_default.3 +MLINKS+= rpc.3 callrpc.3 +MLINKS+= rpc.3 clnt_broadcast.3 +MLINKS+= rpc.3 clnt_call.3 +MLINKS+= rpc.3 clnt_control.3 +MLINKS+= rpc.3 clnt_create.3 +MLINKS+= rpc.3 clnt_destroy.3 +MLINKS+= rpc.3 clnt_freeres.3 +MLINKS+= rpc.3 clnt_geterr.3 +MLINKS+= rpc.3 clnt_pcreateerror.3 +MLINKS+= rpc.3 clnt_perrno.3 +MLINKS+= rpc.3 clnt_perror.3 +MLINKS+= rpc.3 clnt_spcreateerror.3 +MLINKS+= rpc.3 clnt_sperrno.3 +MLINKS+= rpc.3 clnt_sperror.3 +MLINKS+= rpc.3 clntraw_create.3 +MLINKS+= rpc.3 clnttcp_create.3 +MLINKS+= rpc.3 clntudp_bufcreate.3 +MLINKS+= rpc.3 clntudp_create.3 +MLINKS+= rpc.3 get_myaddress.3 +MLINKS+= rpc.3 pmap_getmaps.3 +MLINKS+= rpc.3 pmap_getport.3 +MLINKS+= rpc.3 pmap_rmtcall.3 +MLINKS+= rpc.3 pmap_set.3 +MLINKS+= rpc.3 pmap_unset.3 +MLINKS+= rpc.3 regsterrpc.3 +MLINKS+= rpc.3 rpc_createerr.3 +MLINKS+= rpc.3 svc_destroy.3 +MLINKS+= rpc.3 svc_fds.3 +MLINKS+= rpc.3 svc_fdset.3 +MLINKS+= rpc.3 svc_getargs.3 +MLINKS+= rpc.3 svc_getcaller.3 +MLINKS+= rpc.3 svc_getreg.3 +MLINKS+= rpc.3 svc_getregset.3 +MLINKS+= rpc.3 svc_register.3 +MLINKS+= rpc.3 svc_run.3 +MLINKS+= rpc.3 svc_sendreply.3 +MLINKS+= rpc.3 svc_unregister.3 +MLINKS+= rpc.3 svcerr_auth.3 +MLINKS+= rpc.3 svcerr_decode.3 +MLINKS+= rpc.3 svcerr_noproc.3 +MLINKS+= rpc.3 svcerr_noprog.3 +MLINKS+= rpc.3 svcerr_progvers.3 +MLINKS+= rpc.3 svcerr_systemerr.3 +MLINKS+= rpc.3 svcerr_weakauth.3 +MLINKS+= rpc.3 svcfd_create.3 +MLINKS+= rpc.3 svcraw_create.3 +MLINKS+= rpc.3 svctcp_create.3 +MLINKS+= rpc.3 svcudp_bufcreate.3 +MLINKS+= rpc.3 xdr_accepted_reply.3 +MLINKS+= rpc.3 xdr_authunix_parms.3 +MLINKS+= rpc.3 xdr_callhdr.3 +MLINKS+= rpc.3 xdr_callmsg.3 +MLINKS+= rpc.3 xdr_opaque_auth.3 +MLINKS+= rpc.3 xdr_pmap.3 +MLINKS+= rpc.3 xdr_pmaplist.3 +MLINKS+= rpc.3 xdr_rejected_reply.3 +MLINKS+= rpc.3 xdr_replymsg.3 +MLINKS+= rpc.3 xprt_register.3 +MLINKS+= rpc.3 xprt_unregister.3 +MLINKS+= rune.3 fgetrune.3 +MLINKS+= rune.3 fputrune.3 +MLINKS+= rune.3 fungetrune.3 +MLINKS+= rune.3 setinvalidrune.3 +MLINKS+= rune.3 setrunelocale.3 +MLINKS+= rune.3 sgetrune.3 +MLINKS+= rune.3 sputrune.3 +MLINKS+= scandir.3 alphasort.3 +MLINKS+= scanf.3 fscanf.3 +MLINKS+= scanf.3 sscanf.3 +MLINKS+= scanf.3 vfscanf.3 +MLINKS+= scanf.3 vscanf.3 +MLINKS+= scanf.3 vsscanf.3 +MLINKS+= setbuf.3 setbuffer.3 +MLINKS+= setbuf.3 setlinebuf.3 +MLINKS+= setbuf.3 setvbuf.3 +MLINKS+= setjmp.3 _longjmp.3 +MLINKS+= setjmp.3 _setjmp.3 +MLINKS+= setjmp.3 longjmp.3 +MLINKS+= setjmp.3 longjmperr.3 +MLINKS+= setjmp.3 longjmperror.3 +MLINKS+= setjmp.3 siglongjmp.3 +MLINKS+= setjmp.3 sigsetjmp.3 +MLINKS+= setlocale.3 localeconv.3 +MLINKS+= setmode.3 getmode.3 +MLINKS+= setruid.3 setrgid.3 +MLINKS+= sigsetops.3 sigaddset.3 +MLINKS+= sigsetops.3 sigdelset.3 +MLINKS+= sigsetops.3 sigemptyset.3 +MLINKS+= sigsetops.3 sigfillset.3 +MLINKS+= sigsetops.3 sigismember.3 +MLINKS+= sin.3 sinf.3 +MLINKS+= sinh.3 sinhf.3 +MLINKS+= skey.3 skey_crypt.3 +MLINKS+= skey.3 skey_getpass.3 +MLINKS+= skey.3 skeyaccess.3 +MLINKS+= skey.3 skeychallenge.3 +MLINKS+= skey.3 skeyinfo.3 +MLINKS+= skey.3 skeylookup.3 +MLINKS+= skey.3 skeyverify.3 +MLINKS+= sqrt.3 cbrt.3 +MLINKS+= sqrt.3 cbrtf.3 +MLINKS+= sqrt.3 sqrtf.3 +MLINKS+= stdarg.3 va_arg.3 +MLINKS+= stdarg.3 va_end.3 +MLINKS+= stdarg.3 va_start.3 +MLINKS+= stdarg.3 varargs.3 +MLINKS+= strcasecmp.3 strncasecmp.3 +MLINKS+= strcat.3 strncat.3 +MLINKS+= strcmp.3 strncmp.3 +MLINKS+= strcpy.3 strncpy.3 +MLINKS+= strerror.3 perror.3 +MLINKS+= strerror.3 sys_errlist.3 +MLINKS+= strerror.3 sys_nerr.3 +MLINKS+= strtok.3 strtok_r.3 +MLINKS+= strtol.3 strtoq.3 +MLINKS+= strtoul.3 strtouq.3 +MLINKS+= stty.3 gtty.3 +MLINKS+= sysctl.3 sysctlbyname.3 +MLINKS+= syslog.3 closelog.3 +MLINKS+= syslog.3 openlog.3 +MLINKS+= syslog.3 setlogmask.3 +MLINKS+= syslog.3 vsyslog.3 +MLINKS+= tan.3 tanf.3 +MLINKS+= tanh.3 tanhf.3 +MLINKS+= tcsendbreak.3 tcdrain.3 +MLINKS+= tcsendbreak.3 tcflow.3 +MLINKS+= tcsendbreak.3 tcflush.3 +MLINKS+= tcsetattr.3 cfgetispeed.3 +MLINKS+= tcsetattr.3 cfgetospeed.3 +MLINKS+= tcsetattr.3 cfmakeraw.3 +MLINKS+= tcsetattr.3 cfsetispeed.3 +MLINKS+= tcsetattr.3 cfsetospeed.3 +MLINKS+= tcsetattr.3 cfsetspeed.3 +MLINKS+= tcsetattr.3 tcgetattr.3 +MLINKS+= termcap.3 __set_ospeed.3 +MLINKS+= termcap.3 tgetent.3 +MLINKS+= termcap.3 tgetflag.3 +MLINKS+= termcap.3 tgetnum.3 +MLINKS+= termcap.3 tgetstr.3 +MLINKS+= termcap.3 tgoto.3 +MLINKS+= termcap.3 tparm.3 +MLINKS+= termcap.3 tputs.3 +MLINKS+= time2posix.3 posix2time.3 +MLINKS+= tmpfile.3 tempnam.3 +MLINKS+= tmpfile.3 tmpnam.3 +MLINKS+= ttyname.3 isatty.3 +MLINKS+= ttyname.3 ttyslot.3 +MLINKS+= tzset.3 tzsetwall.3 +MLINKS+= unvis.3 strunvis.3 +MLINKS+= uucplock.3 uu_lock.3 +MLINKS+= uucplock.3 uu_lock_txfr.3 +MLINKS+= uucplock.3 uu_lockerr.3 +MLINKS+= uucplock.3 uu_unlock.3 +MLINKS+= vis.3 strvis.3 +MLINKS+= vis.3 strvisx.3 +MLINKS+= xdr.3 xdr_array.3 +MLINKS+= xdr.3 xdr_bool.3 +MLINKS+= xdr.3 xdr_bytes.3 +MLINKS+= xdr.3 xdr_char.3 +MLINKS+= xdr.3 xdr_destroy.3 +MLINKS+= xdr.3 xdr_double.3 +MLINKS+= xdr.3 xdr_enum.3 +MLINKS+= xdr.3 xdr_float.3 +MLINKS+= xdr.3 xdr_free.3 +MLINKS+= xdr.3 xdr_getpos.3 +MLINKS+= xdr.3 xdr_inline.3 +MLINKS+= xdr.3 xdr_int.3 +MLINKS+= xdr.3 xdr_long.3 +MLINKS+= xdr.3 xdr_opaque.3 +MLINKS+= xdr.3 xdr_pointer.3 +MLINKS+= xdr.3 xdr_reference.3 +MLINKS+= xdr.3 xdr_setpos.3 +MLINKS+= xdr.3 xdr_short.3 +MLINKS+= xdr.3 xdr_string.3 +MLINKS+= xdr.3 xdr_u_char.3 +MLINKS+= xdr.3 xdr_u_long.3 +MLINKS+= xdr.3 xdr_u_short.3 +MLINKS+= xdr.3 xdr_union.3 +MLINKS+= xdr.3 xdr_vector.3 +MLINKS+= xdr.3 xdr_void.3 +MLINKS+= xdr.3 xdr_wrapstring.3 +MLINKS+= xdr.3 xdrmem_create.3 +MLINKS+= xdr.3 xdrrec_create.3 +MLINKS+= xdr.3 xdrrec_endofrecord.3 +MLINKS+= xdr.3 xdrrec_eof.3 +MLINKS+= xdr.3 xdrrec_skiprecord.3 +MLINKS+= xdr.3 xdrstdio_create.3 + +.include "bsd.prog.mk" diff --git a/ja_JP.eucJP/man/man3/_secure_path.3 b/ja_JP.eucJP/man/man3/_secure_path.3 new file mode 100644 index 0000000000..a1b33d0f19 --- /dev/null +++ b/ja_JP.eucJP/man/man3/_secure_path.3 @@ -0,0 +1,76 @@ +.\" Copyright (c) 1997 David Nugent +.\" All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, is permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice immediately at the beginning of the file, without modification, +.\" 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. This work was done expressly for inclusion into FreeBSD. Other use +.\" is permitted provided this notation is included. +.\" 4. Absolutely no warranty of function or purpose is made by the author +.\" David Nugent. +.\" 5. Modifications may be freely made to this file providing the above +.\" conditions are met. +.\" +.\" $Id: _secure_path.3,v 1.1.1.1 1999-12-09 16:25:52 kuriyama Exp $ +.\" +.Dd May 2, 1997 +.Os FreeBSD +.Dt _SECURE_PATH 3 +.Sh 名称 +.Nm _secure_path +.Nd ファイルが安全であるように見えるかどうかを判定する +.Sh 書式 +.Fd #include +.Fd #include +.Ft int +.Fn _secure_path "const char *path" "uid_t uid" "gid_t gid" +.Pp +.Sh 解説 +この関数は、指定のパスについて基本的なセキュリティチェックを行います。 +これはルート特権で実行中のプロセスが使用することを意図しています。指定の +ファイルの内容を信頼するかどうかを判定するためです。この関数は、システムの +危うさを検出するために使用される方法を使うことがよくあります。ファイルは、 +次の条件を満たす場合に安全であると考えられます。 +.Bl -enum +.It +ファイルが存在し、それが通常のファイルである (シンボリックリンク、 +ファイル、デバイスに固有のファイル、または名前付きのパイプファイル +でない)。 +.It +ワールド書き込み可能でない。 +.It +uid が -1 でない場合は、指定の uid またはユーザ 0 によって +所有されている。 +.It +グループ書き込みでない、または +gid が -1 でない場合は指定の +gid によるグループ所有権がある。 +.El +.Sh 戻り値 +この関数は、ファイルが存在し、安全であると考えられる場合 0 を返します。 +ファイルが存在しない場合は -2 を返します。その他、セキュリティ障害を示す +場合は -1 を返します。 +.Xr syslog 3 +が、この関数の処理失敗をログ記入するのに +使用されます。これには、理由 +LOG_ERR +優先順位が含まれます。 +.Pp +.Sh バグ +実行されるチェックは基本的なものであり、この関数の使用と参照ファイルへの +アクセスの間の競争状況を除去しようとする試みは行われません。 +.Pp +.Sh 関連項目 +.Xr lstat 3 , +.Xr syslog 3 +.Pp +.Sh 歴史 +この関数の由来であるコードは、Berkeley Software Design,Inc. によって +FreeBSD プロジェクトに寄与されたものです。 +.\"X kuma diff --git a/ja_JP.eucJP/man/man3/abort.3 b/ja_JP.eucJP/man/man3/abort.3 new file mode 100644 index 0000000000..dd68046b99 --- /dev/null +++ b/ja_JP.eucJP/man/man3/abort.3 @@ -0,0 +1,69 @@ +.\" Copyright (c) 1990, 1991, 1993 +.\" 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. +.\" +.\" @(#)abort.3 8.1 (Berkeley) 6/4/93 +.\" +.Dd June 4, 1993 +.Dt ABORT 3 +.Os +.Sh 名称 +.Nm abort +.Nd プログラムを異常終了させる +.Sh 書式 +.Fd #include +.Ft void +.Fn abort void +.Sh 解説 +.Fn abort +関数は、プログラムを異常終了させます。ただし、信号 +.Dv SIGABRT +が +捕捉され、信号ハンドラが戻らない場合は別です。開いているストリームは +フラッシュされ閉じられます。 +.Pp +.Sh 戻り値 +.Fn abort +関数が戻ることはありません。 +.Pp +.Sh 関連項目 +.Xr sigaction 2 , +.Xr exit 3 +.Pp +.Sh 規格 +.Fn abort +関数は +.St -p1003.1-90 +に準拠しています。 +.\"X kuma diff --git a/ja_JP.eucJP/man/man3/abs.3 b/ja_JP.eucJP/man/man3/abs.3 new file mode 100644 index 0000000000..92bec1493f --- /dev/null +++ b/ja_JP.eucJP/man/man3/abs.3 @@ -0,0 +1,74 @@ +.\" Copyright (c) 1990, 1991, 1993 +.\" 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. +.\" +.\" @(#)abs.3 8.1 (Berkeley) 6/4/93 +.\" $Id: abs.3,v 1.1.1.1 1999-12-09 16:26:08 kuriyama Exp $ +.\" +.Dd June 4, 1993 +.Dt ABS 3 +.Os +.Sh 名称 +.Nm abs +.Nd 整数絶対値関数 +.Sh 書式 +.Fd #include +.Ft int +.Fn abs "int j" +.Sh 解説 +.Fn abs +関数は整数 +.Ar j +の絶対値を計算します。 +.Pp +.Sh 戻り値 +.Fn abs +関数は絶対値を返します。 +.Pp +.Sh 関連項目 +.Xr cabs 3 , +.Xr floor 3 , +.Xr hypot 3 , +.Xr labs 3 , +.Xr math 3 +.Pp +.Sh 規格 +.Fn abs +関数は +.St -ansiC +に準拠しています。 +.Pp +.Sh バグ +最も大きい負の値の絶対値は負のままです。 +.\"X kuma diff --git a/ja_JP.eucJP/man/man3/acos.3 b/ja_JP.eucJP/man/man3/acos.3 new file mode 100644 index 0000000000..2dc4bb6d77 --- /dev/null +++ b/ja_JP.eucJP/man/man3/acos.3 @@ -0,0 +1,103 @@ +.\" 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. +.\" +.\" from: @(#)acos.3 5.1 (Berkeley) 5/2/91 +.\" $Id: acos.3,v 1.1.1.1 1999-12-09 16:26:08 kuriyama Exp $ +.\" +.Dd May 2, 1991 +.Dt ACOS 3 +.Os +.Sh 名称 +.Nm acos , +.Nm acosf +.Nd 逆余弦関数 +.Sh 書式 +.Fd #include +.Ft double +.Fn acos "double x" +.Ft float +.Fn acosf "float x" +.Sh 解説 +.Fn acos +関数と +.Fn acosf +関数は +.Fa x +の逆余弦の主値を計算します。 +[-1, +1] +の +範囲にない引数については領域エラーが起きます。切り捨て丸めによるエラーの +詳細については、 +.Xr math 3 +を参照してください。 +.Pp +.Sh 戻り値 +.Fn acos +関数と +.Fn acosf +関数は、 +.Bq 0 , \*(Pi +ラジアンの範囲内の余弦を返します。 +.Tn VAX +と +.Tn Tahoe +では、 +.Bd -unfilled -offset indent +.Pf \&| Ns Ar x Ns \&| > 1 , +.Ed +.Pp +の場合、 +.Fn acos x +は +.Dv EDOM +にグローバル変数 +.Va errno +を設定し、予約された +オペランドエラーが生成されます。 +.Pp +.Sh 関連項目 +.Xr asin 3 , +.Xr atan 3 , +.Xr atan2 3 , +.Xr cos 3 , +.Xr cosh 3 , +.Xr math 3 , +.Xr sin 3 , +.Xr sinh 3 , +.Xr tan 3 , +.Xr tanh 3 +.Pp +.Sh 規格 +.Fn acos +関数は +.St -ansiC +に準拠しています。 +.Pp diff --git a/ja_JP.eucJP/man/man3/acosh.3 b/ja_JP.eucJP/man/man3/acosh.3 new file mode 100644 index 0000000000..d3611fecf0 --- /dev/null +++ b/ja_JP.eucJP/man/man3/acosh.3 @@ -0,0 +1,89 @@ +.\" Copyright (c) 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. +.\" +.\" from: @(#)acosh.3 5.2 (Berkeley) 5/6/91 +.\" $Id: acosh.3,v 1.1.1.1 1999-12-09 16:26:08 kuriyama Exp $ +.\" +.Dd May 6, 1991 +.Dt ACOSH 3 +.Os BSD 4.3 +.Sh 名称 +.Nm acosh , +.Nm acoshf +.Nd 逆双曲余弦関数 +.Sh 書式 +.Fd #include +.Ft double +.Fn acosh "double x" +.Ft float +.Fn acoshf "float x" +.Sh 解説 +.Fn acosh +関数と +.Fn acoshf +関数は、実数引数 +.Ar x +の逆双曲余弦を計算します。切り捨て丸めによるエラーの詳細については、 +.Xr math 3 +を参照してください。 +.Pp +.Sh 戻り値 +.Fn acosh +関数と +.Fn acoshf +関数は、 +.Ar x +の逆双曲余弦を返します。 +.Tn VAX +と +.Tn Tahoe +では、引数が 1 より小さい場合、 +.Fn acosh +は、 +.Er EDOM +にグローバル変数 +.Va errno +を +設定し、予約済みのオペランドエラーを発生させます。 +.Pp +.Sh 関連項目 +.Xr asinh 3 , +.Xr atanh 3 , +.Xr exp 3 , +.Xr math 3 +.Pp +.Sh 歴史 +.Fn acosh +関数は +.Bx 4.3 +で現れました。 +.Pp +.\"X kuma diff --git a/ja_JP.eucJP/man/man3/addr2ascii.3 b/ja_JP.eucJP/man/man3/addr2ascii.3 new file mode 100644 index 0000000000..686c81993c --- /dev/null +++ b/ja_JP.eucJP/man/man3/addr2ascii.3 @@ -0,0 +1,221 @@ +.\" +.\" Copyright 1996 Massachusetts Institute of Technology +.\" +.\" Permission to use, copy, modify, and distribute this software and +.\" its documentation for any purpose and without fee is hereby +.\" granted, provided that both the above copyright notice and this +.\" permission notice appear in all copies, that both the above +.\" copyright notice and this permission notice appear in all +.\" supporting documentation, and that the name of M.I.T. not be used +.\" in advertising or publicity pertaining to distribution of the +.\" software without specific, written prior permission. M.I.T. makes +.\" no representations about the suitability of this software for any +.\" purpose. It is provided "as is" without express or implied +.\" warranty. +.\" +.\" THIS SOFTWARE IS PROVIDED BY M.I.T. ``AS IS''. M.I.T. DISCLAIMS +.\" ALL EXPRESS OR IMPLIED WARRANTIES WITH REGARD TO THIS SOFTWARE, +.\" INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +.\" MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT +.\" SHALL M.I.T. 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. +.\" +.\" $ANA: addr2ascii.3,v 1.1 1996/06/13 18:41:46 wollman Exp $ +.\" +.Dd June 13, 1996 +.Dt ADDR2ASCII 3 +.Os +.Sh 名称 +.Nm addr2ascii , +.Nm ascii2addr +.Nd 一般的なアドレスフォーマット化ルーチン +.Sh 書式 +.Fd #include +.Fd #include +.Fd #include +.Ft "char *" +.Fn addr2ascii "int af" "const void *addrp" "int len" "char *buf" +.Ft int +.Fn ascii2addr "int af" "const char *ascii" "void *result" +.Sh 解説 +ルーチン +.Fn addr2ascii +と +.Fn ascii2addr +は、バイナリ形式と、アドレスファミリに +適切な印刷可能形式の間でネットワークアドレスを変換するのに使用されます。 +両方の関数が、変換プロセスで使用されるアドレスファミリを指定する +.Fa af +引数を +使用します (現時点では、 +.Dv AF_INET +および +.Dv AF_LINK +アドレスファミリだけがサポートされています)。 +.Pp +.Fn addr2ascii +関数は、バイナリのネットワーク形式のアドレス印刷可能な形式に +変換するのに使用されます。 +.Fa af +に加えて、 +3 つの他の引数があります。 +.Fa addrp +引数は、変換するネットワークアドレスを指すポインタです。 +.Fa len +引数は、 +アドレスの長さです。 +.Fa buf +引数は、結果を保持するために呼び出し元が割り振る +バッファを指すオプションのポインタです。 +ヌルポインタが渡されると、 +.Fn addr2ascii +は静的に割り振られたバッファを使用します。 +.Pp +.Fn ascii2addr +関数は、 +.Fn addr2ascii +と逆の演算を実行します。 +.Fa af +に加えて、 +2 つのパラメータ +.Fa ascii +と +.Fa result +を使用します。 +.Fa ascii +パラメータは、バイナリに +変換されるストリングを指すポインタです。 +.Fa result +パラメータは、指定のファミリ +に適切なネットワークアドレス構造を指すポインタです。 +.Pp +指定ファイル内のバイナリアドレスを使用するのに適切な構造は次のとおりです。 +.Pp +.Bl -tag -width AF_INETxxxx -compact +.It Dv AF_INET +.Li struct in_addr +.Pq in Aq Pa netinet/in.h +.It Av AF_LINK +.Li struct sockaddr_dl +.Pq in Aq Pa net/if_dl.h +.\" .It Dv AF_INET6 +.\" .Li struct in6_addr +.\" .Pq in Aq Pa netinet6/in6.h +.El +.Sh 戻り値 +.Fn addr2ascii +関数は、渡されたバッファのアドレス、または +NULL +ポインタが +渡された場合は静的バッファのアドレスを返します。処理が失敗した場合は、 +ヌルポインタを返します。 +.Fn ascii2addr +関数は、バイナリアドレスの長さ (バイト単位) +を返します。処理が失敗した場合は +-1 を返します。 +.Pp +.Sh 例 +.Xr inet 3 +関数 +.Fn inet_ntoa +と +.Fn inet_aton +は次のように実現できます。 +.Bd -literal -offset indent +#include +#include +#Include +#include + +char * +inet_ntoa(struct in_addr addr) +{ + return addr2ascii(AF_INET, &addr, sizeof addr, 0); +} + +int +inet_aton(const char *ascii, struct in_addr *addr) +{ + return (ascii2addr(AF_INET, ascii, addr) + == sizeof(*addr)); +} +.Ed +.Pp +実際には、これは実行できません。 +.Fn addr2ascii +と +.Fn ascii2addr +は、他の方法でなく、 +.Xr inet 3 +関数で実現されているからです。 +.Sh エラー +処理失敗が返されたとき、 +.Li errno +に次の値の 1 つの設定されます。 +.Bl -tag -width [EPROTONOSUPPORT] +.It Bq Er ENAMETOOLONG +.Fn addr2ascii +ルーチンは、 +.Fa af +によって渡されたアドレスファミリに不適切なパラメータ +.Fa len +を渡されました。 +.It Bq Er EPROTONOSUPPORT +いずれかのルーチンに、 +.Dv AF_INET +または +.Dv AF_LINK +ではない +.Fa af +パラメータが渡されました。 +.It Bq er EINVAL +.Fn ascii2addr +によって渡された +.Fn ascii2addr +に渡された文字列は、 +アドレスファミリ +.Fa af +について不適切にフォーマットされていました。 +.El +.Sh 関連項目 +.Xr inet 3 , +.Xr linkaddr 3 , +.Xr inet 4 +.Sh 歴史 +これに近いインタフェースは、オリジナルには Craig Partridge +が提案しました。 +このインタフェース自体は、 +.Tn INRIA +.Tn IPv6 +インプリメントに最初に現れたものです。 +.Sh 作者 +コードとドキュメンテーションは +.An Garrett A. Wollman , +MIT Laboratory for Computer Science +によるものです。 +.Sh バグ +オリジナルの実装は IPv6 をサポートしていました。このサポートは、 +しだいに復活されるはずです。 +.Tn NRL +の実装は、 +.Dv AF_ISO +および +.Dv AF_NS +のアドレスファミリのサポートを組み込んでいるはずです。 +.Pp +このインタフェースの一般性については、いくらか疑問があります。真に一般的な +インタフェースは、使用されるバッファの長さを決定する手段を備えています。 +動的に割り当てでき、バイナリアドレスとして保存するのに必ず +.Dq Li struct sockaddr +を使用とするからです。不都合なことに、これは +既存のやり方と互換性がありません。この制限は、任意のアドレスファミリからの +ネットワークアドレスを印刷するルーチンには、必要な最大バッファ長と、 +バイナリアドレスとして使用するアドレスの該当する部分の内部的な +知識がなければならないことを意味します。 +.\" kuma diff --git a/ja_JP.eucJP/man/man3/alarm.3 b/ja_JP.eucJP/man/man3/alarm.3 new file mode 100644 index 0000000000..f8c0651f53 --- /dev/null +++ b/ja_JP.eucJP/man/man3/alarm.3 @@ -0,0 +1,95 @@ +.\" Copyright (c) 1980, 1991, 1993, 1994 +.\" 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. +.\" +.\" @(#)alarm.3 8.2 (Berkeley) 4/19/94 +.\" +.Dd April 19, 1994 +.Dt ALARM 3 +.Os BSD 4 +.Sh 名称 +.Nm alarm +.Nd 信号タイマアラームを設定する +.Sh 書式 +.Fd #include +.Ft unsigned int +.Fn alarm "unsigned int seconds" +.Sh 解説 +.Bf -symbolic +このインタフェースは setitimer(2) によって旧式のものとなっています。 +.Ef +.Pp +.Fn alarm +関数は、指定の +.Fa seconds +秒の後、信号 +.Dv SIGALRM +を呼び出しプロセスに +配信するタイマを設定します。アラームが既に +.Fn alarm +によって +設定されているものの配信されていない場合は、 +.Fn alarm +をもう一度呼び出すと、 +前の呼び出しの設定を上書きします。要求 +.Fn alarm "0" +は、現在のアラームを無効にし、信号 +.Dv SIGALRM +は配信されません。 +.Pp +.Xr setitimer 2 +の制約のために、 +.Ar seconds +の許される最大数は +100000000 です。 +.Pp +.Sh 戻り値 +.Fn alarm +の戻り値は、 +.Fn alarm +の直前の呼び出しからタイマに残された時間の +量です。アラームが現時点で設定されていない場合、戻り値は +0 になります。 +.Sh 関連項目 +.Xr setitimer 2 , +.Xr sigaction 2 , +.Xr sigpause 2 , +.Xr sigvec 2 , +.Xr signal 3 , +.Xr sleep 3 , +.Xr ualarm 3 , +.Xr usleep 3 +.Pp +.Sh 歴史 +.Fn alarm +関数は +.At v7 +で現れました。 +.\"X kuma diff --git a/ja_JP.eucJP/man/man3/alloca.3 b/ja_JP.eucJP/man/man3/alloca.3 new file mode 100644 index 0000000000..f074786f6c --- /dev/null +++ b/ja_JP.eucJP/man/man3/alloca.3 @@ -0,0 +1,75 @@ +.\" 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. +.\" +.\" @(#)alloca.3 8.1 (Berkeley) 6/4/93 +.\" +.Dd June 4, 1993 +.Dt ALLOCA 3 +.Os BSD 4 +.Sh 名称 +.Nm alloca +.Nd メモリ割り当て関数 +.Sh 書式 +.Fd #include +.Ft void * +.Fn alloca "size_t size" +.Sh 解説 +.Fn alloca +関数は、呼び出し元のスタックフレーム内に +.Fa size +バイトの空き領域を割り当てます。 +この一時的な空間は、関数から戻るときに自動的に解放されます。 +.Sh 戻り値 +.Fn alloca +関数は、割り当てられた空間の先頭を指すポインタを返します。割り当て +処理に失敗した場合は、 +.Dv NULL +ポインタが返されます。 +.Pp +.Sh 関連項目 +.Xr brk 2 , +.Xr calloc 3 , +.Xr getpagesize 3 , +.Xr malloc 3 , +.Xr realloc 3 +.Sh バグ +.Fn alloca +関数はマシン依存です。これを使用することはお勧めできません。 +.\" .Sh HISTORY +.\" +.\" The +.\" .Fn alloca +.\" function appeared in +.\" .Bx ?? . +.\" The function appeared in 32v, pwb and pwb.2 and in 3bsd 4bsd +.\" The first man page (or link to a man page that I can find at the +.\" moment is 4.3... +.\" kuma diff --git a/ja_JP.eucJP/man/man3/arc4random.3 b/ja_JP.eucJP/man/man3/arc4random.3 new file mode 100644 index 0000000000..1facfce725 --- /dev/null +++ b/ja_JP.eucJP/man/man3/arc4random.3 @@ -0,0 +1,85 @@ +.\" $OpenBSD: arc4random.3,v 1.2 1997/04/27 22:40:25 angelos Exp $ +.\" Copyright 1997 Niels Provos +.\" 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 Niels Provos. +.\" 4. The name of the author may not be used to endorse or promote products +.\" derived from this software without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 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. +.\" +.\" Manual page, using -mandoc macros +.\" +.Dd April 15, 1997 +.Dt ARC4RANDOM 3 +.Os +.Sh 名称 +.Nm arc4random, +.Nm arc4random_stir, +.Nm arc4random_addrandom +.Nd arc4 乱数ジェネレータ +.Sh 書式 +.Fd #include +.Ft u_int32_t +.Fn arc4random "void" +.Ft void +.Fn arc4random_stir "void" +.Ft void +.Fn arc4random_addrandom "unsigned char *dat" "int datlen" +.Sh 解説 +.Fn arc4random +関数は、arc4 暗号が採用しているキーストリームジェネレータを +使用します。arc4 暗号は、8*8 の 8 ビット S-Box を使用します。 +S-Box は約 +.if t 2 2\u\s71700\s10\d +.if n (2**1700) +個の状態を取ることができます。 +.Pp +.Fn arc4random_stir +関数は、 +.Pa /dev/urandom +からデータを読み取り、それを使用して +.Fn arc4random_addrandom +によって S-Box の順序を変えます。 +.Pp +.Fn arc4random +を使用する前に +.Fn arc4random_stir +を呼び出す必要はありません。 +.Fn arc4random +は自動的に自分自身を初期化するからです。 +.Pp +.Sh 関連項目 +.Xr rand 3 , +.Xr random 3 , +.Xr srandomdev 3 +.Sh 歴史 +.Pa RC4 +は、RSA Data Security, Inc. によって設計されました。 +.Pa RC4 +は、匿名で USENET にポストされ、オリジナルのコードにアクセスした人の +いくつかのソースによって同等であることが確認されました。 +.Pa RC4 +は企業機密であったので、この暗号は +.Pa ARC4 +と呼ばれています。 +.\" kuma diff --git a/ja_JP.eucJP/man/man3/asin.3 b/ja_JP.eucJP/man/man3/asin.3 new file mode 100644 index 0000000000..315e8cb6fe --- /dev/null +++ b/ja_JP.eucJP/man/man3/asin.3 @@ -0,0 +1,101 @@ +.\" 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. +.\" +.\" from: @(#)asin.3 5.1 (Berkeley) 5/2/91 +.\" $Id: asin.3,v 1.1.1.1 1999-12-09 16:26:08 kuriyama Exp $ +.\" +.\" word: range 区間[asin.3] +.\" word: principal 主値[asin.3] +.\" word: radian ラジアン[asin.3] +.\" +.Dd May 2, 1991 +.Dt ASIN 3 +.Os +.Sh 名称 +.Nm asin , +.Nm asinf +.Nd 逆正弦関数 +.Sh 書式 +.Fd #include +.Ft double +.Fn asin "double x" +.Ft float +.Fn asinf "float x" +.Sh 解説 +.Fn asin +関数と +.Fn asinf +関数は、 +.Fa x +の逆正弦の主値を計算します。区間 +[-1, +1] +内にない引数については区間エラーが起きます。切り捨て丸めによるエラーの +詳細については、 +.Xr math 3 +を参照してください。 +.Sh 戻り値 +.Fn asin +関数と +.Fn asinf +関数は、区間 +.Bk -words +.Bq -\*(Pi/2, +\*(Pi/2 +.Ek +ラジアンの逆正弦を返します。 +.Tn VAX +と Tahoe では、 +.Bd -unfilled -offset indent +.Pf \&| Ns Ar x Ns \&| > 1 +.Ed +.Pp +の場合、グローバル変数 +.Va errno +が +.Er EDOM +に設定され、予約されたオペランドエラーが生成されます。 +.Sh 関連項目 +.Xr acos 3 , +.Xr atan 3 , +.Xr atan2 3 , +.Xr cos 3 , +.Xr cosh 3 , +.Xr math 3 , +.Xr sin 3 , +.Xr sinh 3 , +.Xr tan 3 , +.Xr tanh 3 +.Pp +.Sh 規格 +.Fn asin +関数は +.St -ansiC +に準拠しています。 +.\" kuma diff --git a/ja_JP.eucJP/man/man3/asinh.3 b/ja_JP.eucJP/man/man3/asinh.3 new file mode 100644 index 0000000000..96e4da2a69 --- /dev/null +++ b/ja_JP.eucJP/man/man3/asinh.3 @@ -0,0 +1,76 @@ +.\" Copyright (c) 1985, 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. +.\" +.\" from: @(#)asinh.3 6.4 (Berkeley) 5/6/91 +.\" $Id: asinh.3,v 1.1.1.1 1999-12-09 16:26:08 kuriyama Exp $ +.\" +.Dd May 6, 1991 +.Dt ASINH 3 +.Os BSD 4.3 +.Sh 名称 +.Nm asinh , +.Nm asinhf +.Nd 逆双曲正弦関数 +.Sh 書式 +.Fd #include +.Ft double +.Fn asinh "double x" +.Ft float +.Fn asinhf "float x" +.Sh 解説 +.Fn asinh +関数と +.Fn asinhf +関数は、実数引数 +.Ar x +の逆双曲正弦を計算します。切り捨て丸めエラーの詳細については、 +.Xr math 3 +を参照してください。 +.Pp +.Sh 戻り値 +.Fn asinh +関数と +.Fn asinhf +関数は +.Ar x +の逆双曲正弦を返します。 +.Pp +.Sh 関連項目 +.Xr acosh 3 , +.Xr atanh 3 , +.Xr exp 3 , +.Xr math 3 +.Sh 歴史 +.Fn asinh +関数は +.Bx 4.3 +で登場しました。 +.\" kuma diff --git a/ja_JP.eucJP/man/man3/assert.3 b/ja_JP.eucJP/man/man3/assert.3 new file mode 100644 index 0000000000..2c235a662f --- /dev/null +++ b/ja_JP.eucJP/man/man3/assert.3 @@ -0,0 +1,83 @@ +.\" Copyright (c) 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. +.\" +.\" @(#)assert.3 8.1 (Berkeley) 6/9/93 +.\" $Id: assert.3,v 1.1.1.1 1999-12-09 16:26:08 kuriyama Exp $ +.\" +.Dd June 9, 1993 +.Dt ASSERT 3 +.Os +.Sh 名称 +.Nm assert +.Nd 式検証マクロ +.Sh 書式 +.Fd #include +.Fn assert expression +.Sh 解説 +.Fn assert +マクロは、指定された +.Ar expression +を試験し、偽の場合は、呼び出し元の +プロセスは終了されます。診断メッセージが +.Em stderr +に書き込まれ、関数 +.Xr abort 3 +が呼び出されてプログラムを効率的に終了します。 +.Pp +.Ar expression +が真の場合、 +.Fn assert +マクロは何もしません。 +.Pp +.Fn assert +マクロはコンパイル時に +.Fl NDEBUG +オプションで除去できます。 +.Xr cc 1 +を参照してください。 +.Sh 診断 +.Ar expression +が偽の場合、次の診断メッセージが +.Em stderr +に書き込まれます。 +.Bd -literal -offset indent +"assertion \e"%s\e" failed: file \e"%s\e", line %d0, \e + "expression", __FILE__, __LINE__); +.Ed +.Sh 関連項目 +.Xr abort 3 +.Pp +.Sh 歴史 +.Fn assert +マクロは +.At v6 +で登場しました。 +.\" kuma diff --git a/ja_JP.eucJP/man/man3/atan.3 b/ja_JP.eucJP/man/man3/atan.3 new file mode 100644 index 0000000000..cb089aaccf --- /dev/null +++ b/ja_JP.eucJP/man/man3/atan.3 @@ -0,0 +1,85 @@ +.\" 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. +.\" +.\" from: @(#)atan.3 5.1 (Berkeley) 5/2/91 +.\" $Id: atan.3,v 1.1.1.1 1999-12-09 16:26:08 kuriyama Exp $ +.\" +.Dd May 2, 1991 +.Dt ATAN 3 +.Os +.Sh 名称 +.Nm atan , +.Nm atanf +.Nd 1 つの変数の逆正接関数 +.Sh 書式 +.Fd #include +.Ft double +.Fn atan "double x" +.Ft float +.Fn atanf "float x" +.Sh 解説 +.Fn atan +関数と +.Fn atanf +関数は、 +.Fa x +の逆正接の主値を計算します。切り捨て丸めのエラーの詳細については、 +.Xr math 3 +を参照してください。 +.Pp +.Sh 戻り値 +.Fn atan +関数と +.Fn atanf +関数は、範囲 +.Bk -words +.Bq -\*(Pi/2 , +\*(Pi/2 +.Ek +ラジアンの逆正接を返します。 +.Pp +.Sh 関連項目 +.Xr acos 3 , +.Xr asin 3 , +.Xr atan2 3 , +.Xr cos 3 , +.Xr cosh 3 , +.Xr math 3 , +.Xr sin 3 , +.Xr sinh 3 , +.Xr tan 3 , +.Xr tanh 3 +.Pp +.Sh 規格 +.Fn atan +関数は +.St -ansiC +に準拠しています。 +.\" kuma diff --git a/ja_JP.eucJP/man/man3/atan2.3 b/ja_JP.eucJP/man/man3/atan2.3 new file mode 100644 index 0000000000..3409d12f06 --- /dev/null +++ b/ja_JP.eucJP/man/man3/atan2.3 @@ -0,0 +1,207 @@ +.\" 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. +.\" +.\" from: @(#)atan2.3 5.1 (Berkeley) 5/2/91 +.\" $Id: atan2.3,v 1.1.1.1 1999-12-09 16:26:08 kuriyama Exp $ +.\" +.Dd May 2, 1991 +.Dt ATAN2 3 +.Os +.Sh 名称 +.Nm atan2 , +.Nm atan2f +.Nd 2 つの変数の逆正接関数 +.Sh 書式 +.Fd #include +.Ft double +.Fn atan2 "double y" "double x" +.Ft float +.Fn atan2f "float y" "float x" +.Sh 解説 +.Fn atan2 +関数と +.Fn atan2f +関数は、 +.Fa y/ Ns Ar x +の逆正接の主値を計算します。その際、 +両方の引数の符号を使用して戻り値の象限を判定します。 +.Pp +.Sh 戻り値 +.Fn atan2 +関数と +.Fn atan2f +関数は、処理が成功すると、範囲 +.Bk -words +.Bq \&- Ns \*)Pi , \&+ Ns \*(Pi +.Ek +ラジアン内の +.Fa y/ Ns Ar x +の逆正接を返します。 +.Fa x +と +.Fa y +の両方がゼロの場合、 +グローバル変数 +.Va errno +が +.Er EDOM +に設定されます。 +.Tn VAX +では次のとおりです。 +.Bl -column atan2_(y,x)_:=____ sign(y)_(Pi_atan2(Xy_xX))___ +.It Fn atan2 y x No := Ta +.Fn atan y/x Ta +.Ar x +> 0 +の場合 +.It Ta sign( Ns Ar y Ns )*(\*(Pi - +.Fn atan "\\*(Bay/x\\*(Ba" ) Ta +.Ar x +< 0 +の場合 +.It Ta +.No 0 Ta +x = y = 0 +の場合、 +.It Ta +.Pf sign( Ar y Ns )*\\*(Pi/2 Ta +.Ar x += 0 \*(!= +.Ar y +の場合 +.El +.Sh 注 +関数 +.Fn atan2 +は +.Tn VAX +で ``x > 0 の場合''、 +.Fn atan2 0 0 += 0 +を定義します。以前は +.Fn atan2 0 0 +はエラーメッセージを生成していた +可能性があるにもかかわらずです。 +.Fn atan2 0 0 +に値を割り当てる理由は次のとおりです。 +.Bl -enum -offset indent +.It +.Fn atan2 0 0 +の計算を回避するために引数をテストするプログラムは、この値に +無関係である必要があります。これが無効であることを要求するプログラムは、 +さまざまなコンピュータシステム上でこれが無効であることに対するさまざまな +反応に対し脆弱です。 +.It +.Fn atan2 +関数は、矩形 +(x,y) +を、極座標 +.if n\ +(r,theta) +.if t\ +(r,\(*h) +に変換します。この座標は、 +.if n\ +r\(**cos theta +.if t\ +r\(**cos\(*h +および +y = +.if n\ +r\(**sin theta +.if t\ +r\(**sin\(*h +を満たす必要があります。 +.if n\ +(r,theta) +.if t\ +(r,\(*h) +極座標に変換するのに主に使用されます。これらの等式が +満たされるのは、(x=0,y=0) が +.Tn VAX +で +.if n \ +(r=0,theta=0) +.if t \ +(r=0,\(*h=0) +にマップされるときです。 +一般に、極座標への変換は次のようにして計算する必要があります。 +.Bd -unfilled -offset indent +.if n \{\ +r := hypot(x,y); ... := sqrt(x\(**x+y\(**y) +theta := atan2(y,x) +.\} +.if t \{\ +r := hypot(x,y); ... := \(sr(x\u\s82\s10\d+y\u\s82\s10\d) +theta := atan2(y,x) +.\} +.\"XX .XX sqrt x*x+y*y +.Ed +.It +上記の公式は、 +.Tn IEEE 754 +に準拠するマシンでは符号付きのゼロおよび無限に、 +合理的な方法で、対処しようと変更する必要はありません。そのようなマシン用に +準備された +.Xr hypot 3 +と +.Fn atan2 +のバージョンがすべてのケースを処理するよう +設計されています。これがたとえば +.Fn atan2 \(+-0 \-0 += \(+-\*(Pi +である理由です。一般に、 +上記の公式は次のものと同等です。 +.Bd -unfilled -offset indent +.if n \ +r := sqrt(x\(**x+y\(**y); r =0 の場合は、x := copysign(1,x); +.if t \ +r := \(sr(x\(**x+y\(**y);\0\0 r =0 の場合は、x := copysign(1,x); +.Ed +.El +.Sh 関連項目 +.Xr acos 3 , +.Xr asin 3 , +.Xr atan 3 , +.Xr cos 3 , +.Xr cosh 3 , +.Xr math 3 , +.Xr sin 3 , +.Xr sinh 3 , +.Xr tan 3 , +.Xr tanh 3 +.Pp +.Sh 規格 +.Fn atan2 +関数は +.St -ansiC +に準拠しています。 +.\"X kuma diff --git a/ja_JP.eucJP/man/man3/atanh.3 b/ja_JP.eucJP/man/man3/atanh.3 new file mode 100644 index 0000000000..2d3d8ec0bc --- /dev/null +++ b/ja_JP.eucJP/man/man3/atanh.3 @@ -0,0 +1,90 @@ +.\" Copyright (c) 1985, 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. +.\" +.\" from: @(#)atanh.3 5.2 (Berkeley) 5/6/91 +.\" $Id: atanh.3,v 1.1.1.1 1999-12-09 16:26:08 kuriyama Exp $ +.\" +.Dd May 6, 1991 +.Dt ATANH 3 +.Os BSD 4.3 +.Sh 名称 +.Nm atanh , +.Nm atanhf +.Nd 逆双曲正接関数 +.Sh 書式 +.Fd #include +.Ft double +.Fn atanh "double x" +.Ft float +.Fn atanhf "float x" +.Sh 解説 +.Fn atanh +関数と +.Fn atanhf +関数は、実数引数 +.Ar x +の逆双曲正接を計算します。切り捨て丸めによるエラーの詳細については、 +.Xr math 3 +を参照してください。 +.Sh 戻り値 +.Fn atanh +関数と +.Fn atanhf +関数は、処理が成功した場合、 +.Ar x +の逆双曲正接を +返します。 +.Tn VAX +と +.Tn Tahoe +で、引数の絶対値が +1 より大きいかまたは +1 に等しい +場合、 +.Fn atanh +がグローバル変数 +.Va errno +を +.Er EDOM +に設定し、予約済みオペランドエラーが生成されます。 +.Pp +.Sh 関連項目 +.Xr acosh 3 , +.Xr asinh 3 , +.Xr exp 3 , +.Xr math 3 +.Pp +.Sh 歴史 +.Fn atanh +関数は +.Bx 4.3 +で現れました。 +.\" kuma diff --git a/ja_JP.eucJP/man/man3/atexit.3 b/ja_JP.eucJP/man/man3/atexit.3 new file mode 100644 index 0000000000..b4b364cded --- /dev/null +++ b/ja_JP.eucJP/man/man3/atexit.3 @@ -0,0 +1,79 @@ +.\" Copyright (c) 1990, 1991, 1993 +.\" 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. +.\" +.\" @(#)atexit.3 8.1 (Berkeley) 6/4/93 +.\" +.Dd June 4, 1993 +.Dt ATEXIT 3 +.Os +.Sh 名称 +.Nm atexit +.Nd 終了時に呼び出される関数を登録する +.Sh 書式 +.Fd #include +.Ft int +.Fn atexit "void (*function)(void)" +.Sh 解説 +.Fn atexit +関数は、 +.Xr exit 3 +によってであれ、プログラムのメイン関数の +戻りによってであれ、プログラム終了で呼び出される指定の +.Ar function +を登録します。このように登録された関数は、逆の順序に呼び出されます。 +引数は渡されません。少なくとも +32 個の関数が常に登録でき、十分なメモリが割り +振りできる限り、それを超える関数も登録できます。 +.Sh 戻り値 +.\"X .Rv -std atexit +.Fn atexit +関数は、処理が成功すると値 0 を返します。そうでない場合、値 -1 が +返され、グローバル変数 +.Fa errno +が設定されてエラーを示します。 +.Sh エラー +.Bl -tag -width [ENOMEM] +.It Bq Er ENOMEM +関数をリストに追加するメモリが利用できませんでした。関数の既存の +リストは無修正です。 +.El +.Sh 関連項目 +.Xr exit 3 +.Sh 規格 +.Fn atexit +関数は +.St -ansiC +に準拠しています。 +.\" kuma diff --git a/ja_JP.eucJP/man/man3/atof.3 b/ja_JP.eucJP/man/man3/atof.3 new file mode 100644 index 0000000000..96950b5850 --- /dev/null +++ b/ja_JP.eucJP/man/man3/atof.3 @@ -0,0 +1,75 @@ +.\" Copyright (c) 1991, 1993 +.\" 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. +.\" +.\" @(#)atof.3 8.1 (Berkeley) 6/4/93 +.\" +.Dd June 4, 1993 +.Dt ATOF 3 +.Os +.Sh 名称 +.Nm atof +.Nd +.Tn ASCII +文字列を倍精度浮動小数点数に変換する +.Sh 書式 +.Fd #include +.Ft double +.Fn atof "const char *nptr" +.Sh 解説 +.Fn atof +関数は、 +.Ar nptr +が指している文字列の最初の部分を、 +.Ar double +表現に変換します。 +.Pp +これは次と同等です。 +.Bd -literal -offset indent +strtod(nptr, (char **)NULL); +.Ed +.Pp +.Sh 関連項目 +.Xr atoi 3 , +.Xr atol 3 , +.Xr strtod 3 , +.Xr strtol 3 , +.Xr strtoul 3 +.Pp +.Sh 規格 +.Fn atof +関数は +.St -ansiC +に準拠しています。 +.\" kuma diff --git a/ja_JP.eucJP/man/man3/atoi.3 b/ja_JP.eucJP/man/man3/atoi.3 new file mode 100644 index 0000000000..8efd7f4f31 --- /dev/null +++ b/ja_JP.eucJP/man/man3/atoi.3 @@ -0,0 +1,73 @@ +.\" Copyright (c) 1990, 1991, 1993 +.\" 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. +.\" +.\" @(#)atoi.3 8.1 (Berkeley) 6/4/93 +.\" +.Dd June 4, 1993 +.Dt ATOI 3 +.Os +.Sh 名称 +.Nm atoi +.Nd +.Tn ASCII +文字列を整数に変換する +.Sh 書式 +.Fd #include +.Ft int +.Fn atoi "const char *nptr" +.Sh 解説 +.Fn atoi +関数は、 +.Em nptr +の指す文字列の最初の部分を +.Em integer +表現に変換します。 +.Pp +これは次と同等です。 +.Bd -literal -offset indent +(int)strtol(nptr, (char **)NULL, 10); +.Ed +.Sh 関連項目 +.Xr atof 3 , +.Xr atol 3 , +.Xr strtod 3 , +.Xr strtol 3 , +.Xr strtoul 3 +.Sh 規格 +.Fn atoi +関数は +.St -ansiC +に準拠しています。 +.\" kuma diff --git a/ja_JP.eucJP/man/man3/atol.3 b/ja_JP.eucJP/man/man3/atol.3 new file mode 100644 index 0000000000..0d7029510c --- /dev/null +++ b/ja_JP.eucJP/man/man3/atol.3 @@ -0,0 +1,74 @@ +.\" Copyright (c) 1990, 1991, 1993 +.\" 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. +.\" +.\" @(#)atol.3 8.1 (Berkeley) 6/4/93 +.\" +.Dd June 4, 1993 +.Dt ATOL 3 +.Os +.Sh 名称 +.Nm atol +.Nd +.Tn ASCII +文字列を長整数に変換する +.Sh 書式 +.Fd #include +.Ft long +.Fn atol "const char *nptr" +.Sh 解説 +.Fn atol +関数は、 +.Ar nptr +が指す文字列の先頭部分を +.Em long integer +表現に変換します。 +.Pp +これは次と同等です。 +.Bd -literal -offset indent +strtol(nptr, (char **)NULL, 10); +.Ed +.Sh 関連項目 +.Xr atof 3 , +.Xr atoi 3 , +.Xr strtod 3 , +.Xr strtol 3 , +.Xr strtoul 3 +.Pp +.Sh 規格 +.Fn atol +関数は +.St -ansiC +に準拠しています。 +.\" kuma diff --git a/ja_JP.eucJP/man/man3/auth_getval.3 b/ja_JP.eucJP/man/man3/auth_getval.3 new file mode 100644 index 0000000000..9bfe2cd8f3 --- /dev/null +++ b/ja_JP.eucJP/man/man3/auth_getval.3 @@ -0,0 +1,69 @@ +.\" +.\" Copyright (c) 1998 Jordan Hubbard +.\" +.\" 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 DEVELOPERS ``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 DEVELOPERS 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: auth_getval.3,v 1.1.1.1 1999-12-09 16:26:08 kuriyama Exp $ +.\" " +.Dd October 7, 1998 +.Os +.Dt auth_getval 3 +.Sh 名称 +.Nm auth_getval +.Nd +.Pa /etc/auth.conf +から値を読み取る関数 +.Sh 書式 +.Fd #include +.Fd #include +.Ft char * +.Fn auth_getval "char *name" +.Pp +.Xr cc 1 +コマンド行で +.Va -lutil +を付けてリンクすること。 +.Sh 解説 +関数 +.Fn auth_getval +は、 +.Fa name +というフィールドに対応する値を返します。 +そのようなフィールドが見つからない場合、または auth ファイルを開けることが +できない場合は NULL を返します。 +.Pp +.Sh 関連項目 +.Xr properties_read 3 , +.Xr properties_free 3 , +.Xr property_find 3 , +.Xr auth.conf 5 +.Pp +.Sh ファイル +/etc/auth.conf +には、 +.Fn auth_getval +が検索する +name=value +のペアが +含まれています。 +.\" kuma diff --git a/ja_JP.eucJP/man/man3/bcmp.3 b/ja_JP.eucJP/man/man3/bcmp.3 new file mode 100644 index 0000000000..688b15a637 --- /dev/null +++ b/ja_JP.eucJP/man/man3/bcmp.3 @@ -0,0 +1,75 @@ +.\" Copyright (c) 1990, 1991, 1993 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" This code is derived from software contributed to Berkeley by +.\" Chris Torek. +.\" 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. +.\" +.\" @(#)bcmp.3 8.1 (Berkeley) 6/4/93 +.\" +.Dd June 4, 1993 +.Dt BCMP 3 +.Os BSD 4.2 +.Sh 名称 +.Nm bcmp +.Nd バイト文字列を比較する +.Sh 書式 +.Fd #include +.Ft int +.Fn bcmp "const void *b1" "const void *b2" "size_t len" +.Sh 解説 +.Fn bcmp +関数は、バイト文字列 +.Fa b1 +をバイト文字列 +.Fa b2 +に対して比較し、 +これらが同一の場合は +0 を返し、そうでない場合はゼロでない値を返します。 +両方の文字列が +.Fa len +バイトの長さであると想定して比較します。長さがゼロの +文字列は必ず同一です。 +.Pp +2つの文字列が重なりあっていても構いません。 +.Pp +.Sh 関連項目 +.Xr bcmp 3 , +.Xr memcmp 3 , +.Xr strcasecmp 3 , +.Xr strcmp 3 , +.Xr strcoll 3 , +.Xr strxfrm 3 +.Pp +.Sh 歴史 +.Fn bcmp +関数は最初に +.Bx 4.2 +で現れました。 +.\" kuma diff --git a/ja_JP.eucJP/man/man3/bcopy.3 b/ja_JP.eucJP/man/man3/bcopy.3 new file mode 100644 index 0000000000..8b90485eca --- /dev/null +++ b/ja_JP.eucJP/man/man3/bcopy.3 @@ -0,0 +1,70 @@ +.\" Copyright (c) 1990, 1991, 1993 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" This code is derived from software contributed to Berkeley by +.\" Chris Torek. +.\" +.\" 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. +.\" +.\" @(#)bcopy.3 8.1 (Berkeley) 6/4/93 +.\" +.Dd June 4, 1993 +.Dt BCOPY 3 +.Os BSD 4.2 +.Sh 名称 +.Nm bcopy +.Nd バイト文字列をコピーする +.Sh 書式 +.Fd #include +.Ft void +.Fn bcopy "const void *src" "void *dst" "size_t len" +.Sh 解説 +.Fn bcopy +関数は、文字列 +.Fa src +から文字列 +.Fa dst +に +.Fa len +バイトをコピーします。 +2 つの文字列が重なりあっていても構いません。 +.Fa len +がゼロの場合、コピーされるバイトはありません。 +.Sh 関連項目 +.Xr memccpy 3 , +.Xr memcpy 3 , +.Xr memmove 3 , +.Xr strcpy 3 , +.Xr strncpy 3 +.Sh 歴史 +.Fn bcopy +関数は +.Bx 4.2 +で現れました。 +.\" kuma diff --git a/ja_JP.eucJP/man/man3/bindresvport.3 b/ja_JP.eucJP/man/man3/bindresvport.3 new file mode 100644 index 0000000000..8911de4ae7 --- /dev/null +++ b/ja_JP.eucJP/man/man3/bindresvport.3 @@ -0,0 +1,31 @@ +.\" @(#)bindresvport.3n 2.2 88/08/02 4.0 RPCSRC; from 1.7 88/03/14 SMI +.Dd November 22, 1987 +.Dt BINDRESVPORT 3 +.Os +.Sh 名称 +.Nm bindresvport +.Nd 特権 IP ポートにソケットをバインドする +.Sh 書式 +.Fd #include +.Fd #include +.Ft int +.Fn bindresvport "int sd" "struct sockaddr_in **sin" +.Sh 解説 +.Nm bindresvport +は、ソケット記述子を、特権 +.Tn IP +ポート、すなわち範囲 0 〜 1023 のポートに結合するために使用されます。 +このルーチンは処理が正常に終了すると +0 を返し、そうでない場合は -1 を返し、エラーの原因を反映するように +.Va errno +が設定されます。 +.Pp +ルートだけが特権ポートに結合できます。この呼び出しは他のユーザについては +処理失敗します。 +.Pp +sin->sin_port の値がゼロでない場合、 +.Fn bindresvport +は、その特定のポートを +使用しようとします。それに失敗すると、別の特権付きポートを自動的に +選択します。 +.\" kuma diff --git a/ja_JP.eucJP/man/man3/bitstring.3 b/ja_JP.eucJP/man/man3/bitstring.3 new file mode 100644 index 0000000000..ebd7858ebe --- /dev/null +++ b/ja_JP.eucJP/man/man3/bitstring.3 @@ -0,0 +1,194 @@ +.\" Copyright (c) 1989, 1991, 1993 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" This code is derived from software contributed to Berkeley by +.\" Paul Vixie. +.\" 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. +.\" +.\" @(#)bitstring.3 8.1 (Berkeley) 7/19/93 +.\" $Id: bitstring.3,v 1.1.1.1 1999-12-09 16:26:08 kuriyama Exp $ +.\" +.Dd July 19, 1993 +.Dt BITSTRING 3 +.Os BSD 4 +.Sh 名称 +.Nm bit_alloc , +.Nm bit_clear , +.Nm bit_decl , +.Nm bit_ffs , +.Nm bit_nclear , +.Nm bit_nset, +.Nm bit_set , +.Nm bitstr_size , +.Nm bit_test +.Nd ビット列操作マクロ +.Sh 書式 +.Fd #include +.Ft bitstr_t * +.Fn bit_alloc "int nbits" +.Ft void +.Fn bit_decl "bitstr_t *name" "int nbits" +.Ft void +.Fn bit_clear "bitstr_t *name" "int bit" +.Ft void +.Fn bit_ffc "bitstr_t *name" "int nbits" "int *value" +.Ft void +.Fn bit_ffs "bitstr_t *name" "int nbits" "int *value" +.Ft void +.Fn bit_nclear "bitstr_t *name" "int start" "int stop" +.Ft void +.Fn bit_nset "bitstr_t *name" "int start" "int stop" +.Ft void +.Fn bit_set "bitstr_t *name" "int bit" +.Ft int +.Fn bitstr_size "int nbits" +.Ft int +.Fn bit_test "bitstr_t *name" "int bit" +.Sh 解説 +これらのマクロはビット列を操作します。 +.Pp +マクロ +.Fn bit_alloc +は、 +.Fa nbits +個のビットを格納するのに十分な空間を指す型 +.Dq Fa "bitstr_t *" +のポインタを返します。または、空間が利用できない場合は +.Dv NULL +を返します。 +.Pp +マクロ +.Fn bit_decl +は、 +.Fa nbits +個のビットを格納するのに十分な空間をスタックに割り付けます。 +.Pp +マクロ +.Fn bitstr_size +は、 +.Fa nbits +個のビットを格納するのに必要な、型 +.Fa bitstr_t +の要素の数を返します。これはビット列をコピーするのに便利です。 +.Pp +マクロ +.Fn bit_clear +とマクロ +.Fn bit_set +は、ビット列 +.Ar name +の中の、ゼロを起点として +.Fa bit +番目のビットをクリアまたは設定します。 +.Pp +マクロ +.Fn bit_nset +とマクロ +.Fn bit_nclear +は、ビット列 +.Ar name +の中の +.Fa start +から +.Fa stop +までの (ゼロを起点として番号付けした) ビットをセットまたは +クリアします。 +.Pp +マクロ +.Fn bit_test +は、ビット列 +.Ar name +内で、ゼロを起点として +.Fa bit +番目のビットがセットされている場合、評価結果はゼロでない値になり、 +それ以外の場合はゼロと評価されます。 +.Pp +マクロ +.Fn bit_ffs +は、 +.Ar name +が参照する +.Fa nbits +ビットの配列のなかで、セットされたビットが最初に現れる位置を +ゼロを起点として番号付けした値を、 +.Fa value +が参照する位置に格納します。どのビットも設定されていない場合、 +.Fa value +が参照する位置に、-1 が設定されます。 +.Pp +マクロ +.Fn bit_ffc +は、 +.Ar name +が参照する +.Fa nbits +ビットの配列のなかで、セットされていないビットが最初に現れる位置を、 +ゼロを起点として番号付けした値を、 +.Fa value +が参照する位置に格納します。どのビットも設定されている場合、 +.Fa value +が参照する位置に、-1 が設定されます。 +.Pp +これらのマクロの引数は、 +1 回だけ評価され、安全な副作用がある +可能性があります。 +.Sh 例 +.Bd -literal -offset indent +#include +#include + +... +#define LPR_BUSY_BIT 0 +#define LPR_FORMAT_BIT 1 +#define LPR_DOWNLOAD_BIT 2 +#define LPR_AVAILABLE_BIT 9 +#define LPR_MAX_BITS 10 + +make_lpr_available() +{ + bitstr_t bit_decl(bitlist, LPR_MAX_BITS); + ... + bit_nclear(bitlist, 0, LPR_MAX_BITS - 1); + ... + if (!bit_test(bitlist, LPR_BUSY_BIT)) { + bit_clear(bitlist, LPR_FORMAT_BIT); + bit_clear(bitlist, LPR_DOWNLOAD_BIT); + bit_set(bitlist, LPR_AVAILABLE_BIT); + } +} +.Ed +.Sh 関連項目 +.Xr malloc 3 +.Pp +.Sh 歴史 +.Nm bitstring +関数は最初に +.Bx 4.4 +で現れました。 +.\" kuma diff --git a/ja_JP.eucJP/man/man3/bsearch.3 b/ja_JP.eucJP/man/man3/bsearch.3 new file mode 100644 index 0000000000..dcdaecf159 --- /dev/null +++ b/ja_JP.eucJP/man/man3/bsearch.3 @@ -0,0 +1,94 @@ +.\" Copyright (c) 1990, 1991, 1993, 1994 +.\" 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. +.\" +.\" @(#)bsearch.3 8.3 (Berkeley) 4/19/94 +.\" +.Dd April 19, 1994 +.Dt BSEARCH 3 +.Os +.Sh 名称 +.Nm bsearch +.Nd ソート済みの表に対するバイナリ探索 +.Sh 書式 +.Fd #include +.Ft void * +.Fn bsearch "const void *key" "const void *base" "size_t nmemb" "size_t size" "int (*compar) (const void *, const void *)" +.Sh 解説 +.Fn bsearch +関数は、 +最初のメンバが +.Fa base +によって示されている +.Fa nmemb +個のオブジェクトの配列の中から +.Fa key +が指すオブジェクト +に一致するメンバを探します。 +配列の各メンバのサイズは +.Fa size +で指定されます。 +.Pp +配列の内容は、 +.Fa compar +が参照する比較関数に従って昇順にソート +された状態でなければなりません。 +.Fa compar +ルーチンには、 +2 つの引数があり、 +.Fa key +オブジェクト +と配列メンバをこの順序で指します。 +.Fa key +オブジェクトが、配列メンバより +小さい、一致する、またはより多いことが検出された場合、それぞれゼロより +小さい整数、ゼロ、ゼロを超える整数が返されます。 +.Sh 戻り値 +.Fn bsearch +関数は、配列の一致するメンバを指すポインタを返します。または、 +一致するメンバが見つからない場合は +NULL +ポインタを返します。 +もし 2 つのメンバが比較の対象として等しい場合、 +一致したメンバがどちらになるかは不定となります。 +.Sh 関連項目 +.Xr db 3 , +.Xr lsearch 3 , +.Xr qsort 3 +.\" .Xr tsearch 3 +.Sh 規格 +.Fn bsearch +関数は +.St -ansiC +に準拠しています。 diff --git a/ja_JP.eucJP/man/man3/bstring.3 b/ja_JP.eucJP/man/man3/bstring.3 new file mode 100644 index 0000000000..83228796ff --- /dev/null +++ b/ja_JP.eucJP/man/man3/bstring.3 @@ -0,0 +1,116 @@ +.\" Copyright (c) 1990, 1991, 1993 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" This code is derived from software contributed to Berkeley by +.\" Chris Torek. +.\" 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. +.\" +.\" @(#)bstring.3 8.1 (Berkeley) 6/4/93 +.\" +.Dd June 4, 1993 +.Dt BSTRING 3 +.Os +.Sh 名称 +.Nm bcmp , +.Nm bcopy , +.Nm bzero , +.Nm memccpy , +.Nm memchr , +.Nm memcmp , +.Nm memcpy , +.Nm memmove, +.Nm memset +.Nd バイト文字列の操作 +.Sh 書式 +.Fd #include +.Ft int +.Fn bcmp "const void *b1" "const void *b2" "size_t len" +.Ft void +.Fn bcopy "const void *src" "void *dst" "size_t len" +.Ft void +.Fn bzero "void *b" "size_t len" +.Ft void * +.Fn memchr "const void *b" "int c" "size_t len" +.Ft int +.Fn memcmp "const void *b1" "const void *b2" "size_t len" +.Ft void * +.Fn memccpy "void *dst" "const void *src" "int c" "size_t len" +.Ft void * +.Fn memcpy "void *dst" "const void *src" "size_t len" +.Ft void * +.Fn memmove "void *dst" "const void *src" "size_t len" +.Ft void * +.Fn memset "void *b" "int c" "size_t len" +.Sh 解説 +これらの関数は、さまざまな長さのバイトストリングに作用します。これらは、 +.Xr string 3 +にリストされたルーチンのように終了の +NULL +バイトをチェック +しません。 +.Pp +詳細については、専用のマニュアルページを参照してください。 +.Sh 関連項目 +.Xr bcmp 3 , +.Xr bcopy 3 , +.Xr bzero 3 , +.Xr memccpy 3 , +.Xr memchr 3 , +.Xr memcmp 3 , +.Xr memcpy 3 , +.Xr memmove 3 , +.Xr memset 3 +.Sh 規格 +関数 +.Fn memchr +、 +.Fn memcmp +、 +.Fn memcpy +、 +.Fn memmove +、および +.Fn memset +は +.St -ansiC +に準拠しています。 +.Sh 歴史 +関数 +.Fn bzero +と +.Fn memccpy +は +.Bx 4.3 +で現れました。関数 +.Fn bcmp +と +.Fn bcopy +は +.Bx 4.2 +で現れました。 diff --git a/ja_JP.eucJP/man/man3/btree.3 b/ja_JP.eucJP/man/man3/btree.3 new file mode 100644 index 0000000000..6b30481e92 --- /dev/null +++ b/ja_JP.eucJP/man/man3/btree.3 @@ -0,0 +1,240 @@ +.\" 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. +.\" +.\" @(#)btree.3 8.4 (Berkeley) 8/18/94 +.\" +.\" jpman %Id% +.\" +.TH BTREE 3 "August 18, 1994" +.\" .UC 7 +.SH 名称 +btree \- btree データベースアクセス方式 +.SH 書式 +.nf +.ft B +#include +#include +.ft R +.fi +.SH 解説 +ルーチン +.IR dbopen +は、データベースファイルへのライブラリインタフェースです。 +サポートされているファイル形式の 1 つは btree ファイルです。 +データベースアクセス方式の一般的な説明は +.IR dbopen(3) +にあります。このマニュアルページは、 +btree に固有の情報についてだけ説明しています。 +.PP +btree データ構造は、関連するキー / データのペアを格納する、 +ソート済みのバランスのとれたツリー構造です。 +.PP +.I dbopen +に提供される btree アクセス方式に固有のデータ構造は、 +次のように インクルードファイルに定義されています。 +.PP +typedef struct { +.RS +u_long flags; +.br +u_int cachesize; +.br +int maxkeypage; +.br +int minkeypage; +.br +u_int psize; +.br +int (*compare)(const DBT *key1, const DBT *key2); +.br +size_t (*prefix)(const DBT *key1, const DBT *key2); +.br +int lorder; +.RE +} BTREEINFO; +.PP +この構造体のエレメントは次のとおりです。 +.TP +flags +flag の値は以降の値の +.IR or +(論理和) を取ることによって定義されます。 +.RS +.TP +R_DUP +ツリー内部に重複したキーを許容します。 +すなわち、挿入するキーが +ツリー内に既に存在する場合にも挿入を許容します。 +.IR dbopen(3) +に記述されたデフォルトの動作としては、 +新しいキーを挿入するときに一致するキーを上書きするか、 +または R_NOOVERWRITE フラグが指定されている場合は処理失敗します。 +R_DUP フラグは R_NOOVERWRITE フラグによって上書きされ、 +R_NOOVERWRITE フラグが指定されている場合は、 +重複するキーをツリーに挿入しようとする処理が失敗します。 +.IP +データベースに重複したキーが含まれている場合、 +.I get +ルーチンを使用すると、 +キー / データのペアの取り出しの順序は未定義になります。 +しかし、R_CURSOR フラグを設定して +.I seq +ルーチンを呼び出すと、 +重複したキーの論理的な ``最初'' が必ず返されます。 +.RE +.TP +cachesize +メモリキャッシュの示唆する最大サイズ (バイト単位)。 +この値は +.B 単に +アドバイスにすぎず、 +アクセス方式は処理失敗せずに多くのメモリを割り振ります。 +各検索がツリーのルートページを調査するので、 +最も最近に使用されたページをキャッシュすると、 +アクセス時間が短くなります。 +さらに、物理的な書き込みは可能な限り遅延されるので、 +適度なキャッシュは入出力操作の回数を大幅に減少できます。 +明らかに、キャッシュを使用すると、 +ツリーを修正している間にシステムがクラッシュした場合、 +データが破損または喪失される見込みは増大します (増大するだけです)。 +.I cachesize +が 0 (サイズが指定されていない) の場合、 +デフォルトのキャッシュが使用されます。 +.TP +maxkeypage +1 ページに格納されるキーの最大数。現時点では実現されていません。 +.TP +minkeypage +1 ページに格納されるキーの最少数。 +この値を使用して、 +オーバフローページにどのキーが格納されるかを判定します。 +すなわち、キーまたはデータ構造が、minkeypage 値で除算された +pagesize より長い場合は、ページ自体にではなく、 +オーバフローページに格納されます。 +.I minkeypage +が 0 (キーの最少数が指定されていない) の場合、 +値 2 が使用されます。 +.TP +psize +ページサイズは、ツリー内のノードに使用されるページのサイズ +(バイト単位)です。最少ページサイズは 512 バイトであり、 +最大ページサイズは 64K です。 +.I psize +が 0 (ページサイズが指定されていない) の場合、 +ページサイズは、基層となっている +ファイルシステム入出力ブロックサイズを基礎にして選択されます。 +.TP +compare +compare はキー比較関数です。 +最初のキー引数が 2 番めのキー引数より小さいと考えられるときは、 +0 より小さい整数を返す必要があります。 +2 番めのキー引数と同じと考えられるときは、 +0 を返す必要があります。 +2 番めのキー引数より大きいと考えられるときは、 +0 より大きい整数を返す必要があります。 +指定のツリーについては、ツリーが開かれるたびに、 +同じ比較関数を使用する必要があります。 +.I compare +がヌルの場合 (比較関数が指定されない場合)、 +キーは辞書的に比較され、 +短いキーは長いキーより小さいと見なされます。 +.TP +prefix +prefix は接頭語比較関数です。 +指定すると、このルーチンは、2 番めのキーとなる引数のバイト数を返します。 +これは、2 番めの引数が1 番めの引数より大きいことを判定するために必要です。 +キーが等しい場合は、キーの長さが返されるはずです。 +このルーチンの便利さはきわめてデータに依存します。 +しかし、データセットによっては、 +ツリーのサイズと検索時間が大幅に削減できることもあることに注意してください。 +.I prefix +がヌル (接頭語関数が指定されていない) であって、 +.B しかも +比較関数が指定されない場合は、 +デフォルトの辞書的な比較ルーチンが使用されます。 +.I prefix +がヌルであり、しかも比較ルーチンが指定されている場合、 +比較は行われません。 +.TP +lorder +格納されたデータベースメタデータ内の整数のバイト順序。 +数字は整数としての順序を表すはずです。 +たとえば、ビッグエンディアン順では数字 4,321 になります。 +.I lorder +が 0 の (順序が指定されていない) 場合、 +現在のホスト順序が使用されます。 +.PP +ファイルが既に存在している場合 +(しかも O_TRUNC フラグが指定されていない場合)、 +パラメータフラグ lorder と psize について指定された値は、 +ツリーが作成されたときに使用された値のために無視されます。 +.PP +ツリーの前方シーケンシャル走査は、 +最も小さいキーから最も大きいキーに向かいます。 +.PP +ツリーからキー / データのペアを削除することによって解放された空間は、 +再び要求されることはありませんが、 +再使用のために利用できるようにされるのが普通です。 +すなわち、btree 記憶域は成長のみです。 +唯一の解決策は、過度な削除を避けること、 +または既存のツリーの走査から定期的に新しいツリーを作成することです。 +.PP +btree 内の検索、挿入、および削除はすべて、 +基底が平均のフィル要因である基底 N の O の対数で完了します。 +順序付けられたデータを btree に挿入すると、 +フィル要因が低くなることがよくあります。 +この実装では、順序付けられた挿入が最良のケースとなり、 +通常のページフィル要因よりはるかに良い結果になるように修正してあります。 +.SH 誤り +.I btree +アクセス方式ルーチンは、ライブラリルーチン +.IR dbopen(3) +について指定したエラーの場合、処理失敗し、 +.I errno +を設定する可能性があります。 +.SH 関連項目 +.IR dbopen (3), +.IR hash (3), +.IR mpool (3), +.IR recno (3) +.sp +.IR "The Ubiquitous B-tree" , +Douglas Comer, ACM Comput. Surv. 11, 2 (June 1979), 121-138. +.sp +.IR "Prefix B-trees" , +Bayer and Unterauer, ACM Transactions on Database Systems, Vol. 2, 1 +(March 1977),11-26. +.sp +.IR "The Art of Computer Programming Vol. 3: Sorting and Searching" , +D.E. Knuth, 1968, pp 471-480. +.SH バグ +ビッグエンディアンおよびリトルエンディアンのバイト順序だけがサポート +されています。 diff --git a/ja_JP.eucJP/man/man3/byteorder.3 b/ja_JP.eucJP/man/man3/byteorder.3 new file mode 100644 index 0000000000..2e4918da1f --- /dev/null +++ b/ja_JP.eucJP/man/man3/byteorder.3 @@ -0,0 +1,81 @@ +.\" Copyright (c) 1983, 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. +.\" +.\" @(#)byteorder.3 8.1 (Berkeley) 6/4/93 +.\" +.Dd June 4, 1993 +.Dt BYTEORDER 3 +.Os BSD 4.2 +.Sh 名称 +.Nm htonl , +.Nm htons , +.Nm ntohl , +.Nm ntohs +.Nd ホストとネットワーク間のバイト順序を変換 +.Sh 書式 +.Fd #include +.Ft u_long +.Fn htonl "u_long hostlong" +.Ft u_short +.Fn htons "u_short hostshort" +.Ft u_long +.Fn ntohl "u_long netlong" +.Ft u_short +.Fn ntohs "u_short netshort" +.Sh 解説 +これらのルーチンは、 +16 ビットと +32 ビットの量を、ネットワークバイト順序と +ホストバイト順序の間で変換します。 +ネットワークの順序と同じバイト順序の +マシンでは、ルーチンは +NULL +マクロとして定義されます。 +.Pp +これらのルーチンは、 +.Xr gethostbyname 3 +および +.Xr getservent 3 +によって返される +インターネットアドレスおよびポートとともに使用されることが +最もよくあります。 +.Sh 関連項目 +.Xr gethostbyname 3 , +.Xr getservent 3 +.Sh 歴史 +.Nm byteorder +関数は +.Bx 4.2 +に現れました。 +.Sh バグ +.Tn VAX +は、世界中の他のほとんどすべてのマシンとは逆順にバイトを処理します。 +この問題は、当分解決の見込みはありません。 diff --git a/ja_JP.eucJP/man/man3/bzero.3 b/ja_JP.eucJP/man/man3/bzero.3 new file mode 100644 index 0000000000..c68522fc1d --- /dev/null +++ b/ja_JP.eucJP/man/man3/bzero.3 @@ -0,0 +1,69 @@ +.\" Copyright (c) 1990, 1991, 1993 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" This code is derived from software contributed to Berkeley by +.\" Chris Torek. +.\" +.\" 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. +.\" +.\" @(#)bzero.3 8.1 (Berkeley) 6/4/93 +.\" +.Dd June 4, 1993 +.Dt BZERO 3 +.Os BSD 4.3 +.Sh 名称 +.Nm bzero +.Nd バイトストリングにゼロを書き込む +.Sh 書式 +.Fd #include +.Ft void +.Fn bzero "void *b" "size_t len" +.Sh 解説 +.Fn bzero +関数は、 +.Fa len +個のゼロバイトをストリング +.Fa b +に書き込みます。 +.Fa len +がゼロの +場合、 +.Fn bzero +は何もしません。 +.Pp +.Sh 関連項目 +.Xr memset 3 , +.Xr swab 3 +.Pp +.Sh 歴史 +.Fn bzero +関数は +.Bx 4.3 +で現れました。 + diff --git a/ja_JP.eucJP/man/man3/calendar.3 b/ja_JP.eucJP/man/man3/calendar.3 new file mode 100644 index 0000000000..da85bdf7df --- /dev/null +++ b/ja_JP.eucJP/man/man3/calendar.3 @@ -0,0 +1,229 @@ +.\" Copyright (c) 1997 Wolfgang Helbig +.\" 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. +.\" +.\" $Id: calendar.3,v 1.1.1.1 1999-12-09 16:26:07 kuriyama Exp $ +.\" +.Dd November 29, 1997 +.Dt CALENDAR 3 +.Os +.Sh 名称 +.Nm easterg , +.Nm easterog , +.Nm easteroj , +.Nm gdate , +.Nm jdate , +.Nm ndaysg , +.Nm ndaysj , +.Nm week , +.Nm weekday +.Nd 西暦での日付けの演算 +.Sh 書式 +.Fd #include +.Ft struct date * +.Fn easterg "int year" "struct date *dt" +.Ft struct date * +.Fn easterog "int year" "struct date *dt" +.Ft struct date * +.Fn easteroj "int year" "struct date *dt" +.Ft struct date * +.Fn gdate "int nd" "struct date *dt" +.Ft struct date * +.Fn jdate "int nd" "struct date *dt" +.Ft int +.Fn ndaysg "struct date *dt" +.Ft int +.Fn ndaysj "struct date *dt" +.Ft int +.Fn week "int nd" "int *year" +.Ft int +.Fn weekday "int nd" +.Sh 解説 +これらの関数は、西暦ゼロ年 (すなわちB.C. 1 年) 3 月 1 日 +から西暦 100000 年までの +広範囲の年月のカレンダを演算します。 +.Pp +プログラムは +.Fl lcalendar +とリンクさせる必要があります。 +.Pp +関数 +.Fn easterg +、 +.Fn easterog +および +.Fn easteroj +は、 +Eastern Sunday (復活祭の日曜日) +の日付けを、 +.Fa dt +で指定した構造体に保存し、 +この構造体のポインタを返します。 +関数 +.Fn easterg +は、グレゴリオ暦 +(1582 年以降に西ヨーロッパのほとんどのキリスト教会で採用された) +を仮定し、 +関数 +.Fn easterog +および +.Fn easteroj +は、正統派 +(1582 年以前の西ヨーロッパ教会、および今日まで続く +ギリシャ正教会、ロシア正教会などいわゆる東方正教会) +の規則に従って、 +Easter Sunday +の日付けを演算します。 +その結果、 +.Fn easterog +はグレゴリオ暦(現行太陽暦)を返し、 +.Fn easteroj +はユリウス暦(旧太陽暦)を返します。 +.Pp +関数 +.Fn gdate , +.Fn jdate , +.Fn ndaysg +および +.Fn ndaysj +は、日付けの +.Qq 年、月、日 +という一般表記と、より演算に適した +.Qq 日数 +表現の相互変換を行います。 +B.C. 1 年 3 月 1 日をゼロとして、 +以降の経過日に順番に番号が振られます。 +すなわちこの日番号は、 +B.C. 1 年 3 月 1 日からその日までの経過日数を示します。 +変換は、正数の日番号に対してだけ機能します。 +.Pp +.Fn gdate +および +.Fn jdate +関数は、日番号 +.Fa nd +に対応する日付けを +.Fa dt +で指定した構造体に保存し、 +その構造体のポインタを返します。 +.Pp +.Fn ndaysg +および +.Fn ndaysj +関数は、 +.Fa dt +で指定した日付けの日番号を返します。 +.Pp +.Fn gdate +および +.Fn ndaysg +関数は、 +1582 年 10 月 4 日以降のグレゴリオ暦および、 +以前のユリウス暦を仮定しますが、 +一方、 +.Fn jdate +および +.Fn ndaysj +は一貫してユリウス暦だけを仮定します。 +.Pp +これら 2 つの暦ではうるう年の定義が違います。 +ユリウス暦では 4 の倍数の年はすべてうるう年ですが、 +グレゴリオ暦ではそのうちの +100 の倍数で、 +400 の 倍数ではない年を除きます。 +すなわち、 1700 、 1800 、 1900 、 2100 年はうるう年ではなく、 +2000 年はうるう年になります。 +この新たな規則は、1582 年 10 月 4 日に、 +同日以降の 10 日を削除することで開始されました。 +カトリック国家のほとんどは、 +16 世紀末までにこの新暦を採用しましたが、 +一方、 +20 世紀までなおユリウス暦にとどまる国々もありました。 +英国とその植民地が +新暦に切り替えたのは、 +1752 年 9 月 2 日でしたが、 +その時点ではすでに +11 日を +削除する必要がありました。 +.Pp +関数 +.Fn week +は、 +.Fa nd +で指定された日番号の日付けが含まれる、週番号を返します。 +引数 +.Fa *year +は、その週 (の半分以上) +が含まれる年に設定されます。 +週番号は、 +各年の 3 日以上が含まれる第 1 週を 1 として、 +順番に振られます。 +週は月曜日から始まります。 +この関数はグレゴリオ暦だけに定義されます。 +.Pp +関数 +.Fn weekday +は、 +.Fa nd +で指定された日番号の日付けの曜日 +(月曜 = 0 … 日曜 = 6) +を返します。 +.Pp +構造体 +.Fa date +は +.Aq Pa calendar.h +内で定義されています。次のフィールドを +含みます。 +.Bd -literal -offset indent +int y; /\(** year (0000 - ????) \(**/ +int m; /\(** month (1 - 12) \(**/ +int d; /\(** day of month (1 - 31) \(**/ +.Ed +.Pp +ゼロ年は歴史家の手では +.Qq 1 B.C. +と書かれますが、天文学者とこのライブラリ +では +.Qq 0 +と表記されます。 +.Sh 関連項目 +.Xr ncal 1 , +.Xr strftime 3 +.Rs +.%A A. B. Author +.%D November 1997 +.Sh 規格 +週番号は ISO 8601: 1988 に準拠しています。 +.Sh 歴史 +.Nm calendar +ライブラリは +.Fx 3.0 +で最初に取り入れられました。 +.Sh 作者 +このマニュアルページとライブラリは、 +.An Wolfgang Helbig Aq helbig@FreeBSD.org +によって書かれました。 +.Sh バグ +このライブラリはきわめて慎重にコーディングされたので、残されたバグ +はありません。 diff --git a/ja_JP.eucJP/man/man3/cam.3 b/ja_JP.eucJP/man/man3/cam.3 new file mode 100644 index 0000000000..18f5046c59 --- /dev/null +++ b/ja_JP.eucJP/man/man3/cam.3 @@ -0,0 +1,492 @@ +.\" +.\" Copyright (c) 1998 Kenneth D. Merry. +.\" 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. The name of the author may not be used to endorse or promote products +.\" derived from this software without specific prior written permission. +.\" +.\" 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. +.\" +.\" $Id: cam.3,v 1.1.1.1 1999-12-09 16:26:07 kuriyama Exp $ +.\" +.Dd October 10, 1998 +.Os FreeBSD 3.0 +.Dt CAM 3 +.Sh 名称 +.Nm cam_open_device , +.Nm cam_open_spec_device , +.Nm cam_open_btl , +.Nm cam_open_pass , +.Nm cam_close_device , +.Nm cam_close_spec_device , +.Nm cam_getccb , +.Nm cam_send_ccb , +.Nm cam_freeccb , +.Nm cam_path_string , +.Nm cam_device_dup , +.Nm cam_device_copy , +.Nm cam_get_device +.Nd CAM ユーザライブラリ +.Sh 書式 +.Fd #include +.Ft struct cam_device * +.Fo cam_open_device +.Fa "const char *path" +.Fa "int flags" +.Fc +.Ft struct cam_device * +.Fo cam_open_spec_device +.Fa "const char *dev_name" +.Fa "int unit" +.Fa "int flags" +.Fa "struct cam_device *device" +.Fc +.Ft struct cam_device * +.Fo cam_open_btl +.Fa "path_id_t path_id" +.Fa "target_id_t target_id" +.Fa "lun_id_t target_lun" +.Fa "int flags" +.Fa "struct cam_device *device" +.Fc +.Ft struct cam_device * +.Fo cam_open_pass +.Fa "const char *path" +.Fa "int flags" +.Fa "struct cam_device *device" +.Fc +.Ft void +.Fo cam_close_device +.Fa "struct cam_device *dev" +.Fc +.Ft void +.Fo cam_close_spec_device +.Fa "struct cam_device *dev" +.Fc +.Ft union ccb * +.Fo cam_getccb +.Fa "struct cam_device *dev" +.Fc +.Ft int +.Fo cam_send_ccb +.Fa "struct cam_device *device" +.Fa "union ccb *ccb" +.Fc +.Ft void +.Fo cam_freeccb +.Fa "union ccb *ccb" +.Fc +.Ft char * +.Fo cam_path_string +.Fa "struct cam_device *dev" +.Fa "char *str" +.Fa "int len" +.Fc +.Ft struct cam_device * +.Fo cam_device_dup +.Fa "struct cam_device *device" +.Fc +.Ft void +.Fo cam_device_copy +.Fa "struct cam_device *src" +.Fa "struct cam_device *dst" +.Fc +.Ft int +.Fo cam_get_device +.Fa "const char *path" +.Fa "char *dev_name" +.Fa "int devnamelen" +.Fa "int *unit" +.Fc +.Sh 解説 +CAM +ライブラリは、 +CAM +システムでのプログラミングを補助するよう +設計されたいくつかの関数で構成されています。 +このマニュアルページは、 +ライブラリ関数の基本セットについて説明してあります。 +次にリストする +マニュアルページにさらに多くの関数が記載してあります。 +.Pp +多数の +CAM +ライブラリ関数が +.Va cam_device +構造体を使用します。 +.Bd -literal +struct cam_device { + char device_path[MAXPATHLEN+1];/* + * ユーザが指定した + * デバイスのパス名。 + * ユーザがデバイス名 + * とユニット番号を + * 別々に記述すると + * これは NULL に + * なることがあります。 + */ + char given_dev_name[DEV_IDLEN+1];/* + * ユーザが指定した + * デバイス名。 + */ + u_int32_t given_unit_number; /* + * ユーザが指定した + * ユニット番号。 + */ + char device_name[DEV_IDLEN+1];/* + * デバイス名。 + * たとえば 'pass' + */ + u_int32_t dev_unit_num; /* この特定のデバイスに + * 対応する通過デバイスの + * ユニット番号。 + */ + char sim_name[SIM_IDLEN+1];/* + * コントローラ名。 + * たとえば 'ahc' + */ + u_int32_t sim_unit_number; /* コントローラユニット番号 */ + u_int32_t bus_id; /* コントローラバス番号 */ + lun_id_t target_lun; /* 論理ユニット番号 */ + target_id_t target_id; /* ターゲット ID */ + path_id_t path_id; /* システム SCSI バス番号 */ + u_int16_t pd_type; /* 周辺装置のタイプ */ + struct scsi_inquiry_data inq_data; /* SCSI 照会データ */ + u_int8_t serial_num[252]; /* デバイスシリアル番号 */ + u_int8_t serial_num_len; /* シリアル番号の長さ */ + u_int8_t sync_period; /* 調整された同期周期 */ + u_int8_t sync_offset; /* 調整された同期オフセット */ + u_int8_t bus_width; /* 調整されたバス幅 */ + int fd; /* デバイスのファイル記述子 */ +}; +.Ed +.Pp +.Fn cam_open_device +は、引数として、開こうとしているデバイスを記述する文字列、 +および +.Xr open 2 +に渡すのに適切な +.Ar flags +を取ります。 +渡される「パス」は、 +実際には、開くデバイス名とユニット番号が入った任意のタイプの +文字列です。 +文字列は +.Fn cam_get_device +によって解釈されて、 +デバイス名とユニット番号になります。デバイス名とユニット番号が +決定されると、ルックアップが実行されて、指定のデバイスに対応する通過 +デバイスを決定します。 +.Fn cam_open_device +は使用法はかなり簡単ですが、 +現実には一般的な使用に適していません。動作が必ずしも +決定的ではないからです。新しいアプリケーションを作成しているプログラマは、 +以下に説明する他のオープンルーチンの +1 つを使用するようにしてください。 +.Pp +.Fn cam_open_spec_device +は、渡されたデバイス名とユニット番号に対応する +.Xr pass 4 +デバイスを開きます。 +.Ar flags +は、 +.Xr open 2 +に渡すのに適切なフラグである +必要があります。 +.Ar device +引数はオプションです。 +ユーザは、 +.Va cam_device +構造体に +割り振り済みの空間を指定できます。 +.Ar device +引数が +.Va NULL +の場合、 +.Fn cam_open_spec_device +は、 +.Xr malloc 3 +を使用して +.Va cam_device +構造体用の空間を +割り振ります。 +.Pp +.Fn cam_open_btl +は、 +.Fn cam_open_spec_device +に類似していますが、引数として、 +デバイス名とユニット番号の代わりに +.Tn SCSI +バス、ターゲット、および論理 +ユニットを取る点が異なります。 +.Va path_id +引数は、 +.Tn SCSI +バス番号の +CAM +の +同等のものです。これはシステム内の論理バス番号を表します。 +.Ar flags +は、 +.Xr open 2 +に渡すのに適切なフラグである必要があります。 +.Fn cam_open_spec_device +と同じように、 +.Ar device +引数はオプションです。 +.Pp +.Fn cam_open_pass +は、引数として、開く +.Xr pass 4 +デバイスの +.Fa path +を取ります。 +変換もルックアップも行われないので、 +渡されるパスは CAM +.Xr pass 4 +デバイスの +パスでなければなりません。 +.Ar flags +は、 +.Xr open 2 +に渡すのに適したフラグである +必要があります。 +.Ar device +引数は、ユーザが +CAM +ライブラリに +.Va cam_device +構造体用の空間を割り振りさせたい場合は、 +.Fn cam_open_spec_device +および +.Fn cam_open_btl +と同じように、 +.Va NULL +である必要があります。 +.Fn cam_close_device +は、上記の open() 呼び出しの +1 つが割り振った +.Va cam_device +構造体を解放し、通過デバイスへのファイル記述子を閉じます。 +ユーザが +.Va cam_device +構造体用の空間を割り振っている場合は、このルーチンを呼び +出してはなりません。 +代わりに、ユーザは +.Fn cam_close_spec_device +を呼び出すべきです。 +.Pp +.Fn cam_close_spec_device +は、上記の open() ルーチンの +1 つで開かれた +ファイル記述子を閉じるだけです。この関数は、 +.Va cam_device +が +CAM +ライブラリ +ではなく、呼び出し元によって割り振られたときに呼び出す必要があります。 +.Pp +.Fn cam_getccb +は、 +.Xr malloc 3 +を使用して +CCB ( +.Xr ccb 4 +を参照 +) +を割り振り、 +.Va cam_device +構造の値を使用して +CCB +ヘッダ内にフィールドを設定します。 +.Pp +.Fn cam_send_ccb +は、指定の +.Va ccb +を、 +.Va cam_device +構造体内で記述された +.Ar device +に +送信します。 +.Pp +.Fn cam_freeccb +は、 +.Fn cam_getccb +が割り振った +CCB +を解放します。 +.Pp +.Fn cam_path_string +は、引数として、 +.Va cam_device +構造体、および長さが +.Fa len +のストリングを取ります。 +この関数は、カーネルが使用するのと類似した、コロンで +終了する印刷接頭語ストリングを作成します。 +たとえば、"(cd0:ahc1:0:4:0): " です。 +.Fn cam_path_string +は、多くとも +.Fa len Ns \-1 +キャラクタを +.Ar str +に設定します。 +.Fa len +番めのキャラクタは、終了を示す +.Ql \e0 +です。 +.Pp +.Fn cam_device_dup +は、 +.Xr strdup 3 +と同じように方法で動作します。 +.Va cam_device +構造体用に空間を割り当て、渡された +.Ar device +構造体の内容を、新たに割り振られた +構造体にコピーします。 +.Pp +.Fn cam_device_copy +は +.Fa src +構造体を +.Fa dst +にコピーします。 +.Pp +.Fn cam_get_device +は、デバイス名にユニット番号が続いたストリングの入った +.Fa path +引数を取ります。次に、ストリングをデバイス名とユニット名に分解し、 +それぞれ +.Fa dev_name +と +.Fa unit +に戻します。 +.Fn cam_get_device +は、少なくとも次の +形式のストリングを処理できます。 +.Pp +.Bl -tag -width 1234 -compact +.It /dev/foo0a +.It /dev/rfoo0a +.It /dev/rfoo1s2c +.It foo0 +.It foo0a +.It rfoo0 +.It rfoo0a +.It nrfoo0 +.El +.Pp +.Fn cam_get_device +は、 +.Fn cam_open_device +に類似した機能を準備する必要がある +アプリケーション用の便利な関数として備えられています。プログラマは、 +可能であれば、デバイス名とユニット番号を得るもっと決定的な方式を +使用することをお勧めします。 +.Sh 戻り値 +.Fn cam_open_device +、 +.Fn cam_open_spec_device +、 +.Fn cam_open_btl +、および +.Fn cam_open_pass +は、 +.Va cam_device +構造を指すポインタを返します。または、 +エラーがあった場合は +.Va NULL +を返します。 +.Pp +.Fn cam_getccb +は、割り振り済みで部分的に初期化済みの +CCB +を返します。また、 +CCB +の割り振りが処理失敗した場合は +.Va NULL +を返します。 +.Pp +.Fn cam_send_ccb +は、エラーが発生した場合、値 -1 を返し、 +.Va errno +がエラーを +示すように設定されます。 +.Pp +.Fn cam_path_string +は、便宜として記入された印刷接頭語を返します。これは、 +.Fn cam_path_string +に渡されるのと同じ +.Ar str +です。 +.Pp +.Fn cam_device_dup +は、渡された +.Ar device +のコピーを返します。または、エラーが +発生した場合は +.Va NULL +を返します。 +.Pp +.Fn cam_get_device +は、処理成功の場合は 0 を返し、 +処理失敗を示す場合は -1 を返します。 +.Pp +ここで説明した基本 CAM ライブラリ関数の 1 つから +エラーが返された場合は、 +エラーの理由が一般にグローバルストリング +.Va cam_errbuf +に印刷されます。 +これの長さは +.Dv CAM_ERRBUF_SIZE +キャラクタです。 +.Sh 関連項目 +.Xr cam_cdbparse 3 , +.Xr pass 4 , +.Xr camcontrol 8 , +.Pp +.Sh 歴史 +CAM ライブラリは最初に +.Fx 3.0 +で現れました。 +.Sh 作者 +.An Kenneth Merry Aq ken@FreeBSD.ORG +.Sh バグ +.Fn cam_open_device +は、渡された +.Fa path +が何かへの +symlink +であるかどうか +チェックしません。渡された +.Fa path +が実際の +.Xr pass 4 +デバイスであるかどうかも +チェックしません。前のチェックを実現するのはかなり簡単でしょうが、後の +チェックを実行するためには、 +.Xr pass 4 +デバイスとしてデバイスノードを識別する +決定的な方法が必要でしょう。 +.Pp +おそらく関数には名前が不適切なものや、名前が不十分なものがあります。 diff --git a/ja_JP.eucJP/man/man3/cam_cdbparse.3 b/ja_JP.eucJP/man/man3/cam_cdbparse.3 new file mode 100644 index 0000000000..093fa13ed2 --- /dev/null +++ b/ja_JP.eucJP/man/man3/cam_cdbparse.3 @@ -0,0 +1,615 @@ +.\" +.\" Copyright (c) 1998 Kenneth D. Merry. +.\" 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. The name of the author may not be used to endorse or promote products +.\" derived from this software without specific prior written permission. +.\" +.\" 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. +.\" +.\" $Id: cam_cdbparse.3,v 1.1.1.1 1999-12-09 16:26:07 kuriyama Exp $ +.\" jpman %Id% +.\" +.\" This man page borrows heavily from the old scsi(3) man page, which had +.\" the following copyright: +.\" +.\" Copyright (c) 1994 HD Associates (hd@world.std.com) +.\" 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 HD Associates +.\" 4. Neither the name of the HD Associates 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 HD ASSOCIATES``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 HD ASSOCIATES 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. +.\" +.\" +.Dd October 13, 1998 +.Os FreeBSD 3.0 +.Dt CAM_CDBPARSE 3 +.Sh 名称 +.Nm csio_build , +.Nm csio_build_visit , +.Nm csio_decode , +.Nm csio_decode_visit , +.Nm buff_decode , +.Nm buff_decode_visit , +.Nm csio_encode , +.Nm csio_encode_visit , +.Nm buff_encode_visit +.Nd CAM ユーザライブラリ SCSI バッファパーズルーチン +.Sh 書式 +.Fd #include +.Ft int +.Fo csio_build +.Fa "struct ccb_scsiio *csio" +.Fa "u_int8_t *data_ptr" +.Fa "u_int32_t dxfer_len" +.Fa "u_int32_t flags" +.Fa "int retry_count" +.Fa "int timeout" +.Fa "char *cmd_spec" +.Fa "..." +.Fc +.Ft int +.Fo csio_build_visit +.Fa "struct ccb_scsiio *csio" +.Fa "u_int8_t *data_ptr" +.Fa "u_int32_t dxfer_len" +.Fa "u_int32_t flags" +.Fa "int retry_count" +.Fa "int timeout" +.Fa "char *cmd_spec" +.Fa "int (*arg_get)(void *hook, char *field_name)" +.Fa "void *gethook" +.Fc +.Ft int +.Fo csio_decode +.Fa "struct ccb_scsiio *csio" +.Fa "char *fmt" +.Fa "..." +.Fc +.Ft int +.Fo csio_decode_visit +.Fa "struct ccb_scsiio *csio" +.Fa "char *fmt" +.Fa "void (*arg_put)(void *hook" +.Fa "int letter" +.Fa "void *val" +.Fa "int count" +.Fa "char *name)" +.Fa "void *puthook" +.Fc +.Ft int +.Fo buff_decode +.Fa "u_int8_t *buff" +.Fa "size_t len" +.Fa "char *fmt" +.Fa "..." +.Fc +.Ft int +.Fo buff_decode_visit +.Fa "u_int8_t *buff" +.Fa "size_t len" +.Fa "char *fmt" +.Fa "void (*arg_put)(void *, int, void *, int, char *)" +.Fa "void *puthook" +.Fc +.Ft int +.Fo csio_encode +.Fa "struct ccb_scsiio *csio" +.Fa "char *fmt" +.Fa "..." +.Fc +.Ft int +.Fo csio_encode_visit +.Fa "struct ccb_scsiio *csio" +.Fa "char *fmt" +.Fa "int (*arg_get)(void *hook, char *field_name)" +.Fa "void *gethook" +.Fc +.Ft int +.Fo buff_encode_visit +.Fa "u_int8_t *buff" +.Fa "size_t len" +.Fa "char *fmt" +.Fa "int (*arg_get)(void *hook, char *field_name)" +.Fa "void *gethook" +.Fc +.Sh 解説 +CAM +バッファ +/CDB +エンコードおよびデコードルーチンは、古い +.Tn SCSI +レイヤの、類似した名前の +.Va scsireq_ Ns * +関数で書かれたユーザランド +.Tn SCSI +アプリケーション用の比較的簡単なパスを提供します。 +.Pp +これらの関数は、新しいアプリケーションで使われる可能性がありますが、ユーザ +は、 +.Xr cam 3 +ライブラリに組み入れられた関数を構築する各種 SCSI CCB 構築関数を +使用する方が簡単と考えることもあります ( +たとえば、 +.Fn cam_fill_csio , +.Fn scsi_start_stop , +.Fn csi_read_write +です)。 +.Pp +.Fn csio_build +は、変数引数リストに提供された情報をもとにして +.Va ccb_scsiio +構造体を構築します。この関数は、この関数に渡される NULL の +.Fa data_ptrt +引数を整然と処理します。 +.Pp +.Fa dxfer_len +は、データフェーズの長さです。データ転送の方向は +.Fa flags +引数によって決まります。 +.Pp +.Fa data_ptr +は、 +.Tn SCSI +データフェーズの間に使用されるデータバッファです。問題の +.Tn SCSI +コマンドについてデータが転送されない場合は、これを NULL に設定する +必要があります。コマンドについて転送するデータがある場合は、このバッファは +少なくとも +.Fa dxfer_len +の長さでなければなければなりません。 +.Pp +.Fa flags +は +.Aq Pa cam/cam_ccb.h +に定義されたフラグでなければなりません。 +.Bd -literal +/* 共通の CCB ヘッダ */ +/* CAM CCB フラグ */ +typedef enum { + CAM_CDB_POINTER = 0x00000001,/* CDB フィールドはポインタである */ + CAM_QUEUE_ENABLE = 0x00000002,/* SIM 待ち行列処置は有効である */ + CAM_CDB_LINKED = 0x00000004,/* CCB はリンクした CDB を含む */ + CAM_SCATTER_VALID = 0x00000010,/* 分散/収集リストは有効である */ + CAM_DIS_AUTOSENSE = 0x00000020,/* 自動探知機能を無効にする */ + CAM_DIR_RESV = 0x00000000,/* データ方向 (00:予約済み) */ + CAM_DIR_IN = 0x00000040,/* データ方向 (01:DATA IN) */ + CAM_DIR_OUT = 0x00000080,/* データ方向 (10:DATA OUT) */ + CAM_DIR_NONE = 0x000000C0,/* データ方向 (11:データなし) */ + CAM_DIR_MASK = 0x000000C0,/* データ方向マスク */ + CAM_SOFT_RST_OP = 0x00000100,/* 代わりにソフトリセットを使用する */ + CAM_ENG_SYNC = 0x00000200,/* 完了時に剰余バイトをフラッシュする */ + CAM_DEV_QFRZDIS = 0x00000400,/* DEV Q 凍結を無効にする */ + CAM_DEV_QFREEZE = 0x00000800,/* 実行時に DEV Q を凍結する */ + CAM_HIGH_POWER = 0x00001000,/* コマンドは大量の能力を得る */ + CAM_SENSE_PTR = 0x00002000,/* センスデータはポインタである */ + CAM_SENSE_PHYS = 0x00004000,/* センスポインタは物理的なアドレス */ + CAM_TAG_ACTION_VALID = 0x00008000,/* この ccb 内ではタグ処置を使用する */ + CAM_PASS_ERR_RECOVER = 0x00010000,/* 受け渡しドライバエラー。回復 */ + CAM_DIS_DISCONNECT = 0x00020000,/* 切断を無効にする */ + CAM_SG_LIST_PHYS = 0x00040000,/* SG リストに物理アドレスがある */ + CAM_MSG_BUF_PHYS = 0x00080000,/* メッセージバッファ ptr が物理的である */ + CAM_SNS_BUF_PHYS = 0x00100000,/* 自動探知データ ptr が物理的である */ + CAM_DATA_PHYS = 0x00200000,/* SG/バッファデータ ptr が物理的である */ + CAM_CDB_PHYS = 0x00400000,/* CDBポインタが物理的である */ + CAM_ENG_SGLIST = 0x00800000,/* SG リストは HBA エンジン用である */ +.Pp +/* フェーズ認識モードフラグ */ + CAM_DIS_AUTOSRP = 0x01000000,/* 自動保存/復元ポインタを無効にする */ + CAM_DIS_AUTODISC = 0x02000000,/* 自動切断を無効にする */ + CAM_TGT_CCB_AVAIL = 0x04000000,/* ターゲットの CCB が利用可能 */ + CAM_TGT_PHASE_MODE = 0x08000000,/* SIM がフェーズモードで実行される */ + CAM_MSGB_VALID = 0x20000000,/* メッセージバッファが有効 */ + CAM_STATUS_VALID = 0x40000000,/* ステータスバッファが有効 */ + CAM_DATAB_VALID = 0x80000000,/* データバッファが有効 */ +.Pp +/* ホストターゲットモードフラグ */ + CAM_TERM_IO = 0x20000000,/* 入出力メッセージ補充を終了 */ + CAM_DISCONNECT = 0x40000000,/* 切断は必須である */ + CAM_SEND_STATUS = 0x80000000,/* データフェーズの後にステータスを送信 */ +} ccb_flags; +.Ed +.Pp +複数のフラグは OR (論理和) を取る必要があります。 +どの CCB フラグを使用することもできますが、 +以降の重要ないくつかのフラグは使用する +意味がありません。 +.Pp +.Bl -tag -width CAM_PASS_ERR_RECOVER +.It CAM_DIR_IN +問題の操作が読み取り操作であることを示します。すなわち、データは +.Tn SCSI +デバイスからユーザ指定バッファに読み取られています。 +.It CAM_DIR_OUT +操作が書き込み操作であることを示します。すなわち、データは +ユーザ指定バッファからデバイスに書き込まれています。 +.It CAM_DIR_NONE +このコマンドについて転送されるデータはないことを示します。 +.It CAM_DEV_QFRZDIS +デバイス待ち行列を無効にし、エラー回復メカニズムとして +凍結します。 +.It Dv CAM_PASS_ERR_RECOVER +.Xr pass 4 +ドライバにエラー回復を有効にするように +通知します。デフォルトではエラー回復を実行されません。すなわち、このフラグ +がない場合は再試行カウントは重要視されません。 +.It CAM_DATA_PHYS +.Fa data_ptr +に入っているアドレスが、仮想アドレスではなく物理 +アドレスであることを示します。 +.El +.Pp +.Fa retry_count +は、問題のコマンドを何回再試行するかをカーネルに通知します。 +.Xr pass 4 +ドライバが +.Dv CAM_PASS_ERR_RECOVER +フラグによって回復を有効にするよう +指示されていない限り、再試行カウントは無視されます。 +.Pp +.Fa timeout +は、指定のコマンドが完了するのをどのくらい待機するかをカーネルに +通知します。時間が切れ、しかもコマンドが完了していないと、 +CCB +は、該当する +エラーステータスでカーネルから返ります。 +.Pp +.Fa cmd_specis +は SCSI CDB を構築するのに使用される CDB 形式指示子です。 +このテキストストリングは、フィールド指示子のリストで構成されます。 +フィールド指示子は、 +各 CDB フィールド用の値 +(値を変数引数リスト内の次の引数から取ったことを示すことも含む)、 +フィールドの幅 +(ビット単位またはバイト単位)、 +およびオプションの名前を指定します。 +スペースは無視され、 +シャープ記号 ('#') は、現在の行の末尾で終了するコメントの先頭を示します。 +.Pp +オプションの名前は、フィールド指定子の最初の部分であり、中括弧で +囲まれます。次の例で中括弧で囲まれたテキストは名前です。 +.Bd -literal -offset indent +.Fa "{PS} v:b1 {Reserved} 0:b1 {Page Code} v:b6 # Mode select page" +.Ed +.Pp +このフィールド指定子には、3 つのフィールドがあります。 +1 ビットのフィールドが +2 つと 6 ビットのフィールドが +1 つです。 +2 番めの 1 ビットフィールドは +定数値 0 であり、最初の +1 ビットフィールドと 6 ビットフィールドは、 +変数引数リストから取られます。 +複数バイトのフィールドは SCSI のバイト順序で +CDB 内にスワップされ、スペースは無視されます。 +.Pp +フィールドが 16 進数値または文字 v +のとき +( +たとえば、 +.Fa "1A" +または +.Fa "v") +、 +1 バイト値が +CDB +の使用されていない次のバイトにコピーされます。文字 +.Fa v +が +使用されているとき、次の整数引数が変数引数リストから取られ、その値が +使用されます。 +.Pp +定数の +16 進数値にフィールド幅の指定子、または文字 +.Fa v +にフィールド幅指定子 +フィールドが続いたもの +( +たとえば、 +.Fa 3:4 , +.Fa 3:b4 , +.Fa 3:i3 ) +は、指定のビットまたは +バイト幅のフィールドを指定します。定数値、または +(V 指定子の場合) +可変引数リストの次の整数値が、 +CDB +の次の未使用ビットまたはバイトにコピーされます。 +.Pp +10 進数または文字 +.Fa b +に +10 進数フィールド幅が続いたものは、その幅の +ビットフィールドを示します。ビットフィールドは、可能な限り緊密にパック +され、上位ビットで開始し +(SCSI +仕様と同じものを読み取られるようにです +) +、 +1 バイトが完全に一杯になるときはいつでも、または +.Fa i +フィールドが +検出されたときは、 +CDB +の新しいバイトが開始されます。 +.Pp +文字 +.Fa i +の後に +1 、 +2 、 +3 、または +4 が続いたフィールド幅指示子は、 +.Tn SCSI +バイト順に +(MSB が先頭) +スワップしなければならない +1 、 +2 、 +3 、または +4 バイトの +整数値を示します。 +.Pp +.Fa v +フィールド指示子については、次の整数引数が、変数引数リストから取られ、 +その値が +.Tn SCSI +順にスワップするのに使用されます。 +.Pp +.Fn csio_build_visit +は +.Fn csio_build +と動作が類似していますが、 +.Fa cmd_spec +内の +変数引数に置き換わる値が、 +.Xr stdarg 3 +によってではなく、 +.Fn csio_build_visit +に +渡される +.Fn arg_get +関数によって取り出される点が異なります。 +.Fn arg_get +関数は +次の +2 つの引数を取ります。 +.Bl -tag -width field_name +.It Fa gethook +は起動のたびに +.Fn arg_get +関数に渡されます。これによって、 +.Fn arg_get +関数は、グローバル変数または静的変数を使用せずに、間の呼び出しの間に +状態のいくらかを保持することができます。 +.It Fa field_name +は、 +.Fa fmt +がある場合はそれによって与えられる名前です。 +.El +.Pp +.Fn csio_decode +は、 +.Tn SCSI +転送のフェーズでデータの情報をデコードするのに +使用されます。 +.Pp +デコードは、 +.Fn csio_build +のコマンド指示子処理に類似していますが、 +.Fa csio->data_ptr +によって指されるデータからデータを取り出す点は異なります。 +stdarg +リストは、整数値ではなく整数を指すポインタです。 +シークフィールドタイプと抑制修飾子が追加されます。 +.Fa * +抑制修飾子 +( +たとえば、 +.Fa *i3 +または +.Fa *b4 ) +は、フィールドからの割り当てを抑制し、データ内のバイトまたは +ビットをスキップするのに使用できます。これらを +arg +リスト内のダミー変数に +コピーする必要はありません。 +.Pp +シークフィールドタイプ +.Fa s +によって、データをスキップできます。 +これは、'+' 符号の存在があるかないかを基礎にして、 +データ内の絶対位置 ( +.Fa s3 ) +または +相対位置 ( +.Fa s+3 ) +を探します。 +シーク値は +.Fa v +として指定することができ、引数リスト +の次の整数値がシーク値として使用されます。 +.Pp +.Fn csio_decode_visit +は、 +.Fn csio_decode +と同じように動作しますが、デコード +したバッファの内容を +可変長引数に配置する代わりに、デコードしたバッファ +の内容は、渡された +.Fn arg_put +関数を通じてユーザに返される点が異なります。 +.Fn arg_put +関数は、次のいくつかの引数を取ります。 +.Bl -tag -width letter +.It Fa hook +"hook" は、 +.Fn arg_put +関数が呼び出しの間で状態を保存できるようにする +メカニズムです。 +.It Fa letter +関数に渡される引数の形式を記述する文字です。 +.It Fa val +関数に渡される値を指す void ポインタです。 +.It Fa count +.Fn arg_put +関数に渡される引数の数です。 +現時点では、これは 1 にしか設定できません。 +.It Fa name +フィールドのテキスト記述です。ただし +.Fa fmt +内にそれが準備されている +場合です。 +.El +.Pp +.Fn buff_decode +は、 +.Fn csio_decode +について前述した方式を使用して任意の +データバッファをデコードします。 +.Pp +.Fn buff_decode_visit +は、 +.Fn csio_decode_visit +について前述した方式を使用して +任意のデータバッファをデコードします。 +.Pp +.Fn csio_encode +は、 +.Fn csio_build +について前述した方式を使用して、 +.Va ccb_scsiio +の構造 +.Fa data_ptr +部分 +(CDB +ではない +) +をエンコードします。 +.Pp +.Fn csio_encode_visit +は、 +.Fn csio_build_visit +について前述した方式を使用して、 +.Va ccb_scsiio +構造の +.Fa data_ptr +部分 +(CDB +ではない +) +をエンコードします。 +.Pp +.Fn buff_encode_visit +は、 +.Fn csio_build_visit +について前述した方式を使用して、 +任意のデータポインタをエンコードします。 +.Pp +.Sh 戻り値 +.Fn csio_build , +.Fn csio_build_visit , +.Fn csio_encode , +.Fn csio_encode_visit +および +.Fn buff_encode_visit +は、処理済みのフィールドの数を返します。 +.Pp +.Fn csio_decode , +.Fn csio_decode_visit , +.Fn buff_decode +および +.Fn buff_decode_visit +は、実行された割り当ての数を返します。 +.Pp +.Sh 関連項目 +.Xr cam 3 , +.Xr pass 4 , +.Xr camcontrol 8 +.Pp +.Sh 歴史 +これらの関数の CAM バージョンは、 +古い FreeBSD の +.Tn SCSI +レイヤ用に実現された類似の関数を基礎にしています。 +.Tn SCSI +の古いコード内のエンコード/デコード関数は +Peter Dufault が作成したものです。 +.Pp +多数のシステムに、ユーザ空間で SCSI コマンドをユーザが構築できる、 +これと匹敵するインタフェースがあります。 +.Pp +古い +.Va scsireq +データ構造は、SGI の /dev/scsi データ構造とほとんど同じでした。 +作者の名前を知っている人はここに連絡してください。 +Peter Dufault は、 +1989 年の『Sun Expert』誌で、 +最初にこれについて読みました。 +.Pp +新しい CCB データ構造は、 +CAM-2 および CAM-3 仕様に由来しています。 +.Pp +Peter Dufault は、386bsd で SGI のインタフェースのクローンを実現しました。 +これがオリジナルの FreeBSD +.Tn SCSI +ライブラリと関連カーネル ioctl に至るものになりました。 +互換性の必要がある場合は、dufault@hda.com に連絡してください。 +.Sh 作者 +Kenneth Merry が、これらのエンコードおよびデコードの関数の +CAM バージョンを実現しました。 +この現在の作業は、Peter Dufault による以前の作業を基礎にしています。 +.Sh バグ +CDB および +.Tn SCSI +CCB のデータバッファ部分の両方をエンコードする関数はおそらく +あるはずです。 +.Xr camcontrol 8 +で任意のコマンド実行コードを実現している間に私はこれを発見しましたが、 +そのような関数を実現する時間がまだありません。 +.Pp +CCB フラグの説明には本当はここに属さないものがあります。 +それらは一般の CCB マニュアルページに属します。 +そのマニュアルページはまだ書かれていないので、 +ここでの短い説明で間に合います。 diff --git a/ja_JP.eucJP/man/man3/catclose.3 b/ja_JP.eucJP/man/man3/catclose.3 new file mode 100644 index 0000000000..d786e02aab --- /dev/null +++ b/ja_JP.eucJP/man/man3/catclose.3 @@ -0,0 +1,55 @@ +.\" $Id: catclose.3,v 1.1.1.1 1999-12-09 16:26:07 kuriyama Exp $ +.\" +.\" Copyright (c) 1994 Winning Strategies, Inc. +.\" 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 Winning Strategies, Inc. +.\" 4. The name of the author may not be used to endorse or promote products +.\" derived from this software without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 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. +.\" +.Dd May 29, 1994 +.Dt CATCLOSE 3 +.Os +.Sh 名称 +.Nm catclose +.Nd メッセージカタログを閉じる +.Sh 書式 +.Fd #include +.Ft int +.Fn catclose "nl_catd catd" +.Sh 解説 +.Fn catclose +関数は、引数 +.Fa catd +で指定されたメッセージカタログを閉じます。 +.Pp +.Sh 関連項目 +.Xr catgets 3 , +.Xr catopen 3 +.Pp +.Sh 規格 +.Fn catclose +関数は +.St -xpg4 +に準拠しています。 diff --git a/ja_JP.eucJP/man/man3/catgets.3 b/ja_JP.eucJP/man/man3/catgets.3 new file mode 100644 index 0000000000..26f9432109 --- /dev/null +++ b/ja_JP.eucJP/man/man3/catgets.3 @@ -0,0 +1,71 @@ +.\" $Id: catgets.3,v 1.1.1.1 1999-12-09 16:26:07 kuriyama Exp $ +.\" +.\" Copyright (c) 1994 Winning Strategies, Inc. +.\" 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 Winning Strategies, Inc. +.\" 4. The name of the author may not be used to endorse or promote products +.\" derived from this software without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 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. +.\" +.Dd May 29, 1994 +.Dt CATGETS 3 +.Os +.Sh 名称 +.Nm catgets +.Nd メッセージカタログからの文字列の取得 +.Sh 書式 +.Fd #include +.Ft char * +.Fn catgets "nl_catd catd" "int set_id" "int msg_id" "const char *s" +.Sh 解説 +.Fn catgets +関数は、記述子 +.Fa catd +が参照しているメッセージカタログからセット +.Fa set_id +のメッセージ +.Fa msg_id +を取り出そうとします。引数 +.Fa s +は、関数が指定の +メッセージを取り出せない場合に返されるデフォルトメッセージを指定します。 +.Pp +.Sh 戻り値 +指定のメッセージを取り出すことができた場合、 +.Fn catgets +は、 +メッセージストリングの入った内部バッファを指すポインタを返します。 +そうでない場合は、 +.Fa s +を返します。 +.Pp +.Sh 関連項目 +.Xr catclose 3 , +.Xr catopen 3 +.Sh 規格 +.Fn catgets +関数は +.St -xpg4 +に +準拠しています。 diff --git a/ja_JP.eucJP/man/man3/catopen.3 b/ja_JP.eucJP/man/man3/catopen.3 new file mode 100644 index 0000000000..2e76408b78 --- /dev/null +++ b/ja_JP.eucJP/man/man3/catopen.3 @@ -0,0 +1,101 @@ +.\" $Id: catopen.3,v 1.1.1.1 1999-12-09 16:26:07 kuriyama Exp $ +.\" +.\" Copyright (c) 1994 Winning Strategies, Inc. +.\" 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 Winning Strategies, Inc. +.\" 4. The name of the author may not be used to endorse or promote products +.\" derived from this software without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 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. +.\" +.Dd May 29, 1994 +.Dt CATOPEN 3 +.Os +.Sh 名称 +.Nm catopen +.Nd メッセージカタログのオープン +.Sh 書式 +.Fd #include +.Ft nl_catd +.Fn catopen "const char *name" "int oflag" +.Sh 解説 +.Fn catopen +関数は、 +.Fa name +によって指定されるメッセージカタログを開き、 +メッセージカタログ記述子を返します。 +.Fa name +に +.Sq / +が +1 つ含まれる場合、 +.Fa name +はメッセージカタログの完全なパス名を指定します。そうでない場合は、 +環境変数 +.Ev NLSPATH +の値が、 +%N +の代わりに置き換えられ +.Fa name +とともに +使用されます。 +.Pp +.Fa oflag +引数が +.Dv NL_CAT_LOCALE +定数に設定されている場合、メッセージカタログを開くために +.Dv LC_MESSAGES +ロケールカテゴリが使用されます。 +.Dv NL_CAT_LOCALE +を使用することは +.St -xpg4 +規格に準拠しています。 +.St -xpg3 +との互換性を保つために 0 を指定することができます。 +.Fa oflag +が 0 に設定されている場合、 +.Ev LANG +環境変数によってメッセージカタログのロケールが決定されます。 +.Sh 戻り値 +処理が正常に完了すると、 +.Fn catopen +は、メッセージカタログ記述子を返します。 +そうでない場合は、 +(nl_catd) -1 +が返され、エラーを示す +.Va errno +が設定されます。 +.Sh エラー +.Bl -tag -width Er +.It Bq Er ENOMEM +利用できるメモリが不十分です。 +.El +.Sh 関連項目 +.Xr catclose 3 , +.Xr catgets 3 , +.Xr setlocale 3 +.Sh 規格 +.Fn catopen +関数は +.St -xpg4 +に準拠しています。 diff --git a/ja_JP.eucJP/man/man3/ceil.3 b/ja_JP.eucJP/man/man3/ceil.3 new file mode 100644 index 0000000000..dc3d6bbd64 --- /dev/null +++ b/ja_JP.eucJP/man/man3/ceil.3 @@ -0,0 +1,68 @@ +.\" 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. +.\" +.\" from: @(#)ceil.3 5.1 (Berkeley) 5/2/91 +.\" $Id: ceil.3,v 1.1.1.1 1999-12-09 16:26:07 kuriyama Exp $ +.\" +.Dd March 10, 1994 +.Dt CEIL 3 +.Os +.Sh 名称 +.Nm ceil , +.Nm ceilf +.Nd x 以上で最も小さい整数への切上げ +.Sh 書式 +.Fd #include +.Ft double +.Fn ceil "double x" +.Ft float +.Fn ceilf "float x" +.Sh 解説 +.Fn ceil +関数と +.Fn ceilf +関数は、 +.Fa x +以上の最も小さい整数値 +(倍精度数として表現される) +を返します。 +.Sh 関連項目 +.Xr abs 3 , +.Xr fabs 3 , +.Xr floor 3 , +.Xr ieee 3 , +.Xr math 3 , +.Xr rint 3 +.Sh 規格 +.Fn ceil +関数は +.St -ansiC +に準拠しています。 diff --git a/ja_JP.eucJP/man/man3/cfree.3 b/ja_JP.eucJP/man/man3/cfree.3 new file mode 100644 index 0000000000..72eb3fb78f --- /dev/null +++ b/ja_JP.eucJP/man/man3/cfree.3 @@ -0,0 +1,49 @@ +.\" +.\" Copyright (c) 1995 Joerg Wunsch +.\" +.\" 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 DEVELOPERS ``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 DEVELOPERS 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: cfree.3,v 1.1.1.1 1999-12-09 16:26:07 kuriyama Exp $ +.\" " <- this is for hilit19 :) +.Dd November 23, 1995 +.Dt CFREE 3 +.Os +.Sh 名称 +.Nm cfree +.Nd 割り振られたメモリの解放 +.Sh 書式 +.Ft void +.Fn cfree "void *" +.Sh 解説 +.Bf -symbolic +cfree 関数は時代遅れであると考えられています。 +.br +これは互換性ライブラリ libcompat により利用できます。 +.Ef +.Pp +.Nm +関数は +.Xr free 3 +の同義語です。 +.Sh 関連項目 +.Xr free 3 diff --git a/ja_JP.eucJP/man/man3/cftime.3 b/ja_JP.eucJP/man/man3/cftime.3 new file mode 100644 index 0000000000..ae06e5d80e --- /dev/null +++ b/ja_JP.eucJP/man/man3/cftime.3 @@ -0,0 +1,98 @@ +.\" +.\" Copyright (c) 1994, 1995 Joerg Wunsch +.\" +.\" All rights reserved. +.\" +.\" This program is free software. +.\" +.\" 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 Joerg Wunsch +.\" 4. The name of the developer may not be used to endorse or promote +.\" products derived from this software without specific prior written +.\" permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``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 DEVELOPERS 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: cftime.3,v 1.1.1.1 1999-12-09 16:26:07 kuriyama Exp $ +.\" +.Dd June 15, 1993 +.Os +.Dt CFTIME 3 +.Sh 名称 +.Nm cftime +.Nm ascftime +.Nd 日付と時刻の文字列への変換 +.Sh 書式 +.Fd #include +.Ft int +.Fn cftime "char *s" "char *format" "const time_t *clock" +.Ft int +.Fn ascftime "char *s" "const char *format" "const struct tm *tmptr" +.Sh 解説 +.Bf -symbolic +.Nm cftime +関数と +.Nm ascftime +関数は、strftime(3) によって旧式なものとなっています。 +これらは互換性ライブラリ libcompat により利用できます。 +.Ef +.Pp +関数 +.Nm cftime +および +.Nm ascftime +はできるだけ使用しないでください。 +バッファのオーバーフロー状態をチェックする方法がないからです。代わりに +.Xr strftime 3 +を使用してください。 + +.Nm ascftime +は +.Xr strftime 3 +とほとんど同じです。ただし、最大バッファ長を指定するパラメータがないことと、 +.Em NULL +ポインタが指定されると +.Fa format +パラメータがデフォルトで +.Dq %C +になるという点だけは異なります。 + +.Nm cftime +は同じ処理を行ないますが、指定された +.Fa clock +を変換するために最初に +.Xr localtime 3 +を起動してから、 +.Fa format +引数で要求されているような変換を実行します。 + +.Sh 戻り値 +.Nm cftime +関数と +.Nm ascftime +関数は、出力バッファ +.Fa s +に書き込まれた文字数を返します。その場合、末尾のヌル文字は数えません。 + +.Sh 関連項目 +.Xr localtime 3 , +.Xr strftime 3 diff --git a/ja_JP.eucJP/man/man3/clock.3 b/ja_JP.eucJP/man/man3/clock.3 new file mode 100644 index 0000000000..6458c7952c --- /dev/null +++ b/ja_JP.eucJP/man/man3/clock.3 @@ -0,0 +1,65 @@ +.\" Copyright (c) 1990, 1991, 1993 +.\" 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. +.\" +.\" @(#)clock.3 8.1 (Berkeley) 6/4/93 +.\" +.Dd June 4, 1993 +.Dt CLOCK 3 +.Os +.Sh 名称 +.Nm clock +.Nd 使用されたプロセッサ時間を計測する +.Sh 書式 +.Fd #include +.Ft clock_t +.Fn clock void +.Sh 解説 +.Fn clock +関数は、呼び出されたプロセスの起動時からのプロセッサの使用時間を計算します。 +これは 1 秒の +.Dv CLOCKS_PER_SEC +分の 1 を単位として計測されます。 +.Sh 戻り値 +.Fn clock +関数は使用された時間量を返します。 +エラーが生じた場合の戻り値は \-1 です。 +.Sh 関連項目 +.Xr getrusage 2 , +.Xr clocks 7 +.Sh 規格 +.Fn clock +関数は +.St -ansiC +に準拠しています。 diff --git a/ja_JP.eucJP/man/man3/com_err.3 b/ja_JP.eucJP/man/man3/com_err.3 new file mode 100644 index 0000000000..c6525f615c --- /dev/null +++ b/ja_JP.eucJP/man/man3/com_err.3 @@ -0,0 +1,99 @@ +.\" Copyright (c) 1988 Massachusetts Institute of Technology, +.\" Student Information Processing Board. All rights reserved. +.\" +.\" $Header: /home/ncvs/doc/ja_JP.eucJP/man/man3/com_err.3,v 1.1.1.1 1999-12-09 16:26:07 kuriyama Exp $ +.\" +.\" jpman %Id% +.\" +.TH COM_ERR 3 "22 Nov 1988" SIPB +.SH 名称 +com_err \- 共通エラー表示ルーチン +.SH 書式 +.nf + #include +.PP +void com_err (whoami, code, format, ...); + const char *whoami; + long code; + const char *format; +.PP +proc = set_com_err_hook (proc); +.fi +void (* +.I proc +) (const char *, long, const char *, va_list); +.nf +.PP +proc = reset_com_err_hook (); +.PP +void initialize_XXXX_error_table (); +.fi +.SH 解説 +.I com_err +は、 +.I whoami +文字列で構成される標準エラーストリーム +.I stderr +.IR (stdio (3S) +を参照) にエラーメッセージを表示します。 +.I whoami +文字列は、プログラム名またはプログラムの一部の後に、 +.I code +値 +.IR (compile_et(1) +から導出されたもの) から生成されたエラーメッセージ、および +.IR fprintf (3) +と同じスタイルで、 +.I format +文字列と以降の引数を使用して作成された +文字列が続いたものを指定するはずです。 + +.I com_err +の動作は、 +.I set_com_err_hook +を使用して修正できます。これによって、 +.I com_err +に渡される引数とともに呼び出されるプロシージャが定義されます。 +これは、フォーマットされたテキストを +エラー出力に送信するデフォルトの内部プロシージャの代わりです。 +このように、プログラムからのエラーメッセージはすべて +.IR syslog (3) +のような別の形式の診断ログに簡単に転用できます。 +.I reset_com_err_hook +を使用して、 +.I com_err +をデフォルトの形式に復元することもできます。 +いずれのプロシージャも前のフック値を返します。 +これらのフックプロシージャは、上記の書式の +.I proc +に指定された宣言がなければなりません。 + +.I initialize_XXXX_error_table +ルーチンは、名前および対応する文字列の入ったソースファイルから +.IR compile_et (1) +が機械的に生成します。 +各テーブルには、最高 4 文字の名前があります。 +この名前はルーチンの名前で +.B XXXX +の代わりに使用されます。 +これらのルーチンは、 +対応するエラーコードが使用される前に呼び出す必要があるので、 +.I com_err +ライブラリは、これらのテーブルが使用されるときに、 +これらのテーブルからエラーコードを認識しようとします。 + +.B com_err.h +ヘッダファイルは、 +.I com_err +ライブラリのルーチンを使用するソースファイルに +インクルードする必要があります。実行可能ファイルは、 +.I com_err +ライブラリがインクルードされるように、 +.I ``-lcom_err'' +を使用してリンクする必要があります。 + +.SH 関連項目 +.IR compile_et (1), +.IR syslog (3) + +Ken Raeburn, "A Common Error Description Library for UNIX". diff --git a/ja_JP.eucJP/man/man3/confstr.3 b/ja_JP.eucJP/man/man3/confstr.3 new file mode 100644 index 0000000000..3e2a3152ed --- /dev/null +++ b/ja_JP.eucJP/man/man3/confstr.3 @@ -0,0 +1,129 @@ +.\" 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. +.\" +.\" @(#)confstr.3 8.1 (Berkeley) 6/4/93 +.\" +.Dd June 4, 1993 +.Dt CONFSTR 3 +.Os BSD 4 +.Sh 名称 +.Nm confstr +.Nd ストリング値の環境設定可能な変数を得る +.Sh 書式 +.Fd #include +.Ft size_t +.Fn confstr "int name" "char *buf" "size_t len" +.Sh 解説 +.Bf -symbolic +このインタフェースは、 +.Xr sysctl 3 +によって旧式になっています。 +.Ef +.Pp +.Fn confstr +関数は、環境設定で定義したストリング値をアプリケーションが +得るための方式を提供します。 +.Pp +.Fa name +引数は、照会されるシステム変数を指定します。各名前の値の +シンボリック定数は、インクルードファイル +.Li +の中にあります。 +.Fa len +引数は、引数 +.Fa buf +が参照するバッファのサイズを指定します。 +.Fa len +がゼロでない +場合、 +.Fa buf +は +NULL +でないポインタであり、 +.Fa name +には、最高 +.Fa len +\- 1 +バイトの +値があり、値はバッファ +.Fa buf +にコピーされます。コピーされた値の末尾は必ず +NULL +です。 +.Pp +利用可能な値は次のとおりです。 +.Pp +.Bl -tag -width "123456" +.Pp +.It Li _CS_PATH +全標準ユーティリティを検出する +.Ev PATH +環境設定変数の値を返します。 +.El +.Sh 戻り値 +.Fn confstr +の呼び出しが正常に完了しない場合、 +\-1 が返され、該当する +.Va errno +が +設定されます。そうでない場合、変数に環境設定定義された値がない場合、 +0 が +返され、 +.Va errno +は修正されません。そうでない場合は、環境設定定義された +値全体を入れるのに必要なバッファサイズが返されます。このサイズが引数 +.Fa len +より大きい場合、 +.Fa buf +内のストリングは切り捨てされます。 +.Sh エラー +.Fn confstr +関数は、処理が正常に完了せず、ライブラリ関数 +.Xr malloc 3 +と +.Xr sysctl 3 +用に指定されたエラーについて +.Va error +を設定することがあります。 +.Pp +さらに、次のエラーがレポートされることがあります。 +.Bl -tag -width Er +.It Bq Er EINVAL +.Fa name +引数の値は無効です。 +.Pp +.Sh 関連項目 +.Xr sysctl 3 +.Sh 歴史 +.Fn confstr +関数は +.Bx 4.4 +で最初に現れました。 diff --git a/ja_JP.eucJP/man/man3/cos.3 b/ja_JP.eucJP/man/man3/cos.3 new file mode 100644 index 0000000000..034580eae5 --- /dev/null +++ b/ja_JP.eucJP/man/man3/cos.3 @@ -0,0 +1,82 @@ +.\" 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. +.\" +.\" from: @(#)cos.3 5.1 (Berkeley) 5/2/91 +.\" $Id: cos.3,v 1.1.1.1 1999-12-09 16:26:07 kuriyama Exp $ +.\" +.Dd May 2, 1991 +.Dt COS 3 +.Os +.Sh 名称 +.Nm cos , +.Nm cosf +.Nd 余弦関数 +.Sh 書式 +.Fd #include +.Ft double +.Fn cos "double x" +.Ft float +.Fn cosf "float x" +.Sh 解説 +.Fn cos +関数と +.Fn cosf +関数は、 +.Fa x +( +ラジアン単位で計算 +) +の余弦を計算します。 +引数があまりに大きいと、結果はわずかしか重要性がないか、または +重要性のないものになります。切り捨て名丸めエラーの詳細については、 +.Xr math 3 +を参照してください。 +.Sh 戻り値 +.Fn cos +関数と +.Fn cosf +関数は余弦値を返します。 +.Sh 関連項目 +.Xr acos 3 , +.Xr asin 3 , +.Xr atan 3 , +.Xr atan2 3 , +.Xr cosh 3 , +.Xr math 3 , +.Xr sin 3 , +.Xr sinh 3 , +.Xr tan 3 , +.Xr tanh 3 +.Sh 規格 +.Fn cos +関数は +.St -ansiC +に準拠しています。 diff --git a/ja_JP.eucJP/man/man3/cosh.3 b/ja_JP.eucJP/man/man3/cosh.3 new file mode 100644 index 0000000000..83eb654686 --- /dev/null +++ b/ja_JP.eucJP/man/man3/cosh.3 @@ -0,0 +1,83 @@ +.\" Copyright (c) 1989, 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. +.\" +.\" from: @(#)cosh.3 5.1 (Berkeley) 5/2/91 +.\" $Id: cosh.3,v 1.1.1.1 1999-12-09 16:26:07 kuriyama Exp $ +.\" +.Dd May 2, 1991 +.Dt COSH 3 +.Os +.Sh 名称 +.Nm cosh , +.Nm coshf +.Nd 双曲余弦関数 +.Sh 書式 +.Fd #include +.Ft double +.Fn cosh "double x" +.Ft float +.Fn coshf "float x" +.Sh 解説 +.Fn cosh +関数と +.Fn coshf +関数は、 +.Fa x +の双曲余弦を計算します。 +.Sh 戻り値 +.Fn cosh +関数と +.Fn coshf +関数は、 +.Fa x +が大きすぎない場合は、双曲余弦を返します。 +.Fa x +が大きすぎる場合は、グローバル変数 +.Va errno +が +.Er ERANGE +に設定されます。 +.Sh 関連項目 +.Xr acos 3 , +.Xr asin 3 , +.Xr atan 3 , +.Xr atan2 3 , +.Xr cos 3 , +.Xr math 3 , +.Xr sin 3 , +.Xr sinh 3 , +.Xr tan 3 , +.Xr tanh 3 +.Sh 規格 +.Fn cosh +関数は +.St -ansiC +に準拠しています。 diff --git a/ja_JP.eucJP/man/man3/crypt.3 b/ja_JP.eucJP/man/man3/crypt.3 new file mode 100644 index 0000000000..5e8215e9fb --- /dev/null +++ b/ja_JP.eucJP/man/man3/crypt.3 @@ -0,0 +1,366 @@ +.\" FreeSec: libcrypt for NetBSD +.\" +.\" Copyright (c) 1994 David Burren +.\" 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. +.\" 4. Neither the name of the author nor the names of other contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" 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. +.\" +.\" $Id: crypt.3,v 1.1.1.1 1999-12-09 16:26:07 kuriyama Exp $ +.\" +.\" Manual page, using -mandoc macros +.\" +.Dd March 9, 1994 +.Dt CRYPT 3 +.Os +.Sh 名称 +.Nm crypt , +.Nm setkey , +.Nm encrypt , +.Nm des_setkey , +.Nm des_cipher +.Nd DES 暗号化 +.Sh 書式 +.Fd #include +.Ft char * +.Fn crypt "const char *key" "const char *setting" +.Ft int +.Fn setkey "const char *key" +.Ft int +.Fn encrypt "char *block" "int flag" +.Ft int +.Fn des_setkey "const char *key" +.Ft int +.Fn des_cipher "const char *in" "char *out" "long salt" "int count" +.Sh 解説 +.Fn crypt +関数は、パスワードの暗号化を行います。これは +.Tn NBS +データ暗号化規格 +(NBS Data Encryption Standard) +に由来するものです。キー検索の試みを +防止するために、その他のコードが追加されています。 +.Nm crypt +の最初の引数は +.Dv NUL +で終了するストリングです +( +通常は、ユーザが入力したパスワード +) +。 +2 番めの +引数は、長さが +9 バイトのキャラクタ配列であり、アンダースコア +(``_'') +に、 +4 バイトの反復カウントと +4 バイトの +salt +が続いたもので構成されます。反復 +.Fa count +と +.Fa salt +の両方が、キャラクタ当たり +6 ビットでエンコードされます。 +最下位ビットが最初です。それぞれ +0 から +63 の値が、 +``./0-9A- Za-z'' +キャラクタによってエンコードされます。 +.Pp +.Fa salt +を使用して、 +16777216 個の可能な方法の +1 つで、 +.Tn DES +アルゴリズム内に +無秩序を引き起こします +( +特に、 +.Ar salt +のビット +.Em i +が設定されており、 +.Em i +ビットと +.Em i+24 +ビットが +.Tn DES +"E" ボックス出力でスワップされる場合です +) +。 +.Ar key +は +8 キャラクタのグループに分けられ +( +最後の短いグループは +NULL +でパッドされます +) +、各キャラクタの下位の +7 ビット +( +グループごとに +56 個 +) +が、以降のように +DES +キーを形成するのに使用されます。 +56 ビットの最初のグループが、初期 +DES +キーになります。その他の各グループについては、グループビットおよび +DES +キー自体の暗号化の排他的論理和 +(XOR) +が次の +DES +キーになります。最後に、 +最終的な +DES +キーが使用されて +64 ビット定数の +.Ar count +累積暗号化が +実行されます。返される値は、 +.Dv NUL +で終了するストリングで、長さは +20 バイト、 +.Ar setting +にエンコードされた +64 ビットの暗号化が続いたもので構成されます。 +.Pp +.Xr crypt 3 +の過去のバージョンとの互換性のために、 +.Ar setting +は、上記のように +エンコードされた +2 バイトの +salt +で構成できます。この場合、反復 +.Ar count +25 +が +使用され、摂動の少ない +.Tn DES +が利用でき、最長 +8 キャラクタの +.Ar key +が +使用されます。返される値は +.Dv NUL +で終了する長さが +13 バイトのストリング +です。 +.Pp +関数 +.Fn encrypt +、 +.Fn setkey +、 +.Fn des_setkey +、および +.Fn des_cipher +では、 +.Tn DES +アルゴリズムに、制限されたアクセスができます。 +.Fn setkey +へのキー +.Ar key +引数は、 +64 キャラクタのバイナリ値 +( +数字の +0 または +1) +の配列です。 +56 ビットの +キーはこの配列から導出されます。そのためには、配列を +8 つのグループに +分割し、各グループ内の最後のビットを無視します。 +.Pp +.Fn encrypt +の引数 +.Fa block +も、バイナリ値の +64 キャラクタ配列です。 +.Fa flag +の値が +0 の場合、引数 +.Fa block +は暗号化されます。そうでない場合は、 +暗号解除されます。暗号化または暗号解除は、それを処理するために +.Fn setkey +が +指定したキーを使用した後、オリジナルの配列 +.Fa block +内に返されます。 +.Pp +.Fn des_setkey +関数と +.Fn des_cipher +関数は高速ですが、 +.Fn setkey +および +.Fn encrypt +より移植性は劣ります。 +.Fn des_setkey +への引数は、長さが +8 の +キャラクタ配列です。各キャラクタの +.Em 最下位 +ビットは無視され、各キャラクタの +次の +7 ビットが連結されて +56 ビットのキーを生成します。関数 +.Fn des_cipher +は、 +.Tn DES +の +.Fa count +反復の +.Xr abs 3 +を使用して +.Fa in +で +8 キャラクタ内に保存された +64 ビットを暗号化 +( +または +.Fa count +が負の場合は暗号解除 +) +し、 +64 ビットの結果を +8 キャラクタで +.Fa out +に保存します。 +.Fa salt +は、前記のように +.Tn DES +の摂動を +指定します。 +.Pp +関数 +.Fn crypt +は、処理が成功した場合は暗号化された値を指すポインタを返し、 +処理が失敗した場合は +NULL +を返します。関数 +.Fn setkey +、 +.Fn encrypt +、 +.Fn des_setkey +、および +.Fn des_cipher +は、処理が成功した場合は +0 を返し、処理が +失敗した場合は +1 を返します。歴史的には、関数 +.Fn setkey +と +.Fn encrypt +はどのような値も返しませんでした。これらの関数が戻り値を指定されたのは、 +主にハードウェアサポートが備わっているものの使用はできない場合、または +通常の方針の愚かさのために +DES +が利用できない場合に、システムを +区別するためです。 +.Pp +.Fn crypt +を使用するには、 +.Nm libcrypt +ライブラリとのリンクが必要です。 +.Fn setkey +、 +.Fn encrypt +、 +.Fn des_setkey +、および +.Fn des_cipher +は、 +.Nm libcipher +ライブラリ内に +見つかります。 +( +標準の +C +ライブラリ、 +.Nm libc +にはこれらのルーチンへのかけらしか +入っていません +) +。 +.Sh 関連項目 +.Xr login 1 , +.Xr passwd 1 , +.Xr getpass 3 , +.Xr passwd 5 +.Rs +.%T "Mathematical Cryptology for Computer Scientists and Mathematicians" +.%A Wayne Patterson +.%D 1987 +.%N ISBN 0-8476-7438-X +.Re +.Rs +.%T "Password Security: A Case History" +.%A R. Morris +.%A Ken Thompson +.%J "Communications of the ACM" +.%V vol. 22 +.%P pp. 594-597 +.%D Nov. 1979 +.Re +.Rs +.%T "DES will be Totally Insecure within Ten Years" +.%A M.E. Hellman +.%J "IEEE Spectrum" +.%V vol. 16 +.%P pp. 32-39 +.%D July 1979 +.Re +.Sh 歴史 +ローターを採用した +.Fn crypt +関数は、 +.At v6 +で現れました。現在の +スタイルの +.Fn crypt +は、最初に +.At v7 +に現れました。 +.Sh バグ +.Fn des_setkey +への引数の各キャラクタの +.Em 最下位 +ビットを +落とすのはとんでもないことです。 +.Pp +.Fn crypt +関数は、結果を内部の静的オブジェクトに残し、そのオブジェクトを指す +ポインタを返します。後で +.Fn crypt +を呼び出すと、同じオブジェクトが +修正されます。 diff --git a/ja_JP.eucJP/man/man3/ctermid.3 b/ja_JP.eucJP/man/man3/ctermid.3 new file mode 100644 index 0000000000..20515678fe --- /dev/null +++ b/ja_JP.eucJP/man/man3/ctermid.3 @@ -0,0 +1,95 @@ +.\" Copyright (c) 1990, 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. +.\" +.\" @(#)ctermid.3 8.1 (Berkeley) 6/4/93 +.\" +.Dd June 4, 1993 +.Dt CTERMID 3 +.Os +.Sh 名称 +.Nm ctermid +.Nd 端末パス名を生成する +.Sh 書式 +.Fd #include +.Ft char * +.Fn ctermid "char *buf" +.Sh 解説 +.Fn ctermid +関数は、パス名として使用されたときに、呼び出し元プロセスの現在の +制御端末を参照する +1 つのストリングを生成します。 +.Pp +.Ar buf +が +.Dv NULL +ポインタの場合、静的領域を指すポインタが返されます。そうでない +場合は、パス名が、 +.Ar buf +で参照されるメモリにコピーされます。引数 +.Ar buf +は、 +少なくとも長さが +.Dv L_ctermid +( +インクルードファイル +.Aq Pa stdio.h +に定義 +) +バイトと +想定されます。 +.Pp +現時点では +.Ql /dev/tty +だけを返します。 +.Sh 戻り値 +処理が成功すると、 +.Dv NULL +でないポインタが返されます。処理が失敗すると、 +.Dv NULL +ポインタが返され、グローバル変数 +.Va errno +がエラーを示すように設定されます。 +.Sh エラー +現時点では、エラー条件は検出されません。 +.Sh 関連項目 +.Xr ttyname 3 +.Sh 規格 +.Fn ctermid +関数は、 +.St -p1003.1-88 +に準拠しています。 +.Sh バグ +デフォルトでは、 +.Fn ctermid +関数は、すべての情報を内部静的オブジェクトに書き +込みます。後で +.Fn ctermid +を呼ぶと、同じオブジェクトが修正されます。 diff --git a/ja_JP.eucJP/man/man3/ctime.3 b/ja_JP.eucJP/man/man3/ctime.3 new file mode 100644 index 0000000000..74b1c261e0 --- /dev/null +++ b/ja_JP.eucJP/man/man3/ctime.3 @@ -0,0 +1,334 @@ +.\" Copyright (c) 1989, 1991, 1993 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" This code is derived from software contributed to Berkeley by +.\" Arthur Olson. +.\" 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. +.\" +.\" From: @(#)ctime.3 8.1 (Berkeley) 6/4/93 +.\" $Id: ctime.3,v 1.1.1.1 1999-12-09 16:26:07 kuriyama Exp $ +.\" +.Dd January 2, 1999 +.Dt CTIME 3 +.Os BSD 4.3 +.Sh 名称 +.Nm asctime , +.Nm asctime_r , +.Nm ctime , +.Nm ctime_r , +.Nm difftime , +.Nm gmtime , +.Nm gmtime_r , +.Nm localtime , +.Nm localtime_r , +.Nm mktime , +.Nm timegm +.Nd バイナリ日付と時刻の値を変換する +.Sh 書式 +.Fd #include +.Vt extern char *tzname[2]; +.Ft char * +.Fn ctime "const time_t *clock" +.Ft double +.Fn difftime "time_t time1" "time_t time0" +.Ft char * +.Fn asctime "const struct tm *tm" +.Ft struct tm * +.Fn localtime "const time_t *clock" +.Ft struct tm * +.Fn gmtime "const time_t *clock" +.Ft time_t +.Fn mktime "struct tm *tm" +.Ft time_t +.Fn timegm "struct tm *tm" +.Ft char * +.Fn ctime_r "const time_t *clock" "char *buf" +.Ft struct tm * +.Fn localtime_r "const time_t *clock" "struct tm *result" +.Ft struct tm * +.Fn gmtime_r "const time_t *clock" "struct tm *result" +.Ft char * +.Fn asctime_r "const struct tm *tm" "char *buf" +.Sh 解説 +関数 +.Fn ctime , +.Fn gmtime , +.Fn localtime +はすべて、基準時点 (00:00:00 +.Tn UTC , +1970 年 1 月 1 日 +.Xr time 3 +を参照) 以降の時刻 (秒単位) を表す時間の値を引数として取ります。 +.Pp +関数 +.Fn localtime +は、 +.Fa clock +が指す時刻の値を変換し、現在の時間帯 (および日光節約時間のような他の要素) +に調整した後の値について細分化された時間情報が入った +.Dq Fa struct tm +(後述) を指すポインタを返します。時間帯調整は、 +.Ev TZ +環境変数 ( +.Xr tzset 3 +を参照) が指定するように実行されます。 +.Xr tzset 3 +がプロセスによってまだ呼び出されていない場合、関数 +.Fn localtime +は、 +.Xr tzset 3 +を使用して、時刻変換情報を初期化します。 +.Pp +構造体 tm に代入した後、 +.Fn localtime +は、 +.Fa tzname +の +.Fa tm_isdst +番めのエレメントを、 +.Fn localtime +の戻り値とともに使用する時間帯短縮形である +.Tn ASCII +ストリングを指すポインタに設定します。 +.Pp +関数 +.Fn gmtime +は、同じように時刻の値を変換しますが、時間帯の調整はなく、 +構造体 tm を指すポインタを返します (後述)。 +.Pp +.Fn ctime +関数は、 +.Fn localtime +と同じ方法で現在の時間帯の時刻値を調整し、次の形式の +26 キャラクタのストリングを指すポインタを返します。 +.Bd -literal -offset indent +Thu Nov 24 18:22:48 1986\en\e0 +.Ed +.Pp +フィールドにはすべて一定の幅があります。 +.Pp +.Fn ctime_r +は、 +.Fn ctime +と同じ機能ですが、呼び出し元が結果を保存するために出力バッファ +.Fa buf +を準備しなければならないという点は異なります。このバッファは少なくとも +26 キャラクタの長さである必要があります。 +.Fn localtime_r +および +.Fn gmtime_r +は、それぞれ、 +.Fn localtime +および +.Fn gmtime +と同じ機能ですが、呼び出し元が出力バッファ +.Fa result +を準備しなければならないという点は異なります。 +.Pp +.Fn asctime +関数は、 +.Fa *tm +が指す構造体 +.Fa tm +内の細分化された時間を変換し、前述の例に示した形式にします。 +.Pp +.Fn asctime_r +は、 +.Fn asctime +と同じ機能を備えていますが、呼び出し元が結果を保存するための +出力バッファ +.Fa buf +を準備する点は異なります。このバッファの長さは少なくとも +26 キャラクタである必要があります。 +.Pp +関数 +.Fn mktime +と +.Fn timegm +は、 +tm +が指す構造体内の細分化した時間を、 +.Xr time 3 +関数が返す値と同じエンコードの時刻値に変換します (すなわち、Epoch, +.Tn UTC +からの時刻にします)。 +.Fn mktime +は、現在の時間帯設定に従って入力構造体を解釈します ( +.Xr tzset 3 +を参照)。 +.Fn timegm +は、協定世界時 +.Pq Tn UTC +を表す入力構造体を解釈します。 +.Pp +構造体の +.Fa tm_wday +コンポーネントと +.Fa tm_yday +コンポーネントのオリジナル値は無視され、 +他のコンポーネントのオリジナルの値はその通常の範囲に制限されません ( +.Fa tm_isdst +が正の値の場合、 +.Fn mktime +は、初期的には、指定時間についてサマータイム (たとえば、日光節約時間) +が有効であると推測します。ゼロの場合は、サマータイムが有効でないと +想定します。 +.Fa tm_isdst +が +負の値の場合、 +.Fn mktime +関数は、指定の時間についてサマータイムが有効であるかどうか +推測しようとします。 +.Fa tm_isdst +メンバと +.Fa tm_gmtoff +メンバは +.Fn timegm +によって強制的にゼロにされます)。 +.Pp +処理が正常に完了すると、構造体の +.Fa tm_wday +コンポーネントおよび +.Fa tm_yday +コンポーネントの値は適宜、設定され、他のコンポーネントは指定の +カレンダー時間を表すよう設定されますが、値は通常の範囲にさせられます。 +.Fa tm_mon +と +.Fa tm_year +が決定されるまで、 +.Fa tm_mday +の最終値は設定されません。 +.Fn mktime +は、指定のカレンダー時間を返します。カレンダー時間が表わせない +場合は、\-1 が返されます。 +.Pp +.Fn difftime +関数は、2 つのカレンダー時間の間の差 +.Pf ( Fa time1 +- +.Fa time0 ) +(秒単位) を返します。 +.Pp +外部宣言と構造体 tm の両方が +.Aq Pa time.h +インクルードファイル内にあります。構造体 tm には少なくとも +次のフィールドがインクルードされています。 +.Bd -literal -offset indent +int tm_sec; /\(** 秒 (0 - 60) \(**/ +int tm_min; /\(** 分 (0 - 59) \(**/ +int tm_hour; /\(** 時 (0 - 23) \(**/ +int tm_mday; /\(** 月内の日 (1 - 31) \(**/ +int tm_mon; /\(** 月 (0 - 11) \(**/ +int tm_year; /\(** 年 \- 1900 \(**/ +int tm_wday; /\(** 曜日 (Sunday = 0) \(**/ +int tm_yday; /\(** 年内の日 (0 - 365) \(**/ +int tm_isdst; /\(** サマータイムは有効か \(**/ +char \(**tm_zone; /\(** 時間帯名の短縮形 \(**/ +long tm_gmtoff; /\(** UTC からのオフセット (秒単位) \(**/ +.Ed +.Pp +サマータイムが有効な場合、フィールド +.Fa tm_isdst +はゼロでなくなります。 +.Pp +フィールド +.Fa tm_gmtoff +は、 +.Tn UTC +から表される時間のオフセット (秒単位) であり、 +正の値は本初子午線の東を示します。 +.Sh 関連項目 +.Xr date 1 , +.Xr gettimeofday 2 , +.Xr getenv 3 , +.Xr time 3 , +.Xr tzset 3 , +.Xr tzfile 5 +.Sh 規格 +.Fn asctime , +.Fn ctime , +.Fn difftime , +.Fn gmtime , +.Fn localtime , +.Fn mktime +の各関数は、選択したローカルな時間帯に閏秒テーブルが含まれていない +場合だけ、 +.St -isoC +と +.St -p1003.1 +に準拠します ( +.XX zic 8 +を参照)。 +.Pp +.Fn asctime_r , +.Fn ctime_r , +.Fn gmtime_r , +.Fn localtime_r +の各関数は +.St -iso9945-1 +に準拠すると予想されます (ここでも、選択したローカルな時間帯に +閏秒テーブルが含まれていない場合だけです)。 +.Sh 歴史 +このマニュアルページは、 +Arthur Olsen +によって +Berkeley +に寄付された時間パッケージに由来するもので、これは +.Bx 4.3 +で現れました。 +.Sh バグ +.Fn difftime , +.Fn mktime +および他の関数の +.Fn \&_r +のついた変種を除いて、これらの関数は、結果を内部静的オブジェクトに残し、 +そのオブジェクトを指すポインタを返します。後でこれらの関数を呼び出すと、 +同じオブジェクトが修正されます。 +.Pp +C 言語規格は、プログラムがその現在のローカル時間帯設定を修正する +メカニズムを備えていませんし、 +.Tn POSIX +規格方式は再入可能ではありません (しかし、スレッドセーフシステムが +.Tn POSIX +スレッド環境には備わっています)。 +.Pp +返された構造体 tm の +.Fa tm_zone +フィールドは、キャラクタの静的配列を指します。 +これも後の呼び出しで上書きされます ( +.Xr tzset 3 +と +.Xr tzsetwall 3 +の後の呼び出しによって上書きされるのと同じようにです)。 +.Pp +外部変数 +.Fa tzname +の使用はお勧めできません。構造体 tm 内の +.Fa tm_zone +エントリをお勧めします。 diff --git a/ja_JP.eucJP/man/man3/ctype.3 b/ja_JP.eucJP/man/man3/ctype.3 new file mode 100644 index 0000000000..b5d1190000 --- /dev/null +++ b/ja_JP.eucJP/man/man3/ctype.3 @@ -0,0 +1,124 @@ +.\" Copyright (c) 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. +.\" +.\" @(#)ctype.3 8.1 (Berkeley) 6/4/93 +.\" +.Dd June 4, 1993 +.Dt CTYPE 3 +.Os +.Sh 名称 +.Nm isalnum , +.Nm isalpha , +.Nm isascii , +.Nm isblank , +.Nm iscntrl , +.Nm isdigit , +.Nm isgraph , +.Nm islower , +.Nm isprint , +.Nm ispunct , +.Nm isspace , +.Nm isupper , +.Nm isxdigit , +.Nm toascii +.Nm tolower , +.Nm toupper , +.Nd 文字分類マクロ +.Sh 書式 +.Fd #include +.Ft int +.Fn isalnum "int c" +.Ft int +.Fn isalpha "int c" +.Ft int +.Fn isascii "int c" +.Ft int +.Fn iscntrl "int c" +.Ft int +.Fn isdigit "int c" +.Ft int +.Fn isgraph "int c" +.Ft int +.Fn islower "int c" +.Ft int +.Fn isprint "int c" +.Ft int +.Fn ispunct "int c" +.Ft int +.Fn isspace "int c" +.Ft int +.Fn isupper "int c" +.Ft int +.Fn isxdigit "int c" +.Ft int +.Fn toascii "int c" +.Ft int +.Fn tolower "int c" +.Ft int +.Fn toupper "int c" +.Sh 解説 +上記の関数は、整数 +.Ar c +について文字テストと変換を実行します。これらは、 +インクルードファイル +.Aq Pa ctype.h +に定義されたマクロ、または C ライブラリ内の +真の関数として利用できます。詳細については、専用のマニュアルページを +参照してください。 +.Sh 関連項目 +.Xr isalnum 3 , +.Xr isalpha 3 , +.Xr isascii 3 , +.Xr isblank 3 , +.Xr iscntrl 3 , +.Xr isdigit 3 , +.Xr isgraph 3 , +.Xr islower 3 , +.Xr isprint 3 , +.Xr ispunct 3 , +.Xr isspace 3 , +.Xr isupper 3 , +.Xr isxdigit 3 , +.Xr toascii 3 , +.Xr tolower 3 , +.Xr toupper 3 , +.Xr ascii 7 +.Sh 規格 +これらの関数は、 +.Fn isblank , +.Fn toupper , +.Fn tolower , +および +.Fn toascii +を +除いて、 +.St -ansiC +に準拠しています。 diff --git a/ja_JP.eucJP/man/man3/curs_addch.3 b/ja_JP.eucJP/man/man3/curs_addch.3 new file mode 100644 index 0000000000..5211bfb770 --- /dev/null +++ b/ja_JP.eucJP/man/man3/curs_addch.3 @@ -0,0 +1,127 @@ +.\" $Id: curs_addch.3,v 1.1.1.1 1999-12-09 16:26:07 kuriyama Exp $ +.\" +.\" jpman %Id% +.\" +.TH curs_addch 3 "" +.SH 名称 +\fBaddch\fR, \fBwaddch\fR, \fBmvaddch\fR, \fBmvwaddch\fR, +\fBechochar\fR, +\fBwechochar\fR - 文字を (属性とともに) \fBncurses\fR ウィンドウに追加してから、カーソルを進める +.SH 書式 +\fB#include \fR + +\fBaddch(chtype ch);\fR +.br +\fBwaddch(WINDOW *win, chtype ch);\fR +.br +\fBmvaddch(int y, int x, chtype ch);\fR +.br +\fBmvwaddch(WINDOW *win, int y, int x, chtype ch);\fR +.br +\fBechochar(chtype ch);\fR +.br +\fBwechochar(WINDOW *win, chtype ch);\fR +.br +.SH 解説 +\fBaddch\fR, \fBwaddch\fR, \fBmvaddch\fR +および \fBmvwaddch\fR の各ルーチンは、 +指定のウィンドウの現在のウィンドウ位置に文字 \fIch\fR を設定し、 +その位置を進行します。 +これらは \fBstdio\fR(3) の \fBputchar\fR に類似しています。 +進行が右端余白の場合、カーソルは自動的に次の行の先頭にラップします。 +\fBscrollok\fR が有効な場合、スクロール領域の下端では、 +スクロール領域が 1 行だけ上にスクロールします。 + +\fIch\fR がタブ、改行、またはバックスペースの場合、 +カーソルはウィンドウ内部で適切に移動させられます。 +改行は \fBclrtoeol\fR を行ってから移動します。 +タブは、8 カラムごとにあると見なされます。 + +\fIch\fR がタブ、改行、バックスペース以外の制御文字の場合、 +それは \fB^\fR\fIX\fR 表記で描かれます。 +制御文字を追加した後に \fBwinch\fR を呼び出しても、 +制御文字は戻らず、代わりに制御文字の表現が返されます +(制御文字を文字どおり送るには、\fBechochar\fRを使用します)。 + +ビデオ属性は 1 つの文字と論理和 (OR) を取ることによって、 +結合されてパラメータに入れることができます。 +この結果、これらの属性も設定されることになります +(ここで意図することは、属性を含めてテキストが、 +\fBinch\fR と \fBaddch\fR を使用して、 +ある場所から別の場所にコピーできるということです)。 +[ curs_attr(3) ページの、定義済みビデオ属性定数である +\fBstandout\fR を参照してください]。 + +\fBechochar\fR ルーチンと \fBwechochar\fR ルーチンは、 +\fBaddch\fR の呼び出しの後に +\fBrefresh\fR の呼び出しが続いたもの、 +または \fBwaddch\fR の呼び出しの後に +\fBwrefresh\fR の呼び出しが続いたものと機能的に同等です。 +1 つの文字だけが出力されていることを考慮に入れ、 +制御文字でない文字の場合は、これらのルーチンを、 +同等のものの代わりに使用すると、性能が大幅に向上することがあります。 +.SS ライングラフィックス +以降の変数を使用して、\fBaddch\fR ファミリのルーチンで、 +ライン描画文字を画面に追加できます。 +以下にリストしたデフォルト文字が使用されるのは、 +\fBacsc\fR 機能がターミナル固有の代わりのものを定義しない場合です。 +名前は VT100 命名法から取ってあります。 + +.TS +l l l +_ _ _ +l l l. +\fl名称\fR \fIデフォルト\fR \fI記述\fR +ACS_ULCORNER + 左上コーナー +ACS_LLCORNER + 左下コーナー +ACS_URCORNER + 右上コーナー +ACS_LRCORNER + 右下コーナー +ACS_RTEE + 右ツリー +ACS_LTEE + 左ツリー +ACS_BTEE + 下端ツリー +ACS_TTEE + 上端ツリー +ACS_HLINE - 水平線 +ACS_VLINE | 垂直線 +ACS_PLUS + プラス +ACS_S1 - 走査線 1 +ACS_S9 \&_ 走査線 9 +ACS_DIAMOND + ダイアモンド +ACS_CKBOARD : チェッカーボード (点描) +ACS_DEGREE ' 度のシンボル +ACS_PLMINUS # プラス / マイナス +ACS_BULLET o ブレット +ACS_LARROW < 左向き矢印 +ACS_RARROW > 右向き矢印 +ACS_DARROW v 下向き矢印 +ACS_UARROW ^ 上向き矢印 +ACS_BOARD # 正方形のボード +ACS_LANTERN # ランタンのシンボル +ACS_BLOCK # 埋められた正方形のブロック +.TE + +.SH 戻り値 +ルーチンはすべて、処理が失敗すると整数 \fBERR\fR で返ります。 +処理が成功して完了すると、\fBERR\fR 以外の整数値が返されます。 +ただし、これまでのルーチンの説明で異なるように注記した場合は別です。 +.SH バグ +.SH 注釈 +\fBaddch\fR, \fBmvaddch\fR, \fBmvwaddch\fR +および \fBechochar\fR はマクロである可能性があります。 + +386 と 486 のコンソールでは、 +\fBwechochar\fR に上位ビットを設定した引数を指定すると、 +対応する高さが半分の ASCIIZ グラフィックが生成されます +(SVr4 curses にもこの特徴がありますが、 +ドキュメントに記載はされていません)。 +しかし、制御文字引数は通常、対応するグラフィックを作成しないものです。 +CR, NL, FF および TAB のような文字は、 +通常、コンソールドライバ自体によって解釈され、 +ESC は制御シーケンスの先頭と解釈されます。 +.SH 関連項目 +\fBncurses\fR(3), +\fBcurs_attr\fR(3), +\fBcurs_clear\fR(3), +\fBcurs_inch\fR(3), +\fBcurs_outopts\fR(3), +\fBcurs_refresh\fR(3), +\fBputc\fR(3). diff --git a/ja_JP.eucJP/man/man3/curs_addchst.3 b/ja_JP.eucJP/man/man3/curs_addchst.3 new file mode 100644 index 0000000000..d47864a1ee --- /dev/null +++ b/ja_JP.eucJP/man/man3/curs_addchst.3 @@ -0,0 +1,45 @@ +.TH curs_addchstr 3 "" +.SH 名称 +\fBaddchstr\fR, \fBaddchnstr\fR, \fBwaddchstr\fR, +\fBwaddchnstr\fR, \fBmvaddchstr\fR, \fBmvaddchnstr\fR, \fBmvwaddchstr\fR, +\fBmvwaddchnstr\fR - キャラクタ(および属性)のストリングを \fBncurses\fR ウィンドウに追加する +.SH 書式 +\fB#include \fR + +\fBint addchstr(chtype *chstr);\fR +.br +\fBint addchnstr(chtype *chstr, int n);\fR +.br +\fBint waddchstr(WINDOW *win, chtype *chstr);\fR +.br +\fBint waddchnstr(WINDOW *win, chtype *chstr, int n);\fR +.br +\fBint mvaddchstr(int y, int x, chtype *chstr);\fR +.br +\fBint mvaddchnstr(int y, int x, chtype *chstr, int n);\fR +.br +\fBint mvwaddchstr(WINDOW *win, int y, int x, chtype *chstr);\fR +.br +\fBint mvwaddchnstr(WINDOW *win, int y, int x, chtype *chstr, int n);\fR +.SH 解説 +これらのルーチンは、\fIchstr\fR を、ウィンドウイメージ構造内の現在の +カーソル位置およびカーソル位置の後にコピーします。最後の引数として +\fIn\fR を持つ 4 つのルーチンは、多くとも \fIn\fR +個のエレメントをコピーしますが、それより多くは行に入りません。 +\fBn\fR=\fB-1\fR の場合、ストリング全体が、行に入る最大 +キャラクタ数までコピーされます。 + +ウィンドウカーソルは進められません。これらのルーチンは \fBwaddnstr\fR +より高速に機能します。しかし、使用するときには注意を払う必要があります。 +どんな種類のチェックもせず (たとえば、改行キャラクタのチェック)、 +現在のカーソル位置を進めず、右余白と交差する場合は新しい行に +ラップアラウンドせずにストリングを切り捨てるからです。 +.SH 戻り値 +これらのルーチンはすべて、処理が失敗すると整数 \fBERR\fR で返ります。 +処理が成功して完了すると、\fBERR\fR 以外の整数値が返されます。 +ただし、これまでのルーチンの説明で異なるように注記した場合は別です。 +.SH 注釈 +\fBwaddchnstr\fR 以外のルーチンはすべてマクロである可能性があることに +注意してください。 +.SH 関連項目 +\fBncurses\fR(3) diff --git a/ja_JP.eucJP/man/man3/curs_addstr.3 b/ja_JP.eucJP/man/man3/curs_addstr.3 new file mode 100644 index 0000000000..7fae92b47f --- /dev/null +++ b/ja_JP.eucJP/man/man3/curs_addstr.3 @@ -0,0 +1,42 @@ +.\" jpman %Id% +.\" +.TH curs_addstr 3 "" +.SH 名称 +\fBaddstr\fR, \fBaddnstr\fR, \fBwaddstr\fR, \fBwaddnstr\fR, +\fBmvaddstr\fR, \fBmvaddnstr\fR, \fBmvwaddstr\fR, +\fBmvwaddnstr\fR - 文字列を \fBncurses\fR ウィンドウに追加し、カーソルを進める +.SH 書式 +\fB#include \fR + +\fBint addstr(char *str);\fR +.br +\fBint addnstr(char *str, int n);\fR +.br +\fBint waddstr(WINDOW *win, char *str);\fR +.br +\fBint waddnstr(WINDOW *win, char *str, int n);\fR +.br +\fBint mvaddstr(int y, int x, char *str);\fR +.br +\fBint mvaddnstr(int y, int x, char *str, int n);\fR +.br +\fBint mvwaddstr(WINDOW *win, int y, int x, char *str);\fR +.br +\fBint mvwaddnstr(WINDOW *win, int y, int x, char *str, + int n);\fR +.SH 解説 +これらのルーチンは、ナル文字で終了する文字列 str の文字を +指定のウィンドウに表示します。 +これは、文字列内の文字ごとに 1 回ずつ +\fBwaddch\fR を呼び出すのに類似しています。 +最後の引数として \fIn\fR がある 4 つのルーチンは、 +多くとも \fIn\fR 文字の文字を書き込みます。 +\fIn\fR が負の場合は、文字列全体が追加されます。 +.SH 戻り値 +これらのルーチンはすべて、処理が失敗すると整数 \fBERR\fR で返ります。 +処理が成功して完了すると、\fBERR\fR 以外の整数値が返されます。 +.SH 注釈 +\fBwaddstr\fR と \fBwaddnstr\fR を除くこれらすべてのルーチンが +マクロである可能性があることに注意してください。 +.SH 関連項目 +\fBncurses\fR(3), \fBcurs_addch\fR(3). diff --git a/ja_JP.eucJP/man/man3/curs_attr.3 b/ja_JP.eucJP/man/man3/curs_attr.3 new file mode 100644 index 0000000000..3b69c340f6 --- /dev/null +++ b/ja_JP.eucJP/man/man3/curs_attr.3 @@ -0,0 +1,86 @@ +.\" jpman %Id% +.\" +.TH curs_attr 3 "" +.SH 名称 +\fBattroff\fR, \fBwattroff\fR, \fBattron\fR, \fBwattron\fR, +\fBattrset\fR, \fBwattrset\fR, \fBstandend\fR, \fBwstandend\fR, \fBstandout\fR, +\fBwstandout\fR - \fBncurses\fR 文字およびウィンドウ属性制御ルーチン +.SH 書式 +\fB#include \fR +.br +\fBint attroff(int attrs);\fR +.br +\fBint wattroff(WINDOW *win, int attrs);\fR +.br +\fBint attron(int attrs);\fR +.br +\fBint wattron(WINDOW *win, int attrs);\fR +.br +\fBint attrset(int attrs);\fR +.br +\fBint wattrset(WINDOW *win, int attrs);\fR +.br +\fBint standend(void);\fR +.br +\fBint wstandend(WINDOW *win);\fR +.br +\fBint standout(void);\fR +.br +\fBint wstandout(WINDOW *win);\fR +.br +.SH 解説 +これらのルーチンは、名前付きウィンドウの現在の属性を操作します。 +ウィンドウの現在の属性は、\fBwaddch\fR, \fBwaddstr\fR および +\fBwprintw\fR でウィンドウに書き込まれるすべての文字に適用されます。 +属性は文字のプロパティであり、スクロールおよび行 / 文字の +挿入 / 削除操作によって文字とともに移動します。 +可能な範囲で、これは画面に表示された文字の +グラフィック解釈の適切な修正として表示されます。 + +ルーチン \fBattrset\fR は、指定のウィンドウの現在の属性を +\fIattrs\fR に設定します。ルーチン \fBattroff\fR は、 +他の属性をオンまたはオフに切り替えることなしに名前付き属性をオフにします。 +ルーチン \fBattron\fR は、他に影響を及ぼさずに名前付き属性をオンにします。 +ルーチン \fBstandout\fR は、\fBattron(A_STANDOUT)\fR と同じです。 +ルーチン \fBstandend\fR は、\fBattrset(A_NORMAL)\fR または +\fBattrset(0)\fR と同じです。 +すなわち、すべての属性をオフにします。 + +.SS 属性 +\fB\fR に定義された次のビデオ属性は、 +ルーチン \fBattron\fR, \fBattroff\fR および +\fBattrset\fR に渡すことができますし、 +\fBaddch\fR に渡される文字と論理和 (OR) を取ることもできます。 + +.nf +\fBA_NORMAL\fR 通常の表示 (強調表示なし) +\fBA_STANDOUT\fR ターミナルの最良の強調表示モード +\fBA_UNDERLINE\fR 下線を付ける +\fBA_REVERSE\fR 反転ビデオ +\fBA_BLINK\fR ブリンク +\fBA_DIM\fR 半分の明るさ +\fBA_BOLD\fR 特別な明るさまたは太字 +\fBA_ALTCHARSET\fR 代わりのキャラクタセット +\fBA_CHARTEXT\fR 文字を取り出すためのビットマスク +\fBCOLOR_PAIR(\fR\fIn\fR\fB)\fR 色のペアの番号 \fIn\fR +.fi + +次のマクロは \fBCOLOR_PAIR(\fR\fIn\fR\fB)\fR の逆です。 + +.DS C +\fBPAIR_NUMBER(\fIattrs\fR) \fBCOLOR_PAIR(\fR\fIn\fR\fB)\fR 属性に対応する + ペアの番号を返します。 +.DE + +これらのルーチンの戻り値には意味がありません +(多数が、マクロ展開された割り当てとして実現されており、 +単に引数を返すだけです)。 +SVr4 マニュアルページには、これらのルーチンが必ず +\fB1\fR を返すと書いてありますが、これは間違いです。 +.SH 注釈 +\fBattroff\fR, \fBwattroff\fR, \fBattron\fR, \fBwattron\fR, +\fBattrset\fR, \fBwattrset\fR, \fBstandend\fR および +\fBstandout\fR はマクロである可能性があることに注意してください。 +.SH 関連項目 +\fBncurses\fR(3), \fBcurs_addch\fR(3), +\fBcurs_addstr(3), \fBcurs_printw\fR(3) diff --git a/ja_JP.eucJP/man/man3/curs_beep.3 b/ja_JP.eucJP/man/man3/curs_beep.3 new file mode 100644 index 0000000000..73ad8f6e9c --- /dev/null +++ b/ja_JP.eucJP/man/man3/curs_beep.3 @@ -0,0 +1,28 @@ +.\" jpman %Id% +.\" +.TH curs_beep 3 "" +.SH 名称 +\fBbeep\fR, \fBflash\fR - \fBncurses\fR ベルおよび画面フラッシュルーチン +.SH 書式 +\fB#include \fR + +\fBint beep(void);\fR +.br +\fBint flash(void);\fR +.br +.SH 解説 +\fBbeep\fR ルーチンと \fBflash\fR ルーチンは、 +端末ユーザに警告するのに使用されます。 +ルーチン \fBbeep\fR は、可能な場合は端末の音の警報を鳴らします。 +そうでない場合は、画面をフラッシュします (目に見えるベル)。 +ルーチン \fBflash\fR は、画面をフラッシュし、 +それが可能でない場合は、警報を鳴らします。 +どちらの警報も可能でない場合は、何も発生しません。 +ほとんどの端末には音の警報 (ベルまたはビープ音) がありますが、 +画面をフラッシュできるものもわずかながらあります。 +.SH 戻り値 +これらのルーチンは必ず \fBOK\fR を返します。 +.SH 機能 +\fBbell\fR, \fBflash_screen\fR +.SH 関連項目 +\fBncurses\fR(3) diff --git a/ja_JP.eucJP/man/man3/curs_bkgd.3 b/ja_JP.eucJP/man/man3/curs_bkgd.3 new file mode 100644 index 0000000000..49a1c700b4 --- /dev/null +++ b/ja_JP.eucJP/man/man3/curs_bkgd.3 @@ -0,0 +1,46 @@ +.\" jpman %Id% +,\" +.TH curs_bkgd 3 "" +.SH 名称 +\fBbkgdset\fR, \fBwbkgdset\fR, \fBbkgd\fR, +\fBwbkgd\fR - \fBncurses\fR ウィンドウ背景操作ルーチン +.SH 書式 +\fB#include \fR + +\fBvoid bkgdset(chtype ch);\fR +.br +\fBvoid wbkgdset(WINDOW *win, chtype ch);\fR +.br +\fBint bkgd(chtype ch);\fR +.br +\fBint wbkgd(WINDOW *win, chtype ch);\fR +.br +.SH 解説 +\fBbkgdset\fR ルーチンと \fBwbkgdset\fR ルーチンは、 +名前付きウィンドウの背景を操作します。 +背景は、属性と 1 つの文字の組み合わせで構成される \fBchtype\fR です。 +背景の属性部分はすべてブランクでない文字と結合 (OR) されたものです。 +ブランクでない文字は、\fBwaddch\fR でウィンドウに書き込まれます。 +背景の文字部分と属性部分の両方がブランクの文字と結合されます。 +背景は文字のプロパティになり、 +スクロールおよび行 / 文字の挿入 / 削除によって +文字とともに移動します。 +特定の端末で可能な範囲で、背景の属性部分は、 +画面に設定された文字のグラフィックな解釈として表示されます。 + +\fBbkgd\fR ルーチンと \fBwbkgd\fR ルーチンは、 +新しい背景とウィンドウ内の各位置と組み合わせられます。 +背景は属性と 1 文字の組み合わせです。 +属性部分だけがブランクでない文字の背景を設定するのに使用されるのに対し、 +文字と属性の両方がブランクの位置に使用されます。 +特定の端末上で可能な範囲で、背景の属性部分は、 +画面に設定された文字のグラフィックな解釈として表示されます。 +.SH 戻り値 +\fBbkgd\fR と \fBwbkgd\fR は整数 \fBOK\fR を返します。 +または、\fBimmedok\fR が設定されている場合は負でない整数を返します。 +.SH 注釈 +\fBbkgdset\fR と \fBbkgd\fR はマクロである可能性があります。 +.SH バグ +\fBimmedok\fR は ncurses 1.8.6 ではまだ実現されていません。 +.SH 関連項目 +\fBncurses\fR(3), \fBcurs_addch\fR(3), \fBcurs_outopts\fR(3) diff --git a/ja_JP.eucJP/man/man3/curs_border.3 b/ja_JP.eucJP/man/man3/curs_border.3 new file mode 100644 index 0000000000..ff0d888de1 --- /dev/null +++ b/ja_JP.eucJP/man/man3/curs_border.3 @@ -0,0 +1,72 @@ +.\" jpman %Id% +.\" +.TH curs_border 3 "" +.SH 名称 +\fBborder\fR, \fBwborder\fR, \fBbox\fR, +\fBhline\fR, \fBwhline\fR, \fBvline\fR, +\fBwvline\fR - \fBncurses\fR の境界線、水平線、垂直線を作成する +.SH 書式 +\fB#include \fR +.br +\fBint border(chtype ls, chtype rs, chtype ts, chtype bs, + chtype tl, chtype tr, chtype bl, chtype br);\fR +.br +\fBint wborder(WINDOW *win, chtype ls, chtype rs, + chtype ts, chtype bs, chtype tl, chtype tr, + chtype bl, chtype br);\fR +.br +\fBint box(WINDOW *win, chtype verch, chtype horch);\fR +.br +\fBint hline(chtype ch, int n);\fR +.br +\fBint whline(WINDOW *win, chtype ch, int n);\fR +.br +\fBint vline(chtype ch, int n);\fR +.br +\fBint wvline(WINDOW *win, chtype ch, int n);\fR +.br +.SH 解説 +\fBborder\fR, \fBwborder\fR および \fBbox\fR の各ルーチンは +ウィンドウのエッジの回りにボックスを描画します。 +引数 \fIls\fR はボーダーの左側に使用される 1 つの文字および属性です。 +同様に、\fIrs\fR - 右側、\fIts\fR - 上側、\fIbs\fR - 下側、 +\fItl\fR - 左上コーナー、\fItr\fR - 右上コーナー、 +\fIbl\fR - 左下コーナー、\fIbr\fR -右下コーナーです。 +これらの引数のいずれかがゼロである場合、次のデフォルト値 +(\fBncurses.h\fR に定義されています) が代わりに使用されます。 +\fBACS_VLINE, ACS_VLINE, ACS_HLINE, ACS_HLINE, +\fBACS_ULCORNER, ACS_URCORNER, ACS_LLCORNER, ACS_LRCORNER\fR です。 + +\fBbox(\fR\fIwin\fR\gB, \fR\fIverch\fR\fB, \fR\fIhorch\fR\fB)\fR は、 +次の呼び出しを簡単にしたものです。 +\fBwborder(\fR\fIwin\fR\fB,\fR \fIverch\fR\fB, \fIverch\fR\fB,\fR +\fIhorch\fR\fB,\fR \fIhorch\fR\fB, 0, 0, 0, 0)\fR + +\fBhline\fR 関数と \fBwhline\fR 関数は、 +ウィンドウ内の現在のカーソル位置で開始する \fIch\fR を使用して +水平線 (左から右)を描画します。 +カーソルの現在位置は変化しません。 +線は、長くとも \fIn\fR 文字の長さであるか、 +またはウィンドウに入るだけの長さになります。 + +\fBvline\fR 関数と \fBwvline\fR 関数は、 +ウィンドウ内の現在のカーソル位置で開始する \fIch\fR を使用して +垂直線 (上端から下端) を描画します。 +カーソルの現在位置は変化しません。 +線は、長くとも \fIn\fR 文字の長さであるか、 +またはウィンドウに入るだけの長さになります。 +.SH 戻り値 +すべてのルーチンが整数 \fBOK\fR を返します。 +SVr4.0 マニュアルには "or a non-negative integer if \fBimmedok\fR is set +(または、immedok が設定されている場合には、負でない整数)" +と記載されていますが、これは間違いと考えられます。 +.SH 注釈 +これらの関数が生成するボーダーは、\fB内側\fRのボーダーです +(これは SVr4 curses にも該当します。 +ただし、このことは記載されていません)。 + +\fBborder\fR と \fBbox\fR はマクロである可能性があることに注意してください。 +.SH バグ +\fBimmedok\fR 関数は ncurses 1.8.6 ではまだ実現されていません。 +.SH 関連項目 +\fBncurses\fR(3), \fBcurs_outopts\fR(3). diff --git a/ja_JP.eucJP/man/man3/curs_clear.3 b/ja_JP.eucJP/man/man3/curs_clear.3 new file mode 100644 index 0000000000..fb25b8a274 --- /dev/null +++ b/ja_JP.eucJP/man/man3/curs_clear.3 @@ -0,0 +1,52 @@ +.\" jpman %Id% +.\" +.TH curs_clear 3 "" +.SH 名称 +\fBerase\fR, \fBwerase\fR, \fBclear\fR, +\fBwclear\fR, \fBclrtobot\fR, \fBwclrtobot\fR, \fBclrtoeol\fR, +\fBwclrtoeol\fR - \fBncurses\fR ウィンドウのすべてまたは一部をクリアする +.SH 書式 +\fB# include \fR + +\fBint erase(void);\fR +.br +\fBint werase(WINDOW *win);\fR +.br +\fBint clear(void);\fR +.br +\fBint wclear(WINDOW *win);\fR +.br +\fBint clrtobot(void);\fR +.br +\fBint wclrtobot(WINDOW *win);\fR +.br +\fBint clrtoeol(void);\fR +.br +\fBint wclrtoeol(WINDOW *win);\fR +.br +.SH 解説 +\fBerase\fR ルーチンと \fBwerase\fR ルーチンは、 +ウィンドウ内の各位置にブランクをコピーして画面をクリアします。 + +\fBclear\fR ルーチンおよび \fBwclear\fR ルーチンは、 +\fBerase\fR および \fBwerase\fR と類似していますが、 +\fBclearok\fR を呼び出すこともします。 +そのウィンドウについて \fBwrefresh\fR を次に呼び出したときに +画面が完全にクリアされ、ゼロから再描画されます。 + +\fBclrtobot\fR ルーチンと \fBwclrtobot\fR ルーチンは、 +カーソルから画面の終端までを消去します。 +すなわち、ウィンドウ内のカーソルより下方のすべての線を消去します。 +また、カーソルの右にある現在の線も消去されます。 + +\fBclrtoeol\fR ルーチンと \fBwclrtoeol\fR ルーチンは、 +カーソルの右にある現在の線を消去します。 +.SH 戻り値 +すべてのルーチンが整数 \fBOK\fR を返します。 +または、\fBimmedok\fR が設定されている場合は負でない整数を返します。 +.SH 注釈 +\fBerase\fR, \fBwerase\fR, \fBclear\fR, \fBwclear\fR, +\fBclrtobot\fR および \fBclrtoeol\fR は +マクロである可能性があることに注意してください。 +.SH 関連項目 +\fBncurses\fR(3), \fBcurs_outopts\fR(3), \fBcurs_refresh\fR(3) diff --git a/ja_JP.eucJP/man/man3/curs_color.3 b/ja_JP.eucJP/man/man3/curs_color.3 new file mode 100644 index 0000000000..75d38578eb --- /dev/null +++ b/ja_JP.eucJP/man/man3/curs_color.3 @@ -0,0 +1,145 @@ +.\" jpman %Id% +.\" +.TH curs_color 3 "" +.SH 名称 +\fBstart_color\fR, \fBinit_pair\fR, +\fBinit_color\fR, \fBhas_colors\fR, \fBcan_change_color\fR, +\fBcolor_content\fR, +\fBpair_content\fR - \fBncurses\fR カラー操作ルーチン +.SH 書式 +\fB# include \fR +.br +\fBint start_color(void);\fR +.br +\fBint init_pair(short pair, short f, short b);\fR +.br +\fBint init_color(short color, short r, short g, short b);\fR +.br +\fBbool has_colors(void);\fR +.br +\fBbool can_change_color(void);\fR +.br +\fBint color_content(short color, short *r, short *g, short *b);\fR +.br +\fBint pair_content(short pair, short *f, short *b);\fR +.br +.SH 解説 +\fBncurses\fR は、機能のある端末でカラー属性をサポートします。 +これらのルーチンを使用するには、通常、\fBinitscr\fR の直後で +\fBstart_color\fR を呼び出す必要があります。 +色は必ずペアで使用されます (色のペアと呼ばれます)。 +色のペアは、(文字用の) 前景色と +(文字が表示されるブランクのフィルタ用の) 背景色で構成されます。 +プログラマは、ルーチン \fBinit_pair\fR で色のペアを初期化します。 +初期化が済んだ後は、\fB\fR 内で定義されているマクロである +\fBCOLOR_PAIR\fR(\fIn\fR) を、新しいビデオ属性として使用できます。 + +端末が色を再定義できる場合は、プログラマは、 +ルーチン \fBinit_color\fR を使用して、色の定義を変更できます。 +ルーチン \fBhas_colors\fR とルーチン \fBcan_change_color\fR は、 +端末に色の機能があるかどうか、 +プログラマが色を変更できるかどうかに従って、 +\fBTRUE\fR または \fBFALSE\fR を返します。 +ルーチン \fBcolor_content\fR によって、 +プログラマは初期化された色の赤、緑、青のコンポーネントを取り出せます。 +ルーチン \fBpair_content\fR によって、プログラマは、 +指定の色のペアが現時点でどのように定義されているかを見つけられます。 +.SS ルーチンの解説 +\fBstart_color\fR ルーチンには引数は必要ありません。 +プログラマが色を使用する場合は、 +他の色操作ルーチンが呼び出す前にこれを呼び出す必要があります。 +\fBinitscr\fR のすぐ後でこのルーチンを呼び出すのは賢明な方法です。 +\fBstart_color\fR は 8 つの基本色 +(黒、赤、緑、黄色、青、赤紫、水色、白) と +2 つのグローバル変数 \fBCOLORS\fR と \fBCOLOR_PAIRS\fR を初期化します +(それぞれ端末がサポートできる色および色のペアの最大数を定義します)。 +また、端末をオンに切り替えたときの色に、端末上の色を復元します。 + +\fBinit_pair\fR ルーチンは、色のペアの定義を変更します。 +次の 3 つの引数を取ります。 +変更する色のペアの番号、前景色の番号、および背景色の番号です。 +最初の引数の値は \fB1\fR と \fBCOLOR_PAIRS-1\fR の間である必要があります。 +2 番めの引数の値と 3 番めの引数の値は +0 と \fBCOLORS\fR の間にある必要があります +(0 色のペアは黒の上の白に結びつけれているので、変更できません)。 +色のペアが以前に初期化されている場合、画面はリフレッシュされ、 +その色のペアが発生したところはすべて新しい定義に変更されます。 + +\fBinit_color\fR ルーチンは色の定義を変更します。 +次の 4 つの引数を取ります。 +変更する色の番号の後に 3 つの RGB 値が続いたものです +(赤、緑、青の各コンポーネントの量についてです)。 +最初の引数の値は、\fB0\fR と \fBCOLORS\fR の間である必要があります +(デフォルトのカラーインデックスについては、 +\fBColors\fR のセクションを参照してください)。 +最後の 3 つの引数はそれぞれ 0 と 1000 の値の間にある必要があります。 +\fBinit_color\fR を使用するとき、 +画面上にその色が発生したところはすべてただちに新しい定義に変化します。 + +\fBhas_colors\fR ルーチンには引数は必要ありません。 +端末が色を操作できる場合は \fBTRUE\fR を返します。 +そうでない場合は、\fBFALSE\fR を返します。 +このルーチンは、端末に独立なプログラムを作成するのを簡単にします。 +たとえば、プログラマは、これを使用して、 +色または他のビデオ属性を使用するかどうか決定できます。 + +\fBcan_change_color\fR ルーチンには引数は必要ありません。 +端末が色をサポートし、色の定義を変更できる場合は \fBTRUE\fR を返します。 +そうでない場合、\fBFALSE\fR を返します。 +このルーチンは端末に独立なプログラムを作成するのを簡単にします。 + +\fBcolor_content\fR ルーチンは、色の中に赤、緑、青 (RGB) +コンポーネントの強度を見つける方法をプログラマに与えます。 +次の 4 つの引数が必要です。 +色の番号、および指定の色の中の赤、緑、青のコンポーネントに +関する情報を保存する \fBshort\fR の 3 つのアドレスです。 +最初の引数の値は 0 と \fBCOLORS\fR の間です。 +最後の 3 つの引数が指すアドレスに保存される値は 0 +(コンポーネントなし) と 1000 (コンポーネントの最大量) の間です。 + +\fBpair_content\fR ルーチンによって、プログラマは、 +指定の色のペアが何の色で構成されるかを見つけることができます。 +次の 3 つの引数が必要です。 +色のペアの番号、前景色の番号と背景色の番号を保存するための +\fBshort\fR の 2 つのアドレスです。 +最初の引数の値は 1 と \fBCOLOR_PAIRS-1\fR の間にある必要があります。 +2 番めの引数と 3 番めの引数が指すアドレスに保存される値は +0 と \fBCOLORS\fR の間にあります。 +.SS 色 +\fB\fR では、次のマクロが定義されています。 +これらはデフォルトの色です。 +また、\fBncurses\fR は、\fBCOLOR_BLACK\fR が +すべての端末についてデフォルトの背景色であると想定します。 + +.nf + \fBCOLOR_BLACK\fR + \fBCOLOR_RED\fR + \fBCOLOR_GREEN\fR + \fBCOLOR_YELLOW\fR + \fBCOLOR_BLUE\fR + \fBCOLOR_MAGENTA\fR + \fBCOLOR_CYAN\fR + \fBCOLOR_WHITE\fR +.fi +.SH 戻り値 +すべてのルーチンが処理失敗したときに整数 \fBERR\fR を返し、 +処理が正常に完了したときは \fBOK\fR を返します。 +.SH 注釈 +いくつかの警告が VGA 互換のグラフィックスがある +386 マシンと 486 マシンに適用されます。 +COLOR_YELLOW は実際には茶色です。 +黄色にするためには、A_BOLD 属性とCOLOR_YELLOW を組み合わせて使用します。 +A_BLINK 属性は、理論的には背景を明るくするはずです。 +これは動作に失敗することが多く、 +最も多く動作しているカード +(たとえば、Paradise およびこれと互換性のあるもの) でも、 +明るい "黄色の" 背景を設定しようとするときに +間違った動作をすることがあります +(代わりに前景が黄色でまたたきます)。 + +色の RGB 値は設定できません。 +.SH 機能 +\fBsetf\fR, \fBsetb\fR, \fBsetaf\fR, \fBsetab\fR. +curses ライブラリは 2 番めのペアを選んで使用してから、最初のペアに依存します。 +.SH 関連項目 +\fBncurses\fR(3), \fBcurs_initscr\fR(3), \fBcurs_attr\fR(3) diff --git a/ja_JP.eucJP/man/man3/curs_delch.3 b/ja_JP.eucJP/man/man3/curs_delch.3 new file mode 100644 index 0000000000..a91e518a23 --- /dev/null +++ b/ja_JP.eucJP/man/man3/curs_delch.3 @@ -0,0 +1,32 @@ +.\" jpman %Id% +.\" +.TH curs_delch 3 "" +.SH 名称 +\fBdelch\fR, \fBwdelch\fR, \fBmvdelch\fR, +\fBmvwdelch\fR - \fBncurses\fR ウィンドウのカーソルの下の文字を削除する +.SH 書式 +\fB#include \fR + +\fBint delch(void);\fR +.br +\fBint wdelch(WINDOW *win);\fR +.br +\fBint mvdelch(int y, int x);\fR +.br +\fBint mvwdelch(WINDOW *win, int y, int x);\fR +.br +.SH 解説 +これらのルーチンは、カーソルの下の文字を削除します。 +同じ行のカーソルの右にある文字はすべて 1 位置だけ左に移動し、 +行の最後の文字ははブランクで埋められます。 +カーソルの位置は変化しません +(指定された場合、\fIy\fR, \fIx\fR に移動した後です)。 +(これは、ハードウェアの文字削除機能の使用を意味しません)。 +.SH 戻り値 +ルーチンはすべて、処理失敗した場合整数 \fBERR\fR を返します。 +処理が正常に完了した場合は、\fBERR\fR 以外の整数値を返します。 +.SH 注釈 +\fBdelch\fR, \fBmvdelch\fR および +\fBmvwdelch\fR がマクロである可能性があることに注意してください。 +.SH 関連項目 +\fBncurses\fR(3) diff --git a/ja_JP.eucJP/man/man3/curs_move.3 b/ja_JP.eucJP/man/man3/curs_move.3 new file mode 100644 index 0000000000..23734aacf9 --- /dev/null +++ b/ja_JP.eucJP/man/man3/curs_move.3 @@ -0,0 +1,29 @@ +.TH curs_move 3 "" +.SH 名称 +\fBmove\fR, \fBwmove\fR - move \fBncurses\fR window cursor +.SH 書式 +\fB#include \fR + +\fBint move(int y, int x);\fR +.br +\fBint wmove(WINDOW *win, int y, int x);\fR +.br +.SH 解説 +これらのルーチンは、ウィンドウと関連付けられたカーソルを、行 \fIy\fR および列 \fIx\fR +に移動します。このルーチンは、\fBrefresh\fR が呼び出されるまで、端末の物理 +カーソルを移動しません。指定された位置は、ウィンドウの左上コーナー(これは +(0,0)です)に相対的に指定されます。 +.SH 戻り値 +これらのルーチンは、処理失敗すると整数 \fBERR\fR を返してきます。処理が正常に +完了した場合は、\fBERR\fR 以外の整数値を返します。 +.SH 注釈 +\fBmove\fR はマクロである可能性があることに注意してください。 +.SH 関連項目 +\fBncurses\fR(3), \fBcurs_refresh\fR(3) +.\"# +.\"# The following sets edit modes for GNU EMACS +.\"# Local Variables: +.\"# mode:nroff +.\"# fill-column:79 +.\"# End: + diff --git a/ja_JP.eucJP/man/man3/curs_outopts.3 b/ja_JP.eucJP/man/man3/curs_outopts.3 new file mode 100644 index 0000000000..512ca2e9cc --- /dev/null +++ b/ja_JP.eucJP/man/man3/curs_outopts.3 @@ -0,0 +1,265 @@ +.TH curs_outopts 3 "" +.SH 名称 +\fBclearok\fR, \fBidlok\fR, \fBidcok immedok\fR, +\fBleaveok\fR, \fBsetscrreg\fR, \fBwsetscrreg\fR, \fBscrollok\fR, +\fBnl\fR, \fBnonl\fR - \fBncurses\fR output options +.SH 書式 +\fB#include \fR + +\fBint clearok(WINDOW *win, bool bf);\fR +.br +\fBint idlok(WINDOW *win, bool bf);\fR +.br +\fBvoid idcok(WINDOW *win, bool bf);\fR +.br +\fBvoid immedok(WINDOW *win, bool bf);\fR +.br +\fBint leaveok(WINDOW *win, bool bf);\fR +.br +\fBint setscrreg(int top, int bot);\fR +.br +\fBint wsetscrreg(WINDOW *win, int top, int bot);\fR +.br +\fBint scrollok(WINDOW *win, bool bf);\fR +.br +\fBint nl(void);\fR +.br +\fBint nonl(void);\fR +.br +.SH 解説 +このルーチンでは、 +\fBncurses\fR +の出力のスタイルを変更するオプションを +設定します。すべてのオプションは、特記しないかぎり、最初は +\fBFALSE\fR +になっています。このオプションをオフに切り替えてから +\fBendwin\fR +を呼び出す必要はありません。 + +\fBclearok\fR +ルーチンを有効にすると +(\fIbf\fR +を +\fBTRUE\fR +にすると +) +、次にこの +ウィンドウで +\fBwrefresh\fR +を呼び出した場合、画面は完全にクリアされ、画面全体が +最初から再描画されます。画面の内容が不確実であるか、より良い視覚効果を出す +場合に便利です。 +\fBclearok\fR +の引数 +\fIwin\fR +がグローバル変数 +\fBcurscr\fR +である場合、次に任意のウィンドウで +\fBwrefresh\fR +を呼び出すと、画面がクリアされて最初から再描画されます。 + +\fBidlok\fR +ルーチンを有効にすると +(\fIbf\fR +を +\fBTRUE\fR +にすると +) +、 +\fBncurses\fR +は、 +端末の行挿入 +/ +削除機能を備わっているものとして使用します。無効にすると +(\fIbf\fR +を +\fBFALSE\fR +にすると +) +、 +\fBncurses\fR +はこの機能をほとんど使用しません。 +( +文字の挿入 +/ +削除機能は常に考慮されます。 +) +たとえば画面エディタなど、行の挿入 +/ +削除が +必要なアプリケーションのみで、このオプションを有効にしてください。行の挿入 +/ +削除が本当に必要でないアプリケーションでは、行の挿入 +/ +削除が見た目を害する +傾向にあるので、デフォルトでは無効になっています。行の挿入 +/ +削除機能が +使用できない場合、 +\fBncurses\fR +は、すべての行の変更された部分を再描画します。 + +\fBidcok\fR +ルーチンを有効にすると +(\fIbf\fR +を +\fBTRUE\fR +にすると +) +、 +\fBncurses\fR +は、端末のキャラクタ挿入 +/ +削除機能を備わっているものとして使用します。デフォルト +では有効になっています。 + +\fBimmedok\fR +ルーチンを有効にすると +(\fIbf\fR +を +\fBTRUE\fR +にすると +) +、 +\fBwaddch +、 +wclrtobot +、 +wscrl\fR +\fIなど\fRでウィンドウのイメージが変更された場合、 +\fBwrefresh\fR +が +自動的に呼び出されます。 +\fBwrefresh\fR +が繰り返し呼び出されるので、パフォーマンス +は大幅に低下します。デフォルトでは無効になっています。 + +通常の場合、ハードウェアカーソルは、リフレッシュされた +ウィンドウカーソルの場所に残ります。 +\fBleaveok\fR +オプションでは、更新したときの +場所にカーソルを残せます。カーソルの移動が必要なくなるため、カーソルを +使用しないアプリケーションで便利です。このオプションを有効にすると、可能な +場合はカーソルを非表示にできます。 + +\fBsetscrreg\fR +ルーチンと +\fBwsetscrreg\fR +ルーチンを使用すると、 +アプリケーションプログラマは、ウィンドウでソフトウェアスクローリング領域を +設定できます。 +\fItop\fR +と +\fIbot\fR +は、スクローリング領域の上下マージンの行番号です。 +( +ウィンドウの最初の行は +0 +です。 +) +このオプションと +\fBscrollok\fR +を有効にした +場合は、下マージンの行の先へ移動しようとすると、 +スクローリング領域のすべての行は +1 +行上にスクロールされます。スクロール +されるのは、ウィンドウのテキストのみです。 +(VT100 +のような、端末の物理的な +スクローリング領域機能の使用とは関係ないことに注意してください。 +\fBidlok\fR +を有効にすると、端末にスクローリング領域機能か行の挿入 +/ +削除機能がある場合は、 +出力ルーチンでこれらの機能が使用されることがあります。 +) + +\fBscrollok\fR +オプションは、最終行での改行アクション、または最終行での +最終キャラクタの入力により、ウィンドウのカーソルがウィンドウか +スクローリング領域の端を越えた場合の対処法を制御します。無効にすると +(\fIbf\fR +を +\fBFALSE\fR +にすると +) +、カーソルは最終行に残ります。有効にすると +(\fIbf\fR +を +\fBTRUE\fR +にすると +) +、 +\fBwrefresh\fR +がウィンドウで呼び出され、物理的な端末とウィンドウは +1 +行上にスクロールされます。 +[ +端末で物理的なスクロール効果を出すには、 +\fBidlok\fR +も呼び出す必要があることに注意してください。 +] + +\fBnl\fR +ルーチンと +\fBnonl\fR +ルーチンは、出力時に改行をキャリッジリターンと +ラインフィードに変換するかどうか、および入力時にリターンを改行に +変換するかどうかを制御します。最初は変換が行なわれます。 +\fBnonl\fR +で変換を無効にすると、 +\fBncurses\fR +はラインフィード機能をより良く使用できるようになり、 +カーソルの動きが速くなります。 +.SH 戻り値 +\fBsetscrreg\fR +と +\fBwsetscrreg\fR +は、問題がないと +\fBOK\fR +を、問題があると +\fBERR\fR +を戻します。整数を返す、その他すべてのルーチンは、常に +\fBOK\fR +を戻します。 +.SH バグ +エントリポイント +\fBidcok\fR +、 +\fBimmedok\fR +は、 +ncurses 1.8.6 +ではまだ +実装されていません。 +\fIidlok\fR +を設定すると、ウィンドウのスクロール時に予期せぬ結果となります。 +.SH 注釈 +\fBclearok\fR +、 +\fBleaveok\fR +、 +\fBscrollok\fR +、 +\fBidcok\fR +、 +\fBnl\fR +、 +\fBnonl\fR +、 +\fBsetscrreg\fR +は、マクロである場合があることに注意してください。 + +\fBimmedok\fR +ルーチンは、端末エミュレータとして使用するウィンドウで +便利です。 +.SH 関連項目 +\fBncurses\fR(3), \fBcurs_addch\fR(3), \fBcurs_clear\fR(3), +\fBcurs_initscr\fR(3), \fBcurs_scroll\fR(3), \fBcurs_refresh\fR(3) +.\"# +.\"# The following sets edit modes for GNU EMACS +.\"# Local Variables: +.\"# mode:nroff +.\"# fill-column:79 +.\"# End: + diff --git a/ja_JP.eucJP/man/man3/curs_overlay.3 b/ja_JP.eucJP/man/man3/curs_overlay.3 new file mode 100644 index 0000000000..7c0295ab99 --- /dev/null +++ b/ja_JP.eucJP/man/man3/curs_overlay.3 @@ -0,0 +1,80 @@ +.TH curs_overlay 3 "" +.SH 名称 +\fBoverlay\fR, \fBoverwrite\fR, +\fBcopywin\fR - overlay and manipulate overlapped \fBncurses\fR windows +.SH 書式 +\fB#include \fR + +\fBint overlay(WINDOW *srcwin, WINDOW *dstwin);\fR +.br +\fBint overwrite(WINDOW *srcwin, WINDOW *dstwin);\fR +.br +\fBint copywin(WINDOW *srcwin, WINDOW *dstwin, int sminrow, + int smincol, int dminrow, int dmincol, int dmaxrow, + int dmaxcol, int overlay);\fR +.SH 解説 +\fBoverlay\fR +ルーチンと +\fBoverwrite\fR +ルーチンは、 +\fIdstwin\fR +の一番上に +\fIsrcwin\fR +を +オーバーレイします。 +\fIscrwin\fR +と +\fIdstwin\fR +は同じサイズであることを要求されません。 +2 +つのウィンドウがオーバーラップするテキストだけがコピー +されます。相違点は +\fBoverlay\fR +が破壊的でない +( +ブランクはコピーされません +) +のに対し、 +\fBoverwrite\fR +は破壊的であるという点です。 + +\fBcopywin\fR +ルーチンには、 +\fBoverlay\fR +ルーチンと +\fBoverwrite\fR +ルーチンより繊細で細かい制御が備わっています。 +\fBprefresh\fR +ルーチンと同じように、宛先ウィンドウの長方形 +(\fIdminrow\fR, \fIdmincol\fR) +と +(\fIdmaxrow\fR, \fIdmaxcol\fR) +、およびソースウィンドウの左上 +コーナーの座標 +(\fIsminrow\fR, \fIsmincol\fR) +が指定されます。引数 +\fIoverlay\fR +が +\fBtrue\fR +の場合、 +\fBoverlay\fR +と同じようにコピーは破壊的ではありません。 +.SH 戻り値 +整数を返すルーチンは、処理失敗すると +\fBERR\fR +を返してきます。処理が正常に完了した場合は、 +\fBERR\fR +以外の整数値を返します。 +.SH 注釈 +\fBoverlay\fR +と +\fBoverwrite\fR +はマクロである可能性があることに注意してください。 +.SH 関連項目 +\fBncurses\fR(3), \fBcurs_pad\fR(3), \fBcurs_refresh\fR(3) +.\"# +.\"# The following sets edit modes for GNU EMACS +.\"# Local Variables: +.\"# mode:nroff +.\"# fill-column:79 +.\"# End: diff --git a/ja_JP.eucJP/man/man3/curs_pad.3 b/ja_JP.eucJP/man/man3/curs_pad.3 new file mode 100644 index 0000000000..9f4646ead1 --- /dev/null +++ b/ja_JP.eucJP/man/man3/curs_pad.3 @@ -0,0 +1,155 @@ +.TH curs_pad 3 "" +.SH 名称 +\fBnewpad\fR, \fBsubpad\fR, \fBprefresh\fR, +\fBpnoutrefresh\fR, \fBpechochar\fR - create and display \fBncurses\fR pads +.SH 書式 +\fB#include \fR + +\fBWINDOW *newpad(int nlines, int ncols);\fR +.br +\fBWINDOW *subpad(WINDOW *orig, int nlines, int ncols, + int begin_y, int begin_x);\fR +\fBint prefresh(WINDOW *pad, int pminrow, int pmincol, + int sminrow, int smincol, int smaxrow, int smaxcol);\fR +\fBint pnoutrefresh(WINDOW *pad, int pminrow, int pmincol, + int sminrow, int smincol, int smaxrow, int smaxcol);\fR +\fBint pechochar(WINDOW *pad, chtype ch);\fR +.SH 解説 +\fBnewpad\fR +ルーチンは、指定された数の行 +\fInlines\fR +と列 +\fIncols\fR +がある新しい +パッドデータ構造を指すポインタを作成し返します。パッドはウィンドウに +類似していますが、画面サイズによって制限されない点、画面の特定の部分に +必ずしも対応していない点は異なります。パッドが使用できるのは、大きな +ウィンドウが必要であり、一度にウィンドウの一部だけが画面に +表示されるときです。パッドの自動的なリフレッシュ +( +\fIたとえば\fR、スクロールまたは +入力のエコーから +) +は発生しません。 +\fIpad\fR +を引数として +\fBwrefresh\fR +を呼び出すのは +正しくありません。代わりに、ルーチン +\fBprefresh\fR +またはルーチン +\fBpnoutrefresh\fR +を呼び出す必要があります。表示されるパッドの一部、および表示に使用される +画面上の位置を指定する追加のパラメータがこれらのルーチンには +必要であることに注意してください。 + +\fBsubpad\fR +ルーチンは、パッド内の指定数の行 +\fInlines\fR +と列 +\fIncols\fR +があるパッド内の +サブウィンドウを指すポインタを作成し返します。画面座標を使用する +\fBsubwin\fR +と異なり、ウィンドウはパッド上の位置 +(\fIbegin\fR_\fIx\fR\fB,\fR \fIbegin\fR_\fIy\fR) +にあります。ウィンドウ +はウィンドウ +\fIorig\fR +の中央に作成されるので、 +1 +つのウィンドウについて行われた +変更は両方のウィンドウに影響を及ぼします。このルーチンの使用の間、 +\fBprefresh\fR +を呼び出す前に +\fIorig\fR +上で +\fBtouchwin\fR +または +\fBtouchline\fR +を呼び出すことがしばしば +必要になります。 + +\fBprefresh\fR +ルーチンおよび +\fBpnoutrefresh\fR +ルーチンは、 +\fBwrefresh\fR +および +\fBwnoutrefresh\fR +と類似していますが、ウィンドウではなくパッドに関連している +点は異なります。パッドと画面のどの部分が関連しているのかを示すために、 +追加のパラメータが必要です。 +\fIpminrow\fR +と +\fIpmincol\fR +はパッド内で表示される +長方形の左上コーナーを指定します。 +\fIsminrow\fR +、 +\fIsmincol\fR +、 +\fIsmaxrow\fR +、 +\fIsmaxcol\fR +は、画面に表示される長方形のエッジを指定します。パッド内に表示される長方形の +右下コーナーは、画面座標から計算されます。長方形は同じサイズ +でなければならないからです。両方の長方形が、それぞれの構造の内部に完全に +入れられる必要があります。 + +\fIpminrow\fR +、 +\fIpmincol\fR +、 +\fIminrow\fR +、 +\fIsmincol\fR +の値が負の場合は、ゼロであるかのように処理されます。 + +\fBpechochar\fR +ルーチンは、 +\fBaddch\fR +の呼び出しの後の +\fBrefresh\fR +の呼び出し、 +\fBwaddch\fR +の +呼び出しの後の +\fBwrefresh\fR +の呼び出し、または +\fBwaddch\fR +の呼び出しの後の +\fBprefresh\fR +の呼び出しと機能的に同等です。 +1 +文字しか出力されないという知識を +考慮に入れ、制御文字でないキャラクタについては、同等のルーチン +ではなくこれらのルーチンを使用することによって、相当な性能の向上が見られ +可能性があります。 +\fBpechochar\fR +の場合、画面上のパッドの最後の位置が、 +\fBprefresh\fR +への引数として再使用されます。 +.SH 戻り値 +整数を返すルーチンは、処理失敗すると +\fBERR\fR +を返してきます。処理が正常に +完了した場合は、 +\fBERR\fR +以外の整数値を返します。 + +ポインタを返すルーチンはエラーがあった場合は +\fBNULL\fR +を返してきます。 +.SH 注釈 +\fBpechochar\fR +はマクロである可能性があることに注意してください。 +.SH 関連項目 +\fBncurses\fR(3), \fBcurs_refresh\fR(3), \fBcurs_touch\fR(3), \fBcurs_addch\fR(3) +.\"# +.\"# The following sets edit modes for GNU EMACS +.\"# Local Variables: +.\"# mode:nroff +.\"# fill-column:79 +.\"# End: + diff --git a/ja_JP.eucJP/man/man3/curs_printw.3 b/ja_JP.eucJP/man/man3/curs_printw.3 new file mode 100644 index 0000000000..aaf23d1826 --- /dev/null +++ b/ja_JP.eucJP/man/man3/curs_printw.3 @@ -0,0 +1,70 @@ +.TH curs_printw 3 "" +.SH 名称 +\fBprintw\fR, \fBwprintw\fR, \fBmvprintw\fR, +\fBmvwprintw\fR, \fBvwprintw\fR - print formatted output in \fBncurses\fR windows +.SH 書式 +\fB#include \fR + +\fBint printw(char *fmt\fR [\fB, arg\fR] \fB...);\fR +.br +\fBint wprintw(WINDOW *win, char *fmt\fR [\fB, arg\fR] \fB...);\fR +.br +\fBint mvprintw(int y, int x, char *fmt\fR [\fB, arg\fR] \fB...);\fR +.br +\fBint mvwprintw(WINDOW *win, int y, int x, + \fBchar *fmt\fR [\fB, arg]\fR ...); + +\fB#include \fR +.br +\fBint vwprintw(WINDOW *win, char *fmt, varglist);\fR +.br +.SH 解説 +\fBprintw\fR +、 +\fBwprintw\fR +、 +\fBmvprintw\fR +、および +\fBmvwprintw\fR +の各ルーチンは +\fBprintf\fR +[ +\fBprintf\fR(3) +を参照 +] +に類似しています。実際には、 +\fBprintf\fR +によって出力されるストリングは、代わりに指定のウィンドウ上で +\fBwaddstr\fR +が使用されたかのように出力されます。 + +\fBvwprintw\fR +ルーチンは +\fBvprintf\fR +[ +\fBprintf\fR(3) +を参照 +] +に類似しており、変数引数リストを使用して +\fBwprintw\fR +を実行します。 +3 +番めの引数は +\fBva_list\fR +です。これは、 +\fB\fR +で定義されているように、引数のリストを指すポインタです。 +.SH 戻り値 +ルーチンはすべて処理失敗すると整数 +\fBERR\fR +を返してきます。処理が正常に完了した場合は、 +\fBERR\fR +以外の整数値を返します。 +.SH 関連項目 +\fBncurses\fR(3), \fBprintf\fR(3), \fBvprintf(3)\fR +.\"# +.\"# The following sets edit modes for GNU EMACS +.\"# Local Variables: +.\"# mode:nroff +.\"# fill-column:79 +.\"# End: diff --git a/ja_JP.eucJP/man/man3/curs_refresh.3 b/ja_JP.eucJP/man/man3/curs_refresh.3 new file mode 100644 index 0000000000..393baf398c --- /dev/null +++ b/ja_JP.eucJP/man/man3/curs_refresh.3 @@ -0,0 +1,133 @@ +.TH curs_refresh 3 "" +.SH 名称 +\fBrefresh\fR, \fBwrefresh\fR, \fBwnoutrefresh\fR, +\fBdoupdate\fR, \fBredrawwin\fR, +\fBwredrawln\fR - refresh \fBncurses\fR windows and lines +.SH 書式 +\fB#include \fR + +\fBint refresh(void);\fR +.br +\fBint wrefresh(WINDOW *win);\fR +.br +\fBint wnoutrefresh(WINDOW *win);\fR +.br +\fBint doupdate(void);\fR +.br +\fBint redrawwin(WINDOW *win);\fR +.br +\fBint wredrawln(WINDOW *win, int beg_line, int num_lines);\fR +.br +.SH 解説 +端末への実際の出力を得るためには、 +\fBrefresh\fR +ルーチンと +\fBwrefresh\fR +ルーチン +( +または +\fBwnoutrefresh\fR +と +\fBdoupdate\fR +) +を呼び出す必要があります。他のルーチンは +データ構造を操作するだけだからです。ルーチン +\fBwrefresh\fR +は、名前付き +ウィンドウを物理的な端末画面にコピーし、その際、最適化を行うために、 +既にそこにあるものを考慮します。 +\fBrefresh\fR +ルーチンも同じであり、デフォルトのウィンドウとして +\fBstdscr\fR +を使用します。 +\fBleaveok\fR +が有効になっている場合を +除いて、端末の物理カーソルはそのウィンドウ用のカーソルの位置に残されます。 + +\fBwnoutrefresh\fR +ルーチンと +\fBdoupdate\fR +ルーチンによって、 +\fBwrefresh\fR +単独でより +効率的に複数の更新ができます。すべてのウィンドウ構造に加えて、 +\fBncurses\fR +は、端末画面を表す次の +2 +つのデータ構造を保持します。物理画面は、画面上に +実際にあるものを記述し、仮想画面は、プログラマが画面に表示したいものを +記述します。 + +ルーチン +\fBwrefresh\fR +は、最初に +\fBwnoutrefresh\fR +を呼び出すことで機能します。 +\fBwnoutrefresh\fR +は、名前付きウィンドウを仮想画面にコピーしてから +\fBdoupdate\fR +を +呼び出します。 +\fBdoupdate\fR +は、仮想画面を物理画面に比較し、実際の更新を +行います。プログラマがいくつかのウィンドウを一度に出力することを希望する +場合は、 +\fBwrefresh\fR +を続けて何度も呼び出すと、 +\fBwnoutrefresh\fR +と +\fBdoupdate\fR +が +交互に呼び出されることになり、いくつかの出力バーストが画面に出力されます。 +各ウィンドウについて +\fBwnoutrefresh\fR +を最初に呼び出すと、 +\fBdoupdate\fR +を一度呼び出すことが可能になり、 +1 +回の出力のバーストだけが行われる結果になり、 +送信される合計キャラクタは少なくなり、使用される +CPU +時間は短くなります。 +\fBwrefresh\fR +への +\fIwin\fR +引数がグローバル変数 +\fBcurscr\fR +である場合、画面は即座にクリアされ、ゼロから再描画されます。 + +\fBredrawwin\fR +ルーチンは、 +\fBncurses\fR +に、いくつかの画面行が破損しており、それらを +廃棄した後で、それらの上に何かを書き込むことを示します。これらのルーチンは +エディタのようなプログラム用に使用できます。これは、画面の一部または +画面全体を再描画するコマンドを必要とします。ルーチン +\fBredrawln\fR +の方が +\fBredrawwin\fR +より望ましくあります。 +\fBredrawwin\fR +では、通信回線にノイズ +があるものがあり、ウィンドウ全体を再描画すると、さらに多くの通信ノイズを +受ける可能性があります。いくつかの行だけを再描画すると、それらが損傷なく +表示される可能性があります。 +.SH 戻り値 +すべてのルーチンが、処理失敗すると整数 +\fBERR\fR +を返します。処理が正常に完了した場合は、 +\fBERR\fR +以外の整数値を返します。 +.SH 注釈 +\fBrefresh\fR +と +\fBredrawwin\fR +はマクロである可能性があることに注意してください。 +.SH 関連項目 +\fBncurses\fR(3), \fBcurs_outopts\fR(3) +.\"# +.\"# The following sets edit modes for GNU EMACS +.\"# Local Variables: +.\"# mode:nroff +.\"# fill-column:79 +.\"# End: diff --git a/ja_JP.eucJP/man/man3/curs_scanw.3 b/ja_JP.eucJP/man/man3/curs_scanw.3 new file mode 100644 index 0000000000..529ff9f65b --- /dev/null +++ b/ja_JP.eucJP/man/man3/curs_scanw.3 @@ -0,0 +1,75 @@ +.TH curs_scanw 3 "" +.SH 名称 +\fBscanw\fR, \fBwscanw\fR, \fBmvscanw\fR, +\fBmvwscanw\fR, \fBvwscanw\fR - convert formatted input from a \fBncurses\fR widow +.SH 書式 +\fB#include \fR + +\fBint scanw(char *fmt\fR [\fB, arg\fR] \fB...);\fR +.br +\fBint wscanw(WINDOW *win, char *fmt\fR [\fB, arg\fR] \fB...);\fR +.br +\fBint mvscanw(int y, int x, char *fmt\fR [\fB, arg\fR] \fB...);\fR +.br +\fBint mvwscanw(WINDOW *win, int y, int x, + char *fmt\fR [\fB, arg]\fR \fB...);\fR +.br +\fBint vwscanw(WINDOW *win, char *fmt, va_list varglist);\fR +.SH 解説 +\fBscanw\fR +、 +\fBwscanw\fR +、および +\fBmvscanw\fR +の各ルーチンは、 +\fBscanf\fR +[ +\fBscanf\fR(3) +を参照 +] +に類似しています。 +これらのルーチンの効果は、ウィンドウで +\fBwgetstr\fR +が呼び出されたかのようであり、結果の行は +\fBsscanf\fR(3) +用の入力として使用されます。 +\fIfmt\fR +フィールド内の変数にマップされないフィールドは失われます。 + +\fBvwscanw\fR +ルーチンは、変数引数リストを使用して +\fBwscanw\fR +を実行するという点で、 +\fBvwprintw\fR +に類似しています。 +3 +番めの引数は +\fIva\fR_\fIlist\fR +です。これは、 +\fB\fR +で定義された引数リストを指すポインタです。 +.SH 戻り値 +\fBvwscanw\fR +は、処理が失敗すると +\fBERR\fR +を返し、処理が成功すると走査された +フィールドの数に等しい整数を返します。 + +アプリケーションは、 +\fBscanw\fR +、 +\fBwscanw\fR +、 +\fBmvscanw\fR +、および +\fBmvwscanw\fR +の各ルーチンの +戻り値を使用して、呼び出しでマップされたフィールドの数を判定できます。 +.SH 関連項目 +\fBncurses\fR(3), \fBcurs_getstr\fR(3), \fBcurs_printw\fR(3), \fBscanf\fR(3) +.\"# +.\"# The following sets edit modes for GNU EMACS +.\"# Local Variables: +.\"# mode:nroff +.\"# fill-column:79 +.\"# End: diff --git a/ja_JP.eucJP/man/man3/curs_scroll.3 b/ja_JP.eucJP/man/man3/curs_scroll.3 new file mode 100644 index 0000000000..91e21da672 --- /dev/null +++ b/ja_JP.eucJP/man/man3/curs_scroll.3 @@ -0,0 +1,65 @@ +.TH curs_scroll 3 "" +.SH 名称 +\fBscroll\fR, \fBscrl\fR, \fBwscrl\fR - scroll a \fBncurses\fR window +.SH 書式 +\fB#include \fR + +\fBint scroll(WINDOW *win);\fR +.br +\fBint scrl(int n);\fR +.br +\fBint wscrl(WINDOW *win, int n);\fR +.br +.SH 解説 +\fBscroll\fR +ルーチンは、ウィンドウを +1 +行だけ上方にスクロールします。これには、 +ウィンドウデータ構造内の行を移動することが含まれます。ウィンドウの +スクロール領域が画面全体である場合、最適化として、物理画面が同時に +スクロールされます。 + +\fBscrl\fR +ルーチンと +\fBwscrl\fR +ルーチンでは、 +\fIn\fR +が正の場合、ウィンドウを上方に +\fIn\fR +行 +スクロールします +( +行 +\fIi\fR+\fIn\fR +が +\fIi\fR +になります +) +。そうでない場合、ウィンドウを +下方に +\fIn\fR +行スクロールしますこれにはウィンドウキャラクタイメージ構造内の行を +移動することが含まれます。現在のカーソル位置は変更されません。 + +これらの関数が機能するためには、 +\fBscrollok\fR +でスクロールを有効にする必要があります。 +.SH 戻り値 +すべてのルーチンが処理失敗すると整数 +\fBERR\fR +を返し、処理が正常に完了すると +\fBERR\fR +以外の整数値を返します。 +.SH 注釈 +\fBscrl\fR +と +\fBscroll\fR +はマクロである可能性があることに注意してください。 +.SH 関連項目 +\fBncurses\fR(3), \fBcurs_outopts\fR(3) +.\"# +.\"# The following sets edit modes for GNU EMACS +.\"# Local Variables: +.\"# mode:nroff +.\"# fill-column:79 +.\"# End: diff --git a/ja_JP.eucJP/man/man3/curs_slk.3 b/ja_JP.eucJP/man/man3/curs_slk.3 new file mode 100644 index 0000000000..5af07f712f --- /dev/null +++ b/ja_JP.eucJP/man/man3/curs_slk.3 @@ -0,0 +1,171 @@ +.TH curs_slk 3 "" +.SH 名称 +\fBslk_init\fR, \fBslk_set\fR, \fBslk_refresh\fR, +\fBslk_noutrefresh\fR, \fBslk_label\fR, \fBslk_clear\fR, \fBslk_restore\fR, +\fBslk_touch\fR, \fBslk_attron\fR, \fBslk_attrset\fR, +\fBslk_attroff\fR - \fBncurses\fR soft label routines +.SH 書式 +\fB#include \fR + +\fBint slk_init(int fmt);\fR +.br +\fBint slk_set(int labnum, char *label, int fmt);\fR +.br +\fBint slk_refresh(void);\fR +.br +\fBint slk_noutrefresh(void);\fR +.br +\fBchar *slk_label(int labnum);\fR +.br +\fBint slk_clear(void);\fR +.br +\fBint slk_restore(void);\fR +.br +\fBint slk_touch(void);\fR +.br +\fBint slk_attron(chtype attrs);\fR +.br +\fBint slk_attrset(chtype attrs);\fR +.br +\fBint slk_attroff(chtype attrs);\fR +.br +.SH 解説 +slk* +関数は、多数の端末に存在するソフトファンクションキーラベルのセットを +操作します。ソフトラベルのない端末の場合、 +\fBncurses\fR +が +\fBstdscr\fR +の下端行を占め、 +\fBstdscr\fR +および変数 +\fBLINES\fR +のサイズを減少させます。 +\fBncurses\fR +は、それぞれ最高 +8 +キャラクタの +8 +つのラベルを標準化します。 + +\fBslk_init\fR +ルーチンを呼び出してから、 +\fBinitscr\fR +または +\fBnewterm\fR +を呼び出す +必要があります。 +\fBinitscr\fR +がソフトラベルをエミュレートするために +\fBstdscr\fR +から次第に行を使用していくと、 +\fIfmt\fR +が、ラベルが画面上でどのように配置されるかを +決定します。 +\fIfmt\fR +を +\fB0\fR +に設定すると、ラベルは +3-2-3 +配置になります。 +\fB1\fR +に設定すると、 +4-4 +配置になります。 + +\fBslk_set\fR +ルーチンの場合、 +\fIlabnum\fR +は +\fB1\fR +から +\fB8\fR +のラベル番号です。 +\fIlabel\fR +は、ラベルに設定する長さが最高 +\fB8\fR +キャラクタのストリングです。 +NULL +ストリング +または +NULL +ポインタは、ブランクのラベルをセットアップします。 +\fIfmt\fR +は +\fB0\fR +、 +\fB1\fR +、 +または +\fB2\fR +のいずれかで、それぞれラベル内部でラベルが左揃え、中心揃え、または +右揃えであることを示します。 + +\fBslk_refresh\fR +ルーチンと +\fBslk_noutrefresh\fR +ルーチンは、 +\fBwrefresh\fR +ルーチンと +\fBwnoutrefresh\fR +ルーチンに対応します。 + +\fBslk_label\fR +ルーチンは、ラベル番号 +\fIlabnum\fR +の現在のラベルを返します。この +場合、先頭と末尾のブランクは除去されます。 + +\fBslk_clear\fR +ルーチンは、画面からソフトラベルをクリアします。 + +\fBslk_restore\fR +ルーチンは、 +\fBslk_clear\fR +が実行された後で、ソフトラベルを画面に復元します。 + +\fBslk_touch\fR +ルーチンは、 +\fBslk_noutrefresh\fR +が次に実行されるときに、すべての +ソフトラベルが出力されるようにします。 + +\fBslk_attron\fR +、 +\fBslk_attrset\fR +、および +\fBslk_attroff\fR +の各ルーチンは、 +\fBattron\fR +、 +\fBattrset\fR +、および +\fBattroff\fR +に対応しています。これらが効力を持つのは、 +ソフトラベルが画面の下端行でシミュレートされる場合だけです。 +.SH 戻り値 +ルーチンは処理失敗すると整数 +\fBERR\fR +を返し、処理が正常に完了すると +\fBERR\fR +以外の整数値を返します。 + +\fBslk_label\fR +はエラーがあると +\fBNULL\fR +を返します。 +.SH 注釈 +ほとんどのアプリケーションが +\fBslk_noutrefresh\fR +を使用します。 +\fBwrefresh\fR +がすぐ続くと考えられるからです。 +.SH 関連項目 +\fBncurses\fR(3), \fBcurs_attr\fR(3), \fBcurs_initscr\fR(3), \fBcurs_refresh\fR(3) +.\"# +.\"# The following sets edit modes for GNU EMACS +.\"# Local Variables: +.\"# mode:nroff +.\"# fill-column:79 +.\"# End: + diff --git a/ja_JP.eucJP/man/man3/curs_touch.3 b/ja_JP.eucJP/man/man3/curs_touch.3 new file mode 100644 index 0000000000..98667faba3 --- /dev/null +++ b/ja_JP.eucJP/man/man3/curs_touch.3 @@ -0,0 +1,95 @@ +.TH curs_touch 3 "" +.SH 名称 +\fBtouchwin\fR, \fBtouchline\fR, \fBuntouchwin\fR, +\fBwtouchln\fR, \fBis_linetouched\fR, +\fBis_wintouched\fR - \fBncurses\fR refresh control routines +.SH 書式 +\fB#include \fR +.br +\fBint touchwin(WINDOW *win);\fR +.br +\fBint touchline(WINDOW *win, int start, int count);\fR +.br +\fBint untouchwin(WINDOW *win);\fR +.br +\fBint wtouchln(WINDOW *win, int y, int n, int changed);\fR +.br +\fBint is_linetouched(WINDOW *win, int line);\fR +.br +\fBint is_wintouched(WINDOW *win);\fR +.br +.SH 解説 +\fBtouchwin\fR +ルーチンと +\fBtouchline\fR +ルーチンは、ウィンドウ全体が +描画されているかのようにして、ウィンドウのどの部分が接触させられたかに +関するすべての最適化情報を廃棄します。オーバーラップするウィンドウを +使用するときはこれが必要なことがときどきあります。 +1 +つのウィンドウの変更が +他のウィンドウに影響を及ぼすものの、他のウィンドウ内でどの行が +変更されたかの記録は変更を反映しないからです。ルーチン +\fBtouchline\fR +は、行 +\fIstart\fR +から始めて、 +\fIcount\fR +行が変化したかのようにします。 + +\fBuntouchwin\fR +ルーチンは、 +\fBwrefresh\fR +の最後の呼び出し以降、 +ウィンドウ内のすべての行が変化していないとマークします。 + +\fBwtouchln\fR +ルーチンは、行 +\fIy\fR +で始めて、ウィンドウ内に +\fIn\fR +行を作成し、 +\fBwrefresh\fR +の最後の呼び出し以降、変化した +(\fIchanged\fR\fB=1\fR) +か、または +(\fIchanged\fR\fB=0\fR) +変化していないかのように見えます。 + +\fBis_linetouched\fR +ルーチンと +\fBis_wintouched\fR +ルーチンは、 +\fBwrefresh\fR +の最後の呼び出し以降、指定の行 +/ +ウィンドウが修正された場合は +\fBTRUE\fR +を返します。そうでない場合、 +\fBFALSE\fR +を返します。さらに、 +\fBis_linetouched\fR +は、指定のウィンドウについて +\fIline\fR +が有効でない場合、 +\fBERR\fR +を返します。 +.SH 戻り値 +すべてのルーチンが、処理失敗すると整数 +\fBERR\fR +を返してきます。処理が正常に完了した場合は、 +\fBERR\fR +以外の整数値を返します。ただし、前述のルーチンの解説で +異なるように記載した場合は別です。 +.SH 注釈 +\fBwtouchln\fR +を除くすべてのルーチンがマクロである可能性があることに +注意してください。 +.SH 関連項目 +\fBncurses\fR(3), \fBcurs_refresh\fR(3). +.\"# +.\"# The following sets edit modes for GNU EMACS +.\"# Local Variables: +.\"# mode:nroff +.\"# fill-column:79 +.\"# End: diff --git a/ja_JP.eucJP/man/man3/curs_util.3 b/ja_JP.eucJP/man/man3/curs_util.3 new file mode 100644 index 0000000000..74249cd926 --- /dev/null +++ b/ja_JP.eucJP/man/man3/curs_util.3 @@ -0,0 +1,144 @@ +.TH curs_util 3 "" +.SH 名称 +\fBunctrl\fR, \fBkeyname\fR, \fBfilter\fR, +\fBuse_env\fR, \fBputwin\fR, \fBgetwin\fR, \fBdelay_output\fR, +\fBflushinp\fR - miscellaneous \fBncurses\fR utility routines +.SH 書式 +\fB#include \fR + +\fBchar *unctrl(chtype c);\fR +.br +\fBchar *keyname(int c);\fR +.br +\fBint filter(void);\fR +.br +\fBvoid use_env(char bool);\fR +.br +\fBint putwin(WINDOW *win, FILE *filep);\fR +.br +\fBWINDOW *getwin(FILE *filep);\fR +.br +\fBint delay_output(int ms);\fR +.br +\fBint flushinp(void);\fR +.br +.SH 解説 +\fBunctrl\fR +マクロは、キャラクタ +\fIc\fR +の印刷可能な表現であるキャラクタストリングに +展開されます。制御キャラクタは +\fB^\fR\fIX\fR +表記で表示されます。印刷キャラクタ +はそのとおりに表示されます。 + +\fBkeyname\fR +ルーチンは、キー +\fIc\fR +に対応するキャラクタストリングを返します。 + +\fBfilter\fR +ルーチンを使用する場合は、 +\fBinitscr\fR +または +\fBnewterm\fR +の前に呼び出す必要があります。そうすると +\fBncurses\fR +は +1 +行画面があると認識します。 +\fBncurses\fR +は、画面のどの行にカーソルが配置されているか認識できることを想定する +端末機能を使用しません。 + +\fBuse_env\fR +ルーチンを使用する場合は、 +\fBinitscr\fR +または +\fBnewterm\fR +の前に呼び出す必要があります。引数として +\fBFALSE\fR +を指定して呼び出された場合、 +\fIterminfo\fR +データベースに指定された +\fBline\fR +と +\fBcolumn\fR +の値が使用されます。環境変数 +\fBLINES\fR +と +\fBCOLUMNS\fR +( +デフォルトで使用されます +) +が設定されていても、または +\fBncurses\fR +がウィンドウで実行されていてもです +( +この場合、 +\fBLINES\fR +と +\fBCOLUMNS\fR +が +設定されていない場合、デフォルトの動作ではウィンドウサイズを使用します +) +。 + +\fBputwin\fR +ルーチンは、ウィンドウ +\fIwin\fR +に対応するすべてのデータを +\fIfilep\fR +が指すファイルに書き込みます。この情報は、 +\fBgetwin\fR +関数を使用して後で取り出すことができます。 + +\fBgetwin\fR +ルーチンは、 +\fBputwin\fR +によってファイルに保存されたウィンドウ関連データ +を読み取ります。次に、このルーチンは、そのデータを使用して新しいウィンドウ +を作成および初期化し、新しいウィンドウを指すポインタを返してきます。 + +\fBdelay_output\fR +ルーチンは、出力に +\fIms\fR +ミリ秒を挿入します。このルーチンは広汎に使用しないでください。 +CPU +休止ではなくパッドキャラクタが使用されるからです。 + +\fBflushinp\fR +ルーチンは、ユーザが入力し、プログラムがまだ読み取っていない入力 +ヘッドを廃棄します。 +.SH 戻り値 +\fBflushinp\fR +を除いて、すべてのルーチンが、処理失敗すると整数 +\fBERR\fR +を返してきます。処理が正常に完了した場合は、 +\fBERR\fR +以外の整数値を返します。 + +\fBflushinp\fR +は必ず +\fBOK\fR +を返します。 + +ポインタを返すルーチンはエラーがあった場合は +\fBNULL\fR +を返します。 +.SH バグ +\fBfilter\fR +フィルタエントリ点はまだサポートされていません。 +.SH 注釈 +\fBunctrl\fR +はマクロであることに注意してください。これは +<\fBunctrl.h\fR> +内に定義されています。 +.SH 関連項目 +\fBncurses\fR(3), \fBcurs_initscr\fR(3), \fBcurs_scr_dmp\fR(3). +.\"# +.\"# The following sets edit modes for GNU EMACS +.\"# Local Variables: +.\"# mode:nroff +.\"# fill-column:79 +.\"# End: diff --git a/ja_JP.eucJP/man/man3/curs_window.3 b/ja_JP.eucJP/man/man3/curs_window.3 new file mode 100644 index 0000000000..96e9400619 --- /dev/null +++ b/ja_JP.eucJP/man/man3/curs_window.3 @@ -0,0 +1,214 @@ +.TH curs_window 3 "" +.SH 名称 +\fBnewwin\fR, \fBdelwin\fR, \fBmvwin\fR, +\fBsubwin\fR, \fBderwin\fR, \fBmvderwin\fR, \fBdupwin\fR, +\fBwsyncup\fR, \fBsyncok\fR, \fBwcursyncup\fR, +\fBwsyncdown\fR - create \fBncurses\fR windows +.SH 書式 +\fB#include \fR + +\fBWINDOW *newwin(int nlines, int ncols, int begin_y,\fR + \fBintbegin_x);\fR + +\fBint delwin(WINDOW *win);\fR +.br +\fBint mvwin(WINDOW *win, int y, int x);\fR +.br +\fBWINDOW *subwin(WINDOW *orig, int nlines, int ncols, + int begin_y, int begin_x);\fR +\fBWINDOW *derwin(WINDOW *orig, int nlines, int ncols, + int begin_y, int begin_x);\fR +\fBint mvderwin(WINDOW *win, int par_y, int par_x);\fR +.br +\fBWINDOW *dupwin(WINDOW *win);\fR +.br +\fBvoid wsyncup(WINDOW *win);\fR +.br +\fBint syncok(WINDOW *win, bool bf);\fR +.br +\fBvoid wcursyncup(WINDOW *win);\fR +.br +\fBvoid wsyncdown(WINDOW *win);\fR +.br +.SH 解説 +\fBnewwin\fR +ルーチンは、指定数の行と列のある新しいウィンドウを指すポインタを +作成して返します。ウィンドウの左上コーナーが行 +\fIbegin\fR_\fIy\fR +、列 +\fIbegin\fR_\fIx\fR +です。 +\fInlines\fR +または +\fIncols\fR +のどちらかがゼロの場合、デフォルトで +\fBLINES -\fR +\fIbegin\fR_\fIy\fR +および +\fBCOLS -\fR +\fIbegin\fR_\fIx\fR +になります。新しいフルスクリーンウィンドウは +\fBnewwin(0,0,0,0)\fR +を呼び出すことで作成されます。 + +\fBdelwin\fR +ルーチンは、名前付きウィンドウを削除し、それに対応するすべてのメモリ +を解放します +( +実際にはウィンドウの画面イメージを消去しません +) +。 +サブウィンドウを削除してから、メインウィンドウを削除します。 + +\fBmvwin\fR +ルーチンは、左上コーナーが位置 +(\fIx\fR, \fIy\fR) +にあるようにウィンドウを +移動します。移動によってウィンドウが画面からはみ出てしまう場合は、それは +エラーとなりウィンドウは移動されません。サブウィンドウを +移動することもできますが、これは避けてください。 + +\fBsubwin\fR +ルーチンは、指定数の行 +\fInlines\fR +と列 +\fIncols\fR +のある新しいウィンドウを +指すポインタを作成して返します。ウィンドウは画面上の位置 +(\fIbegin\fR_\fIy\fR, \fIbegin\fR_\fIx\fR) +にあります +( +この位置は画面に相対的であって、ウィンドウの +\fIorig\fR +に相対的にではありません +) +。ウィンドウはウィンドウ +\fIorig\fR +の中央に作成されるので、 +1 +つのウィンドウについて行われた変更は両方のウィンドウに +影響を及ぼします。サブウィンドウはウィンドウ +\fIorig\fR +とメモリを共有します。 +このルーチンを使用するときは、サブウィンドウで +\fBwrefresh\fR +を呼び出す前に、 +\fIorig\fR +上に +\fBtouchwin\fR +または +\fBtouchline\fR +を呼び出す必要があります。 + +\fBderwin\fR +ルーチンは +\fBsubwin\fR +と同じですが、 +\fIbegin\fR_\fIy\fR +と +\fIbegin\fR_\fIx\fR +が、画面ではなくウィンドウ +\fIorig\fR +の原点に相対的であり点は異なります。サブウィンドウと +導出されたウィンドウの間に違いはありません。 + +\fBmvderwin\fR +ルーチンは、親ウィンドウの内部の導出されたウィンドウ +( +またはサブウィンドウ +) +を移動します。ウィンドウの画面に相対的なパラメータは +変更されません。このルーチンを使用して、画面上の同じ物理的位置に親 +ウィンドウのさまざまな部分を表示できます。 + +\fBdupwin\fR +ルーチンは、ウィンドウ +\fIwin\fR +の正確な複製を作成します。 + +\fBncurses\fR +の各ウィンドウは、キャラクタイメージ構造とステータス構造という +2 +つのデータ構造を保持します。キャラクタイメージ構造は、 +ウィンドウ階層内のすべてのウィンドウの間で共有されます +( +\fIすなわち\fR、すべてのサブウィンドウのあるウィンドウです +) +。ウィンドウ内の個別の行変更に関する +情報が入っているステータス構造はお互いのウィンドウに対してプライベート +です。ルーチン +\fBwrefresh\fR +は、画面更新を実行するときにステータスデータ構造を +使用します。ステータス構造は共有ではないので、階層内の +1 +つのウィンドウに +対して行われた変更は画面上に適切に反映されない可能性があります。 + +ルーチン +\fBwsyncup\fR +は、ウィンドウのステータス構造内の変化が、その先祖の +ステータス構造内に反映されるようにします。 +\fBsyncok\fR +が +2 +番めの引数 +\fBTRUE\fR +を +指定して呼び出された場合、ウィンドウ内に変更があるたびに、 +\fBwsyncup\fR +が自動的に呼び出されます。 + +ルーチン +\fBwcursyncup\fR +は、ウィンドウのすべての先祖の現在のカーソル位置を +更新して、ウィンドウの現在のカーソル位置を反映するようにします。 + +ルーチン +\fBwsyncdown\fR +は、ウィンドウのステータス構造を更新して、先祖の +ステータス構造の変化を反映するようにします。アプリケーションがこのルーチン +を呼び出すことはほとんどありません。 +\fBwrefresh\fR +によって自動的に呼び出されるからです。 +.SH 戻り値 +ルーチンが、処理失敗すると整数 +\fBERR\fR +を返してきます。処理が正常に完了した場合は、 +\fBERR\fR +以外の整数値を返します。 + +\fBdelwin\fR +は処理失敗すると整数 +\fBERR\fR +を返し、処理が正常に完了すると +\fBOK\fR +を返します。 + +ポインタを返すルーチンはエラーがあると +\fBNULL\fR +を返します。 +.SH 注釈 +ウィンドウに多数の小さい変更が行われる場合、 +\fBwsyncup\fR +オプションによって性能が低下する可能性があります。 + +\fBsyncok\fR +はマクロである可能性があることに注意してください。 +.SH バグ +サブウィンドウ関数 +(\fIsubwin\fR +、 +\fIderwin\fR +など +) +は、脆く、実現が不完全であり、良く +試験されていません。特に、スクロールとの相互作用においてです。 +.SH 関連項目 +\fBncurses\fR(3), \fBcurs_refresh\fR(3), \fBcurs_touch\fR(3) +.\"# +.\"# The following sets edit modes for GNU EMACS +.\"# Local Variables: +.\"# mode:nroff +.\"# fill-column:79 +.\"# End: + diff --git a/ja_JP.eucJP/man/man3/curses.3 b/ja_JP.eucJP/man/man3/curses.3 new file mode 100644 index 0000000000..9c5401a8bd --- /dev/null +++ b/ja_JP.eucJP/man/man3/curses.3 @@ -0,0 +1,171 @@ +.\" Copyright (c) 1985, 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. +.\" +.\" @(#)curses.3 8.1 (Berkeley) 6/4/93 +.\" +.Dd June 4, 1993 +.Dt CURSES 3 +.Os BSD 4 +.Sh 名称 +.Nm curses +.Nd 「最適」なカーソル移動のある画面関数 +.Sh 書式 +.Nm cc +.Op Ar flags +.Ar files +.Fl lcurses ltermcap +.Op Ar libraries +.Sh 解説 +これらのルーチンは、合理的な最適化で画面を更新する方法をユーザに与えます。 +これらのルーチンは現在の画面のイメージを保持し、ユーザは新しい画面の +イメージをセットアップします。次に、 +.Fn refresh +が、現在の画面が新しい +画面のように表示されるようにルーチンに指示します。ルーチンを +初期化するためには、ウィンドウと画面を処理する他のルーチンが使用される +前に、ルーチン +.Fn initscr +を呼び出す必要があります。終了する前に、ルーチン +.Fn endwin +を呼び出す必要があります。 +.Pp +.Sh 関連項目 +.Xr ioctl 2 , +.Xr getenv 3 , +.Xr tty 4 , +.Xr termcap 5 +.Rs +.%T Screen Updating and Cursor Movement Optimization: A Library Package +.%A Ken Arnold +.Re +.Sh 作者 +.An Ken Arnold +.Sh 関数 +.Bl -column "subwin(win,lines,cols,begin_y,begin_x) " +.It addch(ch) キャラクタを +.Em stdscr +に追加する +.It addstr(str) ストリングを +.Em stdscr +に追加する +.It box(win,vert,hor) ウィンドウの回りにボックスを作図する +.It cbreak() cbreak モードを設定する +.It clear() stdscr をクリアする +.It clearok(scr,boolf) scr 用のクリアフラグを設定する +.It clrtobot() stdscr 上で下端へとクリアする +.It clrtoeol() stdscr 上で行の末尾へとクリアする +.It delch() 1 文字を削除する +.It deleteln() 1 行を削除する +.It delwin(win) win を削除する +.It echo() エコーモードを設定する +.It endwin() ウィンドウモードを終了する +.It erase() stdscr を消去する +.It flusok(win,boolf) win についてフラッシュオンリフレッシュ +(flush-on-refresh) フラグを設定する +.It getch() stdscr によって 1 キャラクタを得る +.It getcap(name) 端末機能 +.Em name +を得る +.It getstr(str) stdscr によってストリングを得る +.It gettmode() tty モードを得る +.It getyx(win,y,x) win 用に (y,x) 座標を得る +.It inch() 現在の (y,x) 座標で char を得る +.It initscr() 画面を初期化する +.It insch(c) 1 キャラクタを挿入する +.It insertln() 1 行を挿入する +.It leaveok(win,boolf) win 用に終了 (leave) フラグを設定する +.It longname(termbuf,name) termbuf から長い名前を得る +.It move(y,x) stdscr の (y,x) に移動する +.It mvcur(lasty,lastx,newy,newx) 実際にカーソルを移動する +.It newwin(lines,cols,begin_y,begin_x) 新しいウィンドウを作成する +.It nl() 改行マッピングを設定する +.It nocbreak() cbreak モードを設定解除する +.It noecho() エコーモードを設定解除する +.It nonl() 改行マッピングを設定解除する +.It noraw() 未加工 (raw) の設定解除モード +.It overlay(win1,win2) win1 を +.Em win2 +の上にオーバーレイする +.It overwrite(win1,win2) win1 を +.Em win2 +の一番上に上書きする +.It printw(fmt,arg1,arg2,...) stdscr 上での printf +.It raw() 未加工 (raw) モードを設定する +.It refresh() 現在の画面が +.Em stdscr +のように表示されるようにする +.It resetty() 保存された値に tty フラグをリセットする +.It savetty() 保存された現在の tty フラグ +.It scanw(fmt,arg1,arg2,...) stdscr による scanf +.It scroll(win) win を 1 行だけスクロールする +.It scrollok(win,boolf) win 用にスクロールフラグを設定する +.It setterm(name) 名前用の term 変数を設定する +.It standend() standout モードを終了する +.It standout() standout モードを開始する +.It subwin(win,lines,cols,begin_y,begin_x) win のサブウィンドウを作成する +.It touchline(win,y,sx,ex) win で変更されたように行 +.Em y +.Em sx +から +.Em sy +をマークする +.It touchoverlap(win1,win2) win2 上の +.Em win1 +のオーバーラップを変更されたようにマークする +.It touchwin(win) win のすべてを変更する +.It unctrl(ch) ch の印刷可能なバージョン +.It waddch(win,ch) win にキャラクタを追加する +.It waddstr(win,str) win にストリングを追加する +.It wclear(win) win をクリアする +.It wclrtobot(win) win の下端までクリアする +.It wclrtoeol(win) win の最後の行までクリアする +.It wdelch(win,c) win からキャラクタを削除する +.It wdeleteln(win) win から行を削除する +.It werase(win) win を抹消する +.It wgetch(win) win によって 1 キャラクタを得る +.It wgetstr(win,str) win によって 1 ストリングを得る +.It winch(win) win 内の現在の (y,x) にあるキャラクタを得る +.It winsch(win,c) win にキャラクタを挿入する +.It winsertln(win) win に行を挿入する +.It wmove(win,y,x) win に現在の (y,x) 座標を設定する +.It wprintw(win,fmt,arg1,arg2,...) win についての printf +.It wrefresh() win 画面が +.Em win +のように表示されるようにする +.It wscanw(win,fmt,arg1,arg2,...) win による scanf +.It wstandend(win) win での standout モードを終了する +.It wstandout(win) win での standout モードを開始する +.El +.Sh 歴史 +.Nm curses +パッケージは +.Bx 4.0 +で現れました。 diff --git a/ja_JP.eucJP/man/man3/cuserid.3 b/ja_JP.eucJP/man/man3/cuserid.3 new file mode 100644 index 0000000000..faa46d2cbd --- /dev/null +++ b/ja_JP.eucJP/man/man3/cuserid.3 @@ -0,0 +1,88 @@ +.\" +.\" Copyright (c) 1995 Joerg Wunsch +.\" +.\" 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 Joerg Wunsch +.\" 4. The name of the developer may not be used to endorse or promote +.\" products derived from this software without specific prior written +.\" permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``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 DEVELOPERS 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: cuserid.3,v 1.1.1.1 1999-12-09 16:26:06 kuriyama Exp $ +.\" +.Dd April 10, 1995 +.Os +.Dt CUSERID 3 +.Sh 名称 +.Nm cuserid +.Nd 有効な UID に対応するユーザ名を得る +.Sh 書式 +.Fd #include +.Ft char * +.Fn cuserid "char *s" +.Sh 解説 +.Bf -symbolic +.Nm cuserid +関数は +getpwuid +によって旧式なものになりました。 +.br +これは互換性ライブラリ +libcompat +で利用できます。 +.Ef +.Pp +関数 +.Nm cuserid +は、現在のプロセスの有効な +UID +に対応するユーザ名を取得します。引数 +.Fa s +がゼロでない場合、名前は、それが指しているバッファに +コピーされ、そのアドレスが返されます。このバッファは少なくとも +.Em L_cuserid +キャラクタ用の空間を準備する必要があります。この定数は +.Pa Aq stdio.h +内に +定義されます。 +.Pp +.Fa s +がゼロの場合、内部配列が使用され、そのアドレスが返されます。 +.Pp +.Sh 戻り値 +.Nm cuserid +は、名前が保存された配列のアドレスを返します。 +.Pp +現在のプロセスの有効な +UID +に対応する名前が見つからない場合は、NULL ポインタが返されるか、または +.Po +s がゼロでない場合 +.Pc +バッファ +.Fa s +が NULL ストリングで埋められるかのどちらかです。 +.Sh 関連項目 +.Xr geteuid 2 , +.Xr getpwuid 3 diff --git a/ja_JP.eucJP/man/man3/daemon.3 b/ja_JP.eucJP/man/man3/daemon.3 new file mode 100644 index 0000000000..12e670272c --- /dev/null +++ b/ja_JP.eucJP/man/man3/daemon.3 @@ -0,0 +1,78 @@ +.\" 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. +.\" +.\" @(#)daemon.3 8.1 (Berkeley) 6/9/93 +.Dd June 9, 1993 +.Dt DAEMON 3 +.Os +.Sh 名称 +.Nm daemon +.Nd バックグラウンドで実行される +.Sh 書式 +.Fd #include +.Ft int +.Fn daemon "int nochdir" "int noclose" +.Sh 解説 +.Pp +.Fn daemon +関数は、制御端末からみずからをデタッチし、システムデーモンとして +実行する必要のあるプログラム用です。 +.Pp +引数 +.Fa nochdir +がゼロでない場合を除いて、 +.Fn daemon +は現在の作業ディレクトリをルート (``/'') に変更します。 +.Pp +引数 +.Fa noclose +がゼロでない場合を除いて、 +.Fn daemon +は、標準入力、標準出力、および標準エラーを ``/dev/null'' に転送します。 +.Sh エラー +エラーが発生すると、 +.Fn daemon +は -1 を返し、グローバル変数 +.Va errno +をライブラリ関数 +.Xr fork 2 +と +.Xr setsid 2 +について指定したエラーに設定します。 +.Pp +.Sh 関連項目 +.Xr fork 2 , +.Xr setsid 2 +.Sh 歴史 +.Fn daemon +関数は最初に +.Bx 4.4 +で現れました。 diff --git a/ja_JP.eucJP/man/man3/dbopen.3 b/ja_JP.eucJP/man/man3/dbopen.3 new file mode 100644 index 0000000000..648a9ed3e6 --- /dev/null +++ b/ja_JP.eucJP/man/man3/dbopen.3 @@ -0,0 +1,456 @@ +.\" 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. +.\" +.\" @(#)dbopen.3 8.5 (Berkeley) 1/2/94 +.\" +.TH DBOPEN 3 "January 2, 1994" +.UC 7 +.SH 名称 +dbopen \- データベースアクセス方式 +.SH 書式 +.nf +.ft B +#include +#include +#include + +DB * +dbopen(const char *file, int flags, int mode, DBTYPE type, +.ti +5 +const void *openinfo); +.ft R +.fi +.SH 解説 +.I dbopen +は、データベースファイルへのライブラリインタフェースです。 +サポートされているファイルフォーマットは、 +.I btree +形式、ハッシュ形式、UNIX ファイル指向形式です。 +.I btree +フォーマットは、ソート済みのバランスのとれた +ツリー構造の表現です。ハッシュフォーマットは、拡張可能で動的な +ハッシュスキーマです。フラットファイルフォーマットは、固定長または可変長 +レコードからなるバイトストリームファイルです。フォーマットおよび +ファイルフォーマットに固有の情報については、それぞれのマニュアルページに +詳しく述べられています。 +.IR btree (3), +.IR hash (3), +.IR recno (3) +です。 +.PP +.I dbopen +は、読み込みまたは書き込み用に +.I file +を open します。ディスク上に保持する必要のないファイルは、 +ファイルパラメータをヌルに設定することで作成できます。 +.PP +引数 +.I flags +と引数 +.I mode +は、 +.IR open (2) +で指定されものと同じです。しかし、 +O_CREAT, O_EXCL, O_EXLOCK, O_NONBLOCK, O_RDONLY, O_RDWR, O_SHLOCK, O_TRUNC +の各フラグだけに意味があります (データベースファイルは O_WRONLY では +open できないことに注意してください) 。 +.\"Three additional options may be specified by +.\".IR or 'ing +.\"them into the +.\".I flags +.\"argument. +.\".TP +.\"DB_LOCK +.\"Do the necessary locking in the database to support concurrent access. +.\"If concurrent access isn't needed or the database is read-only this +.\"flag should not be set, as it tends to have an associated performance +.\"penalty. +.\".TP +.\"DB_SHMEM +.\"Place the underlying memory pool used by the database in shared +.\"memory. +.\"Necessary for concurrent access. +.\".TP +.\"DB_TXN +.\"Support transactions in the database. +.\"The DB_LOCK and DB_SHMEM flags must be set as well. +.PP +引数 +.I type +は、タイプ DBTYPE (インクルードファイル で定義されています) +であり、DB_BTREE, DB_HASH, DB_RECNO を設定できます。 +.PP +引数 +.I openinfo +は、アクセス方式のマニュアルページに説明してあるように、 +アクセス方式に固有の構造を指すポインタです。 +.I openinfo +がヌルの場合、各アクセス方式は、システムとアクセス方式に +適切なデフォルトを使用します。 +.PP +.I dbopen +は、処理が成功すると DB 構造体を指すポインタを返し、 +エラーの場合にはヌルを返します。 +DB 構造体は、インクルードファイル 内に定義されており、 +少なくとも次のフィールドが含まれています。 +.sp +.nf +typedef struct { +.RS +DBTYPE type; +int (*close)(const DB *db); +int (*del)(const DB *db, const DBT *key, u_int flags); +int (*fd)(const DB *db); +int (*get)(const DB *db, DBT *key, DBT *data, u_int flags); +int (*put)(const DB *db, DBT *key, const DBT *data, +.ti +5 +u_int flags); +int (*sync)(const DB *db, u_int flags); +int (*seq)(const DB *db, DBT *key, DBT *data, u_int flags); +.RE +} DB; +.fi +.PP +これらの要素は、データベースタイプと各種のアクションを実行する +関数のセットを記述しています。これらの関数は、 +.I dbopen +によって返された構造体へのポインタを引数に取り、 +時々キー/データ構造とフラグ値を指す 1 つまたは複数のポインタを +取ることもあります。 +.TP +type +基本アクセス方式 (およびファイルフォーマット) のタイプ。 +.TP +close +キャッシュされた情報をディスクにフラッシュし、割り振られたリソースを +解放し、基になっているファイル (1 つまたは複数) を閉じるルーチンを指す +ポインタ。キー/データの組はメモリにキャッシュされるので、ファイルを +.I close +関数または +.I sync +関数でファイルを同期するのに失敗すると、情報に矛盾や欠落が +生じるかもしれません。 +.I close +ルーチンは、エラー終了時には -1 を返し (errnoを設定) 、 +正常終了時には 0 を返します。 +.TP +del +キー/データの組をデータベースから削除するルーチンを指すポインタ。 +.IP +パラメータ +.I flag +は次の値に設定できます。 +.RS +.TP +R_CURSOR +カーソルが参照するレコードを削除します。カーソルは、 +あらかじめ初期化しておく必要があります。 +.RE +.IP +delete +ルーチンはエラー終了時には -1 を返し (errnoを設定) 、 +正常終了時には 0 を返します。指定した +.I key +がファイルの中になかった場合は 1 を返します。 +.TP +fd +基本データベースのファイル記述表現を返すルーチンを指すポインタ。 +同じファイルを参照しているファイル記述子は、同じ +.I file +名で +.I dbopen +を呼び出す全プロセスに返されます。このファイル記述子は、ロック関数 +.IR fcntl (2) +と +.IR flock (2) +への引数として安全に使用できます。 +ファイル記述子は、必ずしもアクセス方式が使用している基本ファイルに +関連付けられている必要はありません。ファイル記述子は +メモリデータベース内で利用できません。 +.I fd +ルーチンは、エラー終了時は -1 を返し (errnoを設定) 、 +正常終了時にはファイル記述子を返します。 +.TP +get +データベースからキーを使用して取り出すインタフェースである +ルーチンを指すポインタ。指定の +.I key +に関連付けられたデータのアドレスと長さが、 +.I data +で参照される構造体内に返されます。 +.I get +ルーチンはエラー終了時には -1 を返し (errnoを設定) 、 +正常終了時には 0 を返します。 +.I key +がファイルの中になかった場合は 1 を返します。 +.TP +put +キー/データの組をデータベース内に保存するルーチンを指すポインタ。 +.IP +パラメータ +.I flag +には次の値の 1 つを設定できます。 +.RS +.TP +R_CURSOR +カーソルが参照するキー/データの組を置き換えます。カーソルは、 +あらかじめ初期化されている必要があります。 +.TP +R_IAFTER +.I key +で参照されるデータの直後にデータを追加し、 +新しいキー/データの組を作成します。追加したキー/データの組のレコード番号が +.I key +構造体内に返されます ( +DB_RECNO アクセス方式にだけ適用できます) 。 +.TP +R_IBEFORE +.I key +で参照されるデータの直前にデータを挿入し、 +新しいキー/データの組を作成します。追加したキー/データの組のレコード番号が +.I key +構造体内に返されます (DB_RECNO アクセス方式にだけ適用できます) 。 +.TP +R_NOOVERWRITE +キーがそれ以前に存在しない場合にだけ、新しいキー/データの組を入力します。 +.TP +R_SETCURSOR +キー/データの組を保存し、それを参照するカーソルの位置をセット、または +初期化します (DB_BTREE および DB_RECNO アクセス方式にだけ適用できます) 。 +.RE +.IP +R_SETCURSOR +が利用できるのは、DB_BTREE と DB_RECNO のアクセス方式でだけです。 +キーには、変化しない固有の順序があることを意味しているからです。 +.IP +R_IAFTER と R_IBEFORE は DB_RECNO アクセス方式にだけ利用できます。 +どれも、アクセス方式が新しいキーを作成できることを意味しているからです。 +これは、キーが順序付けられており独立な場合にだけ真となります。 +たとえば、レコード番号です。 +.IP +.I put +ルーチンのデフォルトの動作は、新しいキー/データの組を入力し、 +それ以前に存在していたキーを置き換えることです。 +.IP +.I put +ルーチンはエラー終了時には -1 を返し (errnoを設定) 、 +正常終了時には 0 を返し、 +R_NOOVERWRITE フラグが設定されていて、しかもキーがファイル内に +既に存在する場合は 1 を返します。 +.TP +seq +データベースからのシーケンシャルな取り出し用インタフェースである +ルーチンを指すポインタ。キーのアドレスと長さは +.I key +が参照する構造体内に返され、データのアドレスと長さは +.I data +が参照する構造体内に返されます。 +.IP +シーケンシャルなキー/データの組の取り出しは、いつでも開始することができ、 +``カーソル''の位置は +.IR del , +.IR get , +.IR put , +.I sync +の各ルーチンによる呼び出しによって影響を受けません。 +シーケンシャルな走査の間のデータベースの修正は走査に反映されます。 +すなわち、カーソルの前に挿入されたレコードが返されるまでの間、 +カーソルの後ろに挿入されたレコードは返されません。 +.IP +フラグ値は次の値の 1 つにセットしなければなりません。 +.RS +.TP +R_CURSOR +指定のキーに関連付けられたデータが返されます。これはカーソルをキーの位置に +セットまたは初期化するという点で +.I get +ルーチンと異なります (DB_BTREE +アクセス方式の場合、返されたキーは必ずしも指定のキーと正確に一致する +必要がないことに注意してください。返されるキーは、指定のキーより +大きいかまたは等しいような、最小のキーであり、 +部分的なキー一致と範囲検索ができます) 。 +.TP +R_FIRST +データベースの最初のキー/データの組が返され、カーソルはそれを +参照するようにセットまたは初期化されます。 +.TP +R_LAST +データベースの最後のキー/データの組が返され、カーソルはそれを +参照するようにセットまたは初期化されます ( +DB_BTREE と DB_RECNO の各アクセス方式にだけ適用できます) 。 +.TP +R_NEXT +カーソルの直後にあるキー/データの組を取り出します。カーソルがまだ +セットされていない場合は、これは R_FIRST フラグと同じになります。 +.TP +R_PREV +カーソルの直前にあるキー/データの組を取り出します。カーソルがまだ +設定されていない場合には、これは R_LAST フラグと同じになります。( +DB_BTREE と DB_RECNO の各アクセス方式にだけ適用できます) 。 +.RE +.IP +R_LAST と R_PREV が利用できるのは、DB_BTREE と DB_RECNO の各 +アクセス方式についてだけです。これらはそれぞれキーに変化しない固有の +順序があることを意味しているからです。 +.IP +.I seq +ルーチンはエラー終了時には -1 を返し (errnoを設定) 、 +正常終了時には 0 を返し、指定のキーまたは現在のキーより小さいかまたは +大きいキー/データの組が存在しない場合は 1 を返します。 +DB_RECNO アクセス方式が使用されていて、 +しかもデータベースファイルがキャラクタ特殊ファイルであり、 +完全なキー/データの組がその時点で存在しない場合、 +.I seq +ルーチンは 2 を返します。 +.TP +sync +キャッシュされた情報をディスクにフラッシュするルーチンを指すポインタ。 +データベースがメモリ内にだけ存在する場合、 +.I sync +ルーチンには何の効果もなく、処理は常に正常終了します。 +.IP +フラグ値は次の値にセットできます。 +.RS +.TP +R_RECNOSYNC +DB_RECNO アクセス方式が使用される場合、このフラグは +.I sync +ルーチンが、 +.I recno +ファイル自身ではなく、 +.I recno +ファイルの基となる +.I btree +ファイルに適用されるようにします (詳細については +.IR recno (3) +マニュアルページの +.I bfname +フィールドを参照してください) 。 +.RE +.IP +.I sync +ルーチンはエラー終了時には -1 を返し (errnoを設定) 、 +正常終了時には 0 を返します。 +.SH キー/データの組 +すべてのファイルタイプへのアクセスはキー/データの組を基にしています。 +キーとデータの両方が次のデータ構造で表されます。 +.PP +typedef struct { +.RS +void *data; +.br +size_t size; +.RE +} DBT; +.PP +DBT 構造体の要素は次のように定義されます。 +.TP +data +バイトストリングを指すポインタ。 +.TP +size +バイトストリングの長さ。 +.PP +キーとデータバイトストリングは、同時に利用できるメモリにフィットする必要 +はありますが、参照できる文字列の長さには本質的には制限がありません。 +アクセス方式は、バイトストリングのバイトアラインについては +何の保証もしていないことに注意すべきです。 +.SH エラー +.I dbopen +ルーチンがエラー終了すると、ライブラリルーチン +.IR open (2) +や +.IR malloc (3) +で書かれているエラー、または下記のエラーに対する +.I errno +をセットします。 +.TP +[EFTYPE] +ファイルのフォーマットが間違っています。 +.TP +[EINVAL] +既存のファイル指定と互換性のないパラメータ (ハッシュ関数、 +パッドバイトなど) や、関数に意味のないパラメータが指定された (たとえば、 +事前の初期化が行なわれていないカーソルの使用) 、 +またはファイルとソフトウェアのバージョン間に不一致があります。 +.PP +.I close +ルーチンがエラー終了すると、ライブラリルーチン +.IR close (2), +.IR read (2), +.IR write (2), +.IR free (3), +.IR fsync (2) +に書かれているエラーについての +.I errno +をセットします。 +.PP +.IR del , +.IR get , +.IR put , +.I seq +の各ルーチンがエラー終了すると、ライブラリルーチン +.IR read (2), +.IR write (2), +.IR free (3), +.IR malloc (3) +に書かれているエラーについての +.I errno +をセットします。 +.PP +.I fd +ルーチンがエラー終了すると、メモリデータベース内の ENOENT に +.I errno +をセットします。 +.PP +.I sync +ルーチンがエラー終了すると、ライブラリルーチン +.IR fsync(2) +に書かれているエラーについての +.I errno +をセットします。 +.SH 関連項目 +.IR btree (3), +.IR hash (3), +.IR mpool (3), +.IR recno (3) +.sp +.IR "LIBTP: Portable, Modular Transactions for UNIX" , +.SH バグ +typedef DBT は、``data base thang'' の略称で、 +まだ使用されていない合理的な名前を誰も思いつかなかったために +使われることになりました。 +.PP +ファイル記述子インタフェースは構成が調和しておらず、 +インタフェースの今後のバージョンでは削除される予定です。 +.PP +どのアクセス方式も、並行アクセス、ロック、またはトランザクション +は、どのような形式でも提供しません。 diff --git a/ja_JP.eucJP/man/man3/des_crypt.3 b/ja_JP.eucJP/man/man3/des_crypt.3 new file mode 100644 index 0000000000..c8d02cf400 --- /dev/null +++ b/ja_JP.eucJP/man/man3/des_crypt.3 @@ -0,0 +1,121 @@ +.\" @(#)des_crypt.3 2.1 88/08/11 4.0 RPCSRC; from 1.16 88/03/02 SMI; +.TH DES_CRYPT 3 "6 October 1987" +.SH 名称 +des_crypt, ecb_crypt, cbc_crypt, des_setparity \- 高速 DES 暗号化 +.SH 書式 +.nf +.B #include +.LP +.B int ecb_crypt(key, data, datalen, mode) +.B char *key; +.B char *data; +.B unsigned datalen; +.B unsigned mode; +.LP +.B int cbc_crypt(key, data, datalen, mode, ivec) +.B char *key; +.B char *data; +.B unsigned datalen; +.B unsigned mode; +.B char *ivec; +.LP +.B void des_setparity(key) +.B char *key; +.fi +.SH 解説 +.IX encryption cbc_crypt "" \fLcbc_crypt\fP +.IX "des encryption" cbc_crypt "DES encryption" \fLcbc_crypt\fP +.IX encryption des_setparity "" \fLdes_setparity\fP +.IX "des encryption" des_setparity "DES encryption" \fLdes_setparity\fP +.B ecb_crypt() +と +.B cbc_crypt() +は、 +.SM NBS +.SM DES +(Data Encryption Standard) を実現しています。これらのルーチンは、 +.BR crypt (3) +より高速で汎用的です。また、 +.SM DES +ハードウェアが用意されていれば、それも利用できます。 +.B ecb_crypt(\|) +は、 +.SM ECB +(Electronic Code Book) モードで暗号化します。 +これはデータのブロックを独立に暗号化するものです。 +.B cbc_crypt(\|) +は、 +.SM CBC +(Cipher Block Chaining) モードで暗号化します。これは +連続するブロックを一つにつなげるものです。 +.SM CBC +モードは、ブロックの挿入、削除、置き換えに対する保護を行ないます。 +また、通常のテキストにおける正規性は暗号テキストには現れません。 +.LP +これらのルーチンを使用する方法は次のとおりです。最初のパラメータ +.I key +は、パリティ付き 8 バイトの暗号化キーです。キーのパリティ ( +.SM DES +の場合、これは各バイトの下位ビットにあります) を設定するためには、 +.I des_setparity +を使用します。2 番めのパラメータ +.I data +には、暗号化または暗号解除されるデータが入っています。 +3 番めのパラメータ +.I datalen +は、 +.I data +の長さ (バイト単位) であり、これは 8 の倍数でなければなりません。 +4 番めのパラメータ +.I mode +は、いくつかのものの論理和 ( +.SM OR\s0'ing +) によって作成されます。暗号化の方向に関しては、 +.SM DES_ENCRYPT +か +.SM DES_DECRYPT +どちらかの論理和を、ソフトウェア対ハードウェアの暗号化については、 +.SM DES_HW +か +.SM DES_SW +のどちらかの論理和を取り、 +.SM DES_HW +が指定されており、しかもハードウェアがない場合は、 +暗号化はソフトウェアで実行され、ルーチンは +.SM DESERR_NOHWDEVICE +を返します。 +.I cbc_crypt +の場合、パラメータ +.I ivec +はチェイン作成用の 8 バイトの初期化ベクトルです。 +これは戻り時に、次の初期化ベクトルへと更新されます。 +.SH 関連項目 +.BR des (1), +.BR crypt (3) +.SH 診断 +.PD 0 +.TP 20 +.SM DESERR_NONE +エラーなし +.TP +.SM DESERR_NOHWDEVICE +暗号化処理は成功しましたが、要求されたハードウェアではなく +ソフトウェアで行われました。 +.TP +.SM DESERR_HWERR An +ハードウェアまたはドライバでエラーが発生しました。 +.TP +.SM DESERR_BADPARAM +ルーチンに間違ったパラメータが指定されました。 +.PD +.LP +終了コード +.I stat +が与えられると、マクロ +.SM DES_FAILED\c +.BR ( stat ) +が偽になるのは、最初の 2 つのステータスについてだけです。 +.SH 制約 +これらのルーチンは RPCSRC 4.0 では利用できません。 +この情報は Secure RPC で求められる +DES インタフェースの説明として提供されています。 diff --git a/ja_JP.eucJP/man/man3/devname.3 b/ja_JP.eucJP/man/man3/devname.3 new file mode 100644 index 0000000000..9f11a0c32c --- /dev/null +++ b/ja_JP.eucJP/man/man3/devname.3 @@ -0,0 +1,71 @@ +.\" 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. +.\" +.\" @(#)devname.3 8.2 (Berkeley) 4/29/95 +.\" +.Dd April 29, 1995 +.Dt DEVNAME 3 +.Os BSD 4.4 +.Sh 名称 +.Nm devname +.Nd デバイス名を得る +.Sh 書式 +.Fd #include +.Ft char * +.Fn devname "dev_t dev" "mode_t type" +.Sh 解説 +.Fn devname +関数は、デバイス番号 +.Fa dev +の +.Dq Pa /dev +内のブロック名または +キャラクタデバイスを指すポインタと、 +.Fa type +でエンコードされたものと一致する +ファイルタイプを返します。 +.Fa type +は S_IFBLK または S_IFCHR のどちらかである必要があります。 +指定の値と一致するデバイスがない場合、または利用できる情報がない場合、 +NULL が返されます。 +.Pp +デバイスが見つからないときのアプリケーションの従来の表示は +ストリング +.Dq ?? +です。 +.Sh 関連項目 +.Xr stat 2 , +.Xr dev_mkdb 8 +.Sh 歴史 +.Fn devname +関数は +.Bx 4.4 +で現れました。 diff --git a/ja_JP.eucJP/man/man3/devstat.3 b/ja_JP.eucJP/man/man3/devstat.3 new file mode 100644 index 0000000000..2e2fb4841a --- /dev/null +++ b/ja_JP.eucJP/man/man3/devstat.3 @@ -0,0 +1,524 @@ +.\" +.\" Copyright (c) 1998 Kenneth D. Merry. +.\" 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. The name of the author may not be used to endorse or promote products +.\" derived from this software without specific prior written permission. +.\" +.\" 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. +.\" +.\" $Id: devstat.3,v 1.1.1.1 1999-12-09 16:26:06 kuriyama Exp $ +.\" +.Dd May 21, 1998 +.Dt DEVSTAT 3 +.Os FreeBSD 3.0 +.Sh 名称 +.Nm devstat +.Nd デバイス統計ユーティリティライブラリ +.Sh 書式 +.Fd #include +.Ft int +.Fn getnumdevs "void" +.Ft long +.Fn getgeneration "void" +.Ft int +.Fn getversion "void" +.Ft int +.Fn checkversion "void" +.Ft int +.Fn getdevs "struct statinfo *stats" +.Ft int +.Fo selectdevs +.Fa "struct device_selection **dev_select" +.Fa "int *num_selected" +.Fa "int *num_selections" +.Fa "long *select_generation" +.Fa "long current_generation" +.Fa "struct devstat *devices" +.Fa "int numdevs" +.Fa "struct devstat_match *matches" +.Fa "int num_matches" +.Fa "char **dev_selections" +.Fa "int num_dev_selections" +.Fa "devstat_select_mode select_mode" +.Fa "int maxshowdevs" +.Fa "int perf_select" +.Fc +.Ft int +.Fo buildmatch +.Fa "char *match_str" +.Fa "struct devstat_match **matches" +.Fa "int *num_matches" +.Fc +.Ft int +.Fo compute_stats +.Fa "struct devstat *current" +.Fa "struct devstat *previous" +.Fa "long double etime" +.Fa "u_int64_t *total_bytes" +.Fa "u_int64_t *total_transfers" +.Fa "u_int64_t *total_blocks" +.Fa "long double *kb_per_transfer" +.Fa "long double *transfers_per_second" +.Fa "long double *mb_per_second" +.Fa "long double *blocks_per_second" +.Fa "long double *ms_per_transaction" +.Fc +.Ft long double +.Fo compute_etime +.Fa "struct timeval cur_time" +.Fa "struct timeval prev_time" +.Fc +.Sh 解説 +.Nm devstat +ライブラリは、カーネル +.Xr devstat 9 +インタフェースを処理するのに +便利な関数のライブラリです。カーネル +.Xr devstat 9 +インタフェースは、 +.Xr sysctl 3 +によってユーザーがアクセスできます。 +.Pp +.Fn getnumdevs +は、カーネル内の +.Nm devstat +サブシステムとともに登録された +デバイスの番号を返します。 +.Pp +.Fn getgeneration +は、カーネル内のデバイス +.Nm devstat +リストの現在の世代を +返します。 +.Pp +.Fn getversion +は、現在のカーネル +.Nm devstat +デバイスバージョンを返します。 +.Pp +.Fn checkversion +は、カーネル +.Nm devstat +バージョンに対して +userland devstat +をチェックします。 +2 つが同一の場合、ゼロが返されます。そうでない場合は、 +.Va devstat_errbuf +に該当するエラーを表示し -1 を返します。 +.Pp +.Fn getdevs +は、デバイスと統計の現在のリストを取り出して、指定された +.Va statinfo +構造に入れます。 +.Va statinfo +構造は +.Aq Pa devstat.h +にあります。 +.Bd -literal -offset indent +struct statinfo { + long cp_time[CPUSTATES]; + long tk_nin; + long tk_nout; + struct devinfo *dinfo; + struct timeval busy_time; +}; +.Ed +.Pp +.Fn getdevs +は +.Va statinfo +構造が割り振られるのを予期し、また、定刻より早く +.Va dinfo +サブエレメントが割り振られるのも予期します。 +.Va dinfo +サブエレメントには次のエレメントが入っています。 +.Bd -literal -offset indent +struct devinfo { + struct devstat *devices; + u_int8_t *mem_ptr; + long generation; + int numdevs; +}; +.Ed +.Pp +.Va kern.devstat.all sysctl +変数には、 +.Nm devstat +構造の配列が入っていますが、配列の先頭は現在の +.Nm devstat +世代です。世代がバッファの先頭にある理由は、 +.Nm devstat +統計にアクセスしている userland ソフトウェアが自動的に +統計情報および対応する世代番号の両方を自動的に得るようにするためです。 +クライアントソフトウェアが別の +.Nm sysctl +変数 ( これは便宜のために利用できます ) を通じて世代番号を得ることを +強制された場合、デバイスのリストは、クライアントが世代を得る時刻と、 +クライアントがデバイスリストを得る時刻の間で変化する可能性があります。 +.Pp +.Va devinfo +構造の +.Va mem_ptr +サブエレメントは、割り振られたメモリを指すポインタであり、必要であれば、 +.Fn getdevs +によってサイズを変更されます。 +.Va devinfo +構造のデバイスサブエレメントは基本的に、 +.Va kern.devstat.all +.Nm sysctl +変数から +.Nm devstat +構造の配列の先頭を指すポインタです。 +.Nm devinfo +構造の世代 +サブエレメントには、 +.Va kern.devstat.all +.Nm sysctl +変数からの世代番号が含まれています。 +.Va devinfo +構造の +.Va numdevs +サブエレメントには、カーネル +.Nm devstat +サブシステムで登録されたデバイスの現在の番号が入っています。 +.Pp +.Fn selectdevs +は、規準の数を基礎にして表示するデバイスを選択します。 +.Bl -tag -width flag +.It 指定デバイス +指定されたデバイスは最初の選択優先順位です。これらは、一般に、 +ユーザにより名前により指定されたデバイス、たとえば、 +da0, da1, cd0 です。 +.It マッチパターン +これらのパターンユーザ入力から +.Fn buildmatch +によって生成されたパターンマッチング式です。 +.It 性能 +性能モードが有効な場合、デバイスは、 +.Fn selectdevs +に渡される +.Va device_selection +構造内の +.Va bytes +フィールドを基礎にしてソートされます。 +.Va bytes +値は、現時点では、ユーザが保守する必要があります。将来的には、これは +.Nm devstat +ライブラリルーチンで行われる可能性があります。デバイスが名前または +パターンによって選択されていない場合、性能追跡コードがシステム内の +各デバイスを選択し、これらを性能によってソートします。デバイスが名前または +パターンによって選択されている場合、性能追跡コードはこれらの選択を尊重し、 +選択されたデバイスの間でだけソートします。 +.It devstat リスト内の順序 +選択モードが DS_SELECT_ADD に設定され、しかも +.Va maxshowdevs +未満のデバイスが選択されている場合、 +.Fn selectdevs +が自動的に +.Va maxshowdevs +デバイスをセットアップします。 +.El +.Pp +.Fn selectdevs +は、次の 4 つのモードで選択を行います。 +.Bl -tag -width DS_SELECT_ADDONLY +.It DS_SELECT_ADD +追加モードで、 +.Fn selectdevs +は、名前または一致パターンによって指定された +選択されていないデバイスを選択します。また、これは +.Nm devstat +の順序でさらにデバイスを選択します。選択したデバイスの数が +.Va maxshowdevs +に等しくなるまで、またはすべてのデバイスが選択されるまでです。 +.It DS_SELECT_ONLY +only モードで、 +.Fn selectdevs +は、現在の選択肢をすべてクリアし、 +名前または一致するパターンで指定されたデバイスだけを選択します。 +.It DS_SELECT_REMOVE +除去モードで、 +.Fn selectdevs +は、名前または一致パターンによって指定されたデバイスを除去します。 +追加デバイスは選択しません。 +.It DS_SELECT_ADDONLY +追加のみモードで、 +.Fn selectdevs +は、名前または一致する +パターンで指定された選択されないデバイスを選択します。この点では、これは +追加モードと同一です。しかし、指定された以外のデバイスは選択しません。 +.El +.Pp +すべての選択モードで、 +.Fn selectdevs +は、 +.Va maxshowdevs +デバイスを越えるデバイスは選択しません。1 つの例外は、 +.Dq top +モードにあり、デバイスが選択されていないときです。この場合、 +.Fn selectdevs +は、システム内の各デバイス +を選択します。クライアントプログラムは、特定のデバイスに注意を払うかどうか +決定するときに、選択の順序に注意を払う必要があります。これはまずい +動作であり、さらに考慮する必要があると考えられます。 +.Pp +.Fn selectdevs +は、クライアントによって渡された +.Va dev_select +構造の割り振りとサイズ変更を処理します。 +.Fn selectdevs +は、 +.Va numdevs +フィールドと +.Va current_generation +フィールドを使用して、現在の +.Nm devstat +世代とデバイスの数を追跡します。 +.Va num_selections +が +.Va numdevs +と同じでない場合、または +.Va select_generation +が +.Va current_generation +と同じでない場合、 +.Fn selectdevs +は、選択リストを必要に応じてサイズ変更し、選択配列を初期化し直します。 +.Pp +.Fn buildmatch +は、カンマで区切られた一致ストリングを取り、 +.Fn selectdevs +が理解する +\fBdevstat_match\fR 構造にコンパイルします。一致ストリングの形式は +次のとおりです。 +.Pp +.Bd -literal -offset indent +device,type,if +.Ed +.Pp +.Fn buildmatch +は、必要に応じて、一致リストの割り振りと再割り振りを +処理します。現時点で既知の一致タイプには次のものが含まれます。 +.Pp +.Bl -tag -width indent -compact +.It デバイスタイプ: +.Bl -tag -width 123456789 -compact +.It da +ダイレクトアクセスデバイス +.It sa +シーケンシャルアクセスデバイス +.It printer +プリンタ +.It proc +プロセッサデバイス +.It worm +書き込み 1 回読み取り複数デバイス (Write Once Read Multiple devices) +.It cd +CD デバイス +.It scanner +スキャナデバイス +.It optical +光学メモリデバイス +.It changer +媒体変更 (Medium Changer) デバイス +.It comm +通信デバイス +.It array +ストレージ配列デバイス +.It enclosure +囲みサービスデバイス (Enclosure Services devices) +.It floppy +フロッピーデバイス +.El +.Pp +.It インタフェース: +.Bl -tag -width 123456789 -compact +.It IDE +統合ドライブ電子工学デバイス (Integrated Drive Electronics devices) +.It SCSI +小型コンピュータシステムインタフェースデバイス +.It other +他のデバイスインタフェース +.El +.Pp +.It パススルー: +.Bl -tag -width 123456789 -compact +.It pass +パススルーデバイス +.El +.El +.Pp +.Fn compute_stats +は、さまざまなデバイス統計を得るための簡単な方法です。 +.Va current +と +.Va etime +の 2 つの引数が必須です。他の各引数はオプションです。 +ほとんどのアプリケーションの場合、ユーザは +.Va current +と +.Va previous +の +.Nm devstat +構造の両方を指定したいと思うものです。指定期間に渡って統計が +計算できるようにするためにです。インスタンスによっては、システム起動からの +統計を計算するために、ユーザは +.Va previous +の引数について NULL ポインタを渡すことがあります。その場合、 +.Fn compute_stats +は、 +.Va current +の構造内の合計状態を使用して、 +.Va etime +時間に渡る統計を計算します。 +.Fn compute_stats +が計算する可能性のある各種統計は、関数宣言自体で主に説明する +必要がありますが、完全性を期するために、変数名のリストとそれに入れられる +統計を示します。 +.Bl -tag -width transfers_per_second +.It total_bytes +.Va previous +の取得と +.Va current +の取得の間で、読み取りと書き込みの +両方が、指定デバイスで転送されるバイトの合計数です。 +.Va previous +が NULL の場合、結果は +.Va current +で与えられる合計の読み取りと書き込みです。 +.It total_transfers +.Va previous +の取得と +.Va current +の取得の間で完了される転送の合計数です。以前が NULL の場合、結果は +.Va current +内にリストされるトランザクションの合計数です。 +.It total_blocks +基本的に +.Va total_bytes +をデバイスブロックサイズで除算したものです。ブロックサイズが +.Sq 0 +としてリストされている場合、デバイスブロックサイズは、 +デフォルトで 512 バイトになります。 +.It kb_per_transfer +測定期間の間の転送ごとの平均 KB 数です。 +.It transfers_per_second +秒ごとの転送の平均数です。 +.It mb_per_second +秒ごとの平均 MB です。 +.It locks_per_second +秒ごとの平均ブロックです。デバイスブロックサイズが +.Sq 0 +の場合、デフォルトのブロックサイズ 512 バイトが代わりに使用されます。 +.It ms_per_transaction +トランザクションごとの平均ミリ秒数です。 +.El +.Pp +.Fn compute_etime +は、2 つの +.Va timeval +構造の間の秒単位の違いを検出する簡単な方法です。これは、 +.Fn getdevs +関数 ( +.Va statinfo +構造体内 ) が、現在の +.Nm devstat +リストを取り出すたびに、 +.Fn getdevs +関数が記録した時刻とともに最も一般的に使用されます。 +.Sh 戻り値 +.Fn getnumdevs , +.Fn getgeneration +、および +.Fn getversion +は、指示された \fBsysctl\fR 変数を返します。 +変数を取り出すときにエラーがあった場合は -1 を返します。 +.Pp +.Fn checkversion +は、カーネルと userland devstat バージョンが一致する場合、 +0 を返します。一致しない場合、 -1 を返します。 +.Pp +.Fn getdevs +と +.Fn selectdevs +は、エラーの場合は -1 を返し、エラーがない場合は 0 を返し、 +デバイスリストまたは選択したデバイスが変化している場合は 1 を返します。 +.Fn getdevs +からの戻り値が 1 であるのは、 +.Fn selectdevs +の再実行の +ヒントです。デバイスリストが変化しているからです。 +.Pp +.Fn buildmatch +はエラーの場合は -1 、エラーがない場合は 0 を返します。 +.Pp +.Fn compute_stats +はエラーの場合は -1 、成功の場合は 0 を返します。 +.Pp +.Fn compute_etime +計算済みの経過時間を返します。 +.Pp +.Nm devstat +ライブラリ関数の 1 つからエラーが返された場合、一般に、エラーの +理由がグローバルストリング +.Va devstat_errbuf +に印刷されます。 +.Va devstat_errbuf +の長さは +.Dv DEVSTAT_ERRBUF_SIZE +キャラクタです。 +.Sh 関連項目 +.Xr systat 1 , +.Xr iostat 8 , +.Xr rpc.rstatd 8 , +.Xr vmstat 8 , +.Xr devstat 9 +.Sh 歴史 +.Nm devstat +統計システムは最初に +.Fx 3.0 +に現れました。 +.Sh 作者 +Kenneth Merry +.Aq ken@FreeBSD.ORG +.Sh バグ +.Fn getdevs , +.Fn selectdevs +、および +.Fn buildmatch +によって割り振られたメモリを +割り振り解除するためのインタフェースがおそらくあるはずです。 +.Pp +.Fn selectdevs +は、デバイスが以前に選択されていない場合、 +.Dq top +モードでは、 +.Va maxshowdevs +デバイスより多くを選択することはおそらくできません。 +.Pp +このライブラリのほとんどのクライアントについて行われる統計バッファスワップ +を実行するための関数がおそらくあるはずです。 +.Pp +.Va statinfo +構造と +.Nm devinfo +構造は、クリーンアップし、もう少し考える必要があります。 diff --git a/ja_JP.eucJP/man/man3/dialog.3 b/ja_JP.eucJP/man/man3/dialog.3 new file mode 100644 index 0000000000..86303c3d79 --- /dev/null +++ b/ja_JP.eucJP/man/man3/dialog.3 @@ -0,0 +1,490 @@ +.\" +.\" Copyright (c) 1995, Jordan Hubbard +.\" +.\" All rights reserved. +.\" +.\" This manual page may be used, modified, copied, distributed, and +.\" sold, in both source and binary form provided that the above +.\" copyright and these terms are retained, verbatim, as the first +.\" lines of this file. Under no circumstances is the author +.\" responsible for the proper functioning of the software described herein +.\" nor does the author assume any responsibility for damages incurred with +.\" its use. +.\" +.\" $Id: dialog.3,v 1.1.1.1 1999-12-09 16:26:06 kuriyama Exp $ +.\" +.Dd October 2, 1998 +.Dt dialog 3 +.Os FreeBSD 2 +.Sh 名称 +.Nm draw_shadow , +.Nm draw_box , +.Nm line_edit , +.Nm strheight , +.Nm strwidth , +.Nm dialog_create_rc, +.Nm dialog_yesno , +.Nm dialog_prgbox , +.Nm dialog_msgbox , +.Nm dialog_textbox , +.Nm dialog_menu , +.Nm dialog_checklist , +.Nm dialog_radiolist , +.Nm dialog_inputbox , +.Nm dialog_clear_norefresh , +.Nm dialog_clear , +.Nm dialog_update , +.Nm dialog_fselect , +.Nm dialog_notify , +.Nm dialog_mesgbox , +.Nm dialog_gauge , +.Nm init_dialog , +.Nm end_dialog , +.Nm use_helpfile , +.Nm use_helpline , +.Nm get_helpline , +.Nm restore_helpline , +.Nm dialog_ftree , +.Nm dialog_tree +.Nd 簡単な ncurses ベースの GUI インタフェース +.Sh 解説 +ダイアログライブラリは、固定表示メニュー、入力ボックス、ゲージ、 +ファイルリクエスタ、その他の汎用「GUI」(多少誇張してあります。ncurses を +使用するからです) オブジェクトのかなり単純化したセットを +提供しようとしています。 +ライブラリではシェルスクリプトライターユーティリティ (\fBdialog(1)\fR +コマンドを参照) 内にもルーツがあったため、初期の API は、 +渡され、送られ、パースされるストリングを原始的に基礎としていました。 +この API は後に拡張され、オリジナル +の引数または \fBdialogMenuItem\fR 構造の配列のどちらかを取るようになりました。 +この結果、ユーザは、各コントロールの内部動作をさらに +制御できるようになりました。\fBdialogMenuItem\fR 構造の内部はパブリックです。 + +.nf +typedef struct _dmenu_item { + char *\fBprompt\fR; + char *\fBtitle\fR; + int (*\fBchecked\fR)(struct _dmenu_item *self); + int (*\fBfire\fR)(struct _dmenu_item *self); + int (*\fBselected\fR)(struct _dmenu_item *self, int is_selected); + void *\fBdata\fR; + char \fBlbra\fR, \fBmark\fR, \fBrbra\fR; +} \fBdialogMenuItem\fR; +.fi + +\fBprompt\fR ストリングと \fBtitle\fR ストリングは、かなり自明です。 +メニューオブジェクトとユーザコードの間に緊密に結合されたフィードバックが +必要なとき、\fBchecked\fR 関数ポインタと \fBfire\fR 関数ポインタには +オプションの +ディスプレイと処置フックが備わっています (これらの +フックのために \fBdata\fR 変数が利用できます)。 +\fB選択された\fR フックによって、コンテキストに応じた動作をかなり +実現するために、指定の項目が選択されているかどうかを +検証することもできます。さまざまな種類の項目タイプをシミュレートする +賢明ないくつかの方法が、\fBlbra\fR (デフォルト: '[')、 +\fBmark\fR (デフォルト: ラジオメニューについては '*'、 +チェックメニューについては 'X')、および +\fBrbra\fR (デフォルト: ']') の値を調整し、合理的な \fBchecked\fR フックを +宣言することで行えます。これは「マークされた」状態については TRUE、「マーク +されない」状態については FALSE を返すはずです。項目に対応する \fBfire\fR フック +がある場合、その項目は、何らかの方法で項目が「トグル」されたときもいつでも +呼び出され、次のコードの 1 つを返すはずです。 +.nf + +#define DITEM_SUCCESS 0 /* 完了成功 */ +#define DITEM_FAILURE -1 /*「起動(fire)」に失敗 */ +#define DITEM_LEAVE_MENU -2 /* 選択肢を「OK」として取り扱う */ +#define DITEM_REDRAW -3 /* メニューが変化している。描画し直せ */ + +ダイアログを任意の X、Y 位置に配置するために 2 つの専用のグローバルも +存在します(初期の設計者はかなり近視眼的で、これの準備をしませんでした)。 +ゼロに設定されている場合、デフォルトの中央揃えが有効になります。 + +.fi + +.Sh 書式 +.Fd #include +.Ft "void" +.Fn draw_shadow "WINDOW *win" "int y" "int x" "int height" "int width" + +\fBx, y, width\fR、および \fBheight\fR の寸法を使用して、 +curses ウィンドウ \fBwin\fR に陰を描画します。 +処理成功すると 0 を返し、処理失敗すると -1 を返します。 + +.Ft "void" +.Fn draw_box "WINDOW *win" "int y" "int x" "int height" "int width" "chtype box" "chtype border" + +\fBx, y, width\fR、および \fBheight\fR の寸法を使用して、 +ボーダーのあるボックスを描画します。 +\fBbox\fR と \fBborder\fR の属性が指定されている場合、ボックスと +オブジェクトのボーダー領域をペイントする間、それらが使用されます。 + +.Ft "int" +.Fo line_edit +.Fa "WINDOW *dialog" +.Fa "int box_y" +.Fa "int box_x" +.Fa "int flen" +.Fa "int box_width" +.Fa "chtype attrs" +.Fa "int first" +.Fa "unsigned char *result" +.Fa "int attr_mask" +.Fc + +寸法が \fBbox_x, box_y\fR および \fBbox_width\fR の編集ボックスで +簡単なラインエディタを起動します。フィールドの長さは \fBflen\fR によって +制約され、指定された \fBfirst\fR キャラクタで開始します。 +この \fBfirst\fR キャラクタはオプションで、 +キャラクタ属性 \fBattrs\fR で表示されます。 +編集中のストリングは \fBresult\fR に保存されます。 + +処理が成功した場合は 0 、処理が失敗した場合は -1 を返します。 + +.Ft "int" +.Fn strheight "const char *p" + +改行をカウントしながら、\fBp\fR 内のストリングの高さを返します。 + +.Ft "int" +.Fn strwidth "const char *p" + +改行をカウントしながら、\fBp\fR 内のストリングの幅を返します。 + +.Ft "void" +.Fn dialog_create_rc "unsigned char *filename" + +デフォルトとして後で取り出すためにダイアログライブラリ設定 +を \fBfilename\fR 内にダンプします。 +処理が成功した場合は 0 、処理が失敗した場合は -1 を返します。 + +.Ft "int" +.Fn dialog_yesno "unsigned char *title" "unsigned char *prompt" "int height" "int width" + +寸法が \fBheight\fR と \fBwidth\fR の \fBtitle\fR ストリングと +\fBprompt\fR ストリングを使用してテキストボックスを表示します。 +また、下端に \fBYes\fR ボタンと \fBNo\fR ボタンのペアも表示します。 +\fBYes\fR ボタンを選択すると、FALSE を返します。 +\fBNo\fR ボタンを選択すると TRUE を返します。 + +.Ft "int" +.Fn dialog_prgbox "unsigned char *title" "const unsigned char *line" "int height" "int width" "int pause" "int use_shell" + +コマンド \fBline\fR の出力が入っている、寸法が \fBheight\fR と +\fBwidth\fR のテキストボックスを表示します。 +\fBuse_shell\fR が TRUE の場合、\fBline\fR は \fBsh(1)\fR への引数として +渡されます。そうでない場合は、単に +\fBexec(3)\fR に渡されます。 +\fBpause\fR が TRUE の場合、実行が終了したときに、 +最終的な確認リクエスタが供給されます。 + +処理が成功した場合は 0 、処理が失敗した場合は -1 を返します。 + +.Ft "int" +.Fn dialog_textbox "unsigned char *title" "unsigned char *prompt" "int height" "int width" + +寸法が \fBheight\fR と \fBwidth\fR の、ストリング \fBprompt\fR の内容が +含まれているテキストボックスを表示します。 + +処理が成功した場合は 0 、処理が失敗した場合は -1 を返します。 + +.Ft "int" +.Fn dialog_menu "unsigned char *title" "unsigned char *prompt" "int height" "int width" "int menu_height" "int item_no" "void *itptr" "unsigned char *result, int *ch, int *sc" + +寸法が \fBheight\fR と \fBwidth\fR のメニューを表示します。 +このメニューには、\fBmenu_height\fR というオプションの内部メニューの高さが +あります。\fBitem_no\fR 引数と \fBitptr\fR 引数には特別な重要性があります。 +これらは一緒になって、利用可能な 2 つの API のうちどちらを使用するかを +決定するからです。古い従来のインタフェースを使用するには、 +\fBitem_no\fR が \fBitptr\fR (タイプは \fBchar **\fR である必要があります) +内に見つかるストリングポインタペアの数を表す正の整数である +必要があります。ストリングは各項目についてプロンプト内にあり +タイトル順であることが予測されます。 +\fBresult\fR パラメータは、選択された項目の +プロンプトストリングがコピーされる配列を指すと予測されます。もっと新しい +インタフェースを使用するには、\fBitem_no\fR が、 +\fBitptr\fR (タイプは \fBdialogMenuItem *\fR である必要があります) の指す +\fBdialogMenuItem\fR 構造の数を表す負の整数である必要があります。 +項目ごとに 1 つの構造です。新しいインタフェースでは、\fBresult\fR 変数は、 +単純なブール演算子 (ポインタではありません) として使用され、 +\fBitptr\fR がメニュー構造を指すだけで、デフォルトの \fBOK\fR ボタンと +\fBCancel\fR ボタンが望ましい場合は、NULL にする必要があります。 +\fBresult\fR が NULL でない場合、\fBitptr\fR は実際に、 +メニュー項目リストの始点を過ぎた 2 位置を指すと予測されます。 +この場合、\fBitptr\fR[-1] は \fBCancel\fR ボタンを表す項目を指すと +予測されます。ここから、 \fBprompt\fR 処置と \fBfire\fR 処置が +デフォルトの動作を上書きするために使用されます。 +\fBitp-tr[-2]\fR は \fBOK\fR ボタンについて同じことをします。 + +どちらかの API 動作を使用すると、\fBch\fR 値と \fBsc\fR 値が渡され、 +現在の項目選択が維持され、呼び出しの間で位置の値がスクロールされます。 + +処理が成功した場合は 0 、処理が失敗した場合または ESC の場合は -1 を返します。 + +.Ft "int" +.Fn dialog_checklist "unsigned char *title" "unsigned char *prompt" "int height" "int width" "int m_height" "int item_no" "void *itptr" "unsigned char *result" + +寸法が \fBheight\fR と \fBwidth\fR のメニューを表示します。このメニューには、 +\fBmenu_height\fR というオプションの内部メニューの高さがあります。 +\fBitem_no\fR 引数と \fBitptr\fR 引数には特別な重要性があります。 +これらは一緒になって、利用可能な 2 つの API のうちどちらを使用するか +を決定するからです。古い従来のインタフェースを使用するには、 +\fBitem_no\fR が \fBitptr\fR (タイプは \fBchar **\fR である必要が +あります) 内に見つかるストリングポインタ要素の集合の数を表す正の +整数である必要があります。ストリングは各項目についてプロンプト内にあり +タイトルと状態 (「オン」または「オフ」) 順であることが予測されます。 +\fBresult\fR パラメータは、選択された項目のプロンプトストリングが +コピーされる配列を指すと予測されます。 +もっと新しいインタフェースを使用するには、\fBitem_no\fR が、 +\fBitptr\fR (タイプは \fBdialogMenuItem *\fR である必要があります) の指す +\fBdialogMenuItem\fR 構造の数を表す負の整数である必要があります。項目ごとに +1 つの構造です。新しいインタフェースでは、\fBresult\fR 変数は、 +単純なブール演算子 (ポインタではありません) として使用され、 +\fBitptr\fR がメニュー構造を指すだけで、デフォルトの \fBOK\fR ボタンと +\fBCancel\fR ボタンが望ましい場合は、NULL にする必要があります。 +\fBresult\fR が NULL でない場合、\fBitptr\fR は実際に、メニュー項目 +リストの始点を過ぎた 2 位置を指すと予測されます。この場合、 +\fBitptr[-1]\fR は \fBCancel\fR ボタンを表す項目を指すと予測されます。 +ここから、\fBprompt\fR 処置と \fBfire\fR 処置が +デフォルトの動作を上書きするために使用されます。 +\fBitptr[-2]\fR は \fBOK\fR ボタンについて同じことをします。 + +標準 API モデルでは、メニューは複数項目の選択をサポートしています。 +各項目が選択を表すために 'X' キャラクタでマークされます。 +OK ボタンを選択すると、選択されたすべての項目についてのプロンプト値が +連結されて \fBresult\fR ストリングに入れられます。 + +新しい API モデルでは、「チェックリスト」意味論を保持する必要は +実際にはありません。各項目がどのように表示されるか、 +「選択された」としてどのようにマークされるかについての +実際的にほとんどのことは完全に構成可能だからです。 +「ラジオ」動作、「チェックリスト」動作、および標準メニュー項目動作の +項目のグループを実際に組み入れていた 1 つのチェックリストメニューを +得ることができるでしょう。 +新しい API モデルで \fBdialog_radiolist\fR よりも +\fBdialog_checklist\fR を呼び出す唯一の理由は、 +ベース動作を継承することです。もはやそれによって制約されなくなります。 + +処理が成功した場合は 0、処理が失敗した場合または ESC の場合は -1 を返します。 + +.Ft "int" +.Fn dialog_radiolist "unsigned char *title" "unsigned char *prompt" "int height" "int width" "int m_height" "int item_no" "void *it" "unsigned char *result" + +寸法が \fBheight\fR と \fRwidth\fR のメニューを表示します。このメニューには、 +\fBmenu_height\fR というオプションの内部メニューの高さがあります。 +\fBitem_no\fR 引数と \fBitptr\fR 引数には特別な重要性があります。 +これらは一緒になって、利用可能な 2 つの API のうちどちらを使用するかを +決定するからです。古い従来のインタフェースを使用するには、 +\fBitem_no\fR が \fBitptr\fR (タイプは \fBchar **\fR である +必要があります) 内に見つかるストリングポインタ要素の集合の数を表す正の +整数である必要があります。ストリングは各項目についてプロンプト内にあり +タイトルと状態 (「オン」または「オフ」) 順であることが予測されます。 +\fBresult\fR パラメータは、選択された項目のプロンプトストリングが +コピーされる配列を指すと予測されます。 +もっと新しいインタフェースを使用するには、\fBitem_no\fR が、 +\fBitptr\fR (タイプは \fBdialogMenuItem *\fR である必要があります) の指す +\fBdialogMenuItem\fR 構造の数を表す負の整数である必要があります。項目ごとに +1 つの構造です。新しいインタフェースでは、\fBresult\fR 変数は、 +単純なブール演算子 (ポインタではありません) として使用され、 +\fBitptr\fR がメニュー構造を指すだけで、デフォルトの \fBOK\fR ボタンと +\fBCancel\fR ボタンが望ましい場合は、NULL にする必要があります。 +\fBresult\fR が NULL でない場合、\fBitptr\fR は実際に、メニュー項目 +リストの始点を過ぎた 2 位置を指すと予測されます。この場合、 +\fBitptr[-1]\fR は \fBCancel\fR ボタンを表す項目を指すと予測されます。 +ここから、 \fBprompt\fR 処置と \fBfire\fR 処置がデフォルトの動作を +上書きするために使用されます。\fBitptr[-2]\fR は \fBOK\fR ボタンについて +同じことをします。 + +標準 API モデルでは、メニューは複数の項目の 1 つだけの選択をサポートします。 +現在アクティブな項目は `*' でマークされます。 + +新しい API モデルでは、「ラジオボタン」意味論を保持する必要は +実際にはありません。各項目がどのように表示されるか、 +「選択された」としてどのようにマークされるかについての +実際的にすべてのことが完全に構成可能だからです。「チェックリスト」動作、 +「ラジオ」動作および標準メニュー項目動作の項目のグループを実際に組み入れた +1 つのチェックリストメニューを得ることができます。 +新しい API モデルで \fBdialog_checklist\fR よりも +\fBdialog_radiolist\fR を呼び出す唯一の理由は、ベース動作を継承することです。 + +処理が成功した場合は 0 を返し、Cancel の場合は 1 を返し、 +処理が失敗するかまたは ESC の場合は -1 を返します。 + +.Ft "int" +.Fn dialog_inputbox "unsigned char *title" "unsigned char *prompt" "int height" "int width" "unsigned char *result" + +寸法が \fBheight\fR と \fBwidth\fR の \fBtitle\fR と +\fBprompt\fR を表示するボックス内に 1 行のテキスト入力フィールドを表示します。 +入力されたフィールドは \fBresult\fR に保存されます。 + +処理が成功した場合は 0 を返し、 +処理が失敗するかまたは ESC の場合は -1 を返します。 + +.Ft "char *" +.Fn dialog_fselect "char *dir" "char *fmask" + +\fBdir\fR で開始し、\fBfmask\fR に一致するファイル名だけを表示する +ファイルセレクタダイアログを呼び出します。 + +選択されたファイル名または NULL を返します。 + +.Ft "int" +.Fn dialog_dselect "char *dir" "char *fmask" + +\fBdir\fR で開始し、\fBfmask\fR に一致するディレクトリ名だけを表示する +ファイルセレクタダイアログを呼び出します。選択されたファイル名 +または NULL を返します。 + +.Ft "void" +.Fn dialog_notify "char *msg" + +\fBmsg\fR が入った一般的な "hey, you!" 通知ダイアログを呼び出します。 + +.Ft "int" +.Fn dialog_mesgbox "unsigned char *title" "unsigned char *prompt" "int height" "int width" + +通知ダイアログに類似していますが、 +\fBtitle\fR, \fBprompt\fR, \fBwidth\fR および \fBheight\fR を +さらに制御できます。このオブジェクトは、\fBdialog_notify\fR と違って、 +ユーザ確認も待機します。 + +処理が成功した場合は 0 を返し、処理が失敗した場合は -1 を返します。 + +.Ft "void" +.Fn dialog_gauge "char *title" "char *prompt" "int y" "int x" "int height" "int width" "int perc" + +水平の棒グラフスタイルのゲージを表示します。\fBperc\fR についての +\fB100\fR という値はフルゲージを構成し、 +\fB0\fR という値は空のゲージを構成します。 + +.Ft "void" +.Fn use_helpfile "char *helpfile" + +コンテキストに応じたヘルプをサポートしているどのメニューについても、 +\fBF1\fR キー +が押されるたびにこのファイル上のテキストボックスオブジェクトが +起動されます。 + +.Ft "void" +.Fn use_helpfile "char *helpfile" + +表示されているメニューの下に便利なこの行を表示します。 + +.Ft "char *" +.Fn get_helpline "void" + +便利なテキスト行の現在の値を取得します。 + +.Ft "void" +.Fn dialog_clear_norefresh "void" + +画面をクリアしてダイアログ背景色にしますが、内容はリフレッシュしません。 + +.Ft "void" +.Fn dialog_clear "void" + +ただちに画面をクリアしてダイアログの背景色に戻します。 + +.Ft "void" +.Fn dialog_update "void" + +延期中の画面リフレッシュを今、行います。 + +.Ft "void" +.Fn init_dialog "void" + +ダイアログライブラリをシャットダウンします (正気に戻る必要がある場合は +これを呼び出してください) 。 + +.Ft "int" +.Fn dialog_ftree "unsigned char *filename" "unsigned char FS" \ +"unsigned char *title" "unsigned char *prompt" "int height" "int width" \ +"int menu_height" "unsigned char **result" + +\fBdialog_ftree\fR は、ファイル \fBfilename\fR からのデータで +記述されたツリーを表示します。ファイル内のデータは +\fBfind(1)\fR 出力のように見えるはずです。 +\fBfind(1)\fR 出力の場合、フィールド分離子 \fBFS\fR は \fB\'/\'\fR になります。 +\fBheight\fR と \fBwidth\fR が正の数である場合、これらは +\fBdialog_ftree\fR ボックス全体の絶対サイズを設定します。 +\fBheight\fR と \fBwidth\fR が負の数である場合、 +\fBdialog_ftree\fR ボックスのサイズは自動的に計算されます。 +\fBmenu_height\fR は \fBdialog_ftree\fR ボックス内の +ツリーサブウィンドウの高さを設定し、また設定する必要があります。 +\fBtitle\fR は、\fBdialog_ftree\fR ボックスの上端ボーダー上に +中央揃えで表示されます。 +ツリーサブウィンドウの上方にある \fBdialog_ftree\fR 内部に +\fBprompt\fR が表示され、行を分割するために \fB\'\\n\'\fR を +入れることができます。ツリーをナビゲートするには、\fBUP/DOWN\fR または +\fB\'+\'/\'-\'\fR, \fBPG_UP/PG_DOWN\fR または +\fB\'b\'/SPACE\fR および \fBHOME/END\fR または +\fB\'g\'/\'G\'\fR を押します。ツリーのリーフを選択するには、 +\fBTAB\fR または \fBLEFT/RIGHT\fR を押し、\fBOK\fR ボタン次いで +\fBENTER\fR を押します。ファイル名には \fBfind(1)\fR 出力のような +データを組み入れることができます。 +\fB-d\fR オプションを指定した \fBfind(1)\fR の出力とも同じようにです。 +ツリーのリーフに移行するパスは存在しなくてかまいません。 +このようなデータはファイル名からフィードされたときに訂正されます。 + +\fBOK\fR ボタンを選択すると、関数は 0 と選択したリーフ (ツリーの +ルートからリーフへのパス) を指すポインタを結果に入れて返します。 +ツリーの作成用に割り振られたメモリは、既存の \fBdialog_ftree\fR を +終了するときに解放されます。 +結果の行用のメモリは必要であれば後で手動で解放します。 +\fBCancel\fR ボタンを選択すると、関数は 1 を返します。 +\fBESC\fR で \fBdialog_ftree\fR を終了する場合、関数は -1 を返します。 + +.Ft "int" +.Fo dialog_tree +.Fa "unsigned char **names" +.Fa "int size" +.Fa "unsigned char FS" +.Fa "unsigned char *title" +.Fa "unsigned char *prompt" +.Fa "int height" +.Fa "int width" +.Fa "int menu_height" +.Fa "unsigned char **result" +.Fc + +\fBdialog_tree\fR は、\fBdialog_ftree\fR と非常に類似したツリーを表示しますが、 +例外がいくつかあります。ツリーを作成するためのソースデータは、 +サイズが \fBsize\fR のリーフへのパスの配列 \fBnames\fR です (\fBfind(1)\fR +出力に類似しています) 。 +しかし、\fBdialog_ftree\fR でのようにデータの訂正はありません。 +このように、正しいツリーを表示するためには、配列には正しいデータが +既に入っている必要があります。 +なお、セッションごとに \fBdialog_tree\fR の独自の各使用法がメモリに保持され、 +後で、同じ \fBnames\fR, \fBsize\fR, \fBFS\fR, \fBheight\fR, +\fBwidth\fR および \fBmenu_height\fR で \fBdialog_tree\fR を呼び出すときに、 +ツリーサブウィンドウ内のカーソルの位置が復元されます。 + +関数は \fBdialog_ftree\fR と同じ結果を返します。 +0 が返された場合、結果には配列 \fBnames\fR からのポインタが入れられます。 + +.Sh 関連項目 +.Xr dialog 1 , +.Xr ncurses 3 +.Sh 作者 +主要な作者は +.An Savio Lam Aq lam836@cs.cuhk.hk +と考えられます。長年に渡る貢献が +.An Stuart Herbert Aq S.Herbert@sheffield.ac.uk , +.An Marc van Kempen Aq wmbfmk@urc.tue.nl , +.An Andrey Chernov Aq ache@freebsd.org , +.An Jordan Hubbard Aq jkh@freebsd.org +および +.An Anatoly A. Orehovsky Aq tolik@mpeks.tomsk.su +によって行われました。 +.Sh 歴史 +これらの関数は +.Em FreeBSD-2.0 +では +.Xr dialog 1 +コマンドとして現れましたが、 +すぐに Andrey Chernov によってライブラリとコマンドに分割されました。 +Marc van Kempen がその他のコントロールとオブジェクトのほとんどを作成しました。 +Jordan Hubbard が dialogMenuItem 革新とこのマニュアルページを追加しました。 +Anatoly A. Orehovsky が dialog_ftree() と dialog_tree() を作成しました。 +.Sh バグ +確実! diff --git a/ja_JP.eucJP/man/man3/directory.3 b/ja_JP.eucJP/man/man3/directory.3 new file mode 100644 index 0000000000..775951ecce --- /dev/null +++ b/ja_JP.eucJP/man/man3/directory.3 @@ -0,0 +1,165 @@ +.\" Copyright (c) 1983, 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. +.\" +.\" @(#)directory.3 8.1 (Berkeley) 6/4/93 +.\" +.Dd June 4, 1993 +.Dt DIRECTORY 3 +.Os BSD 4.2 +.Sh 名称 +.Nm opendir , +.Nm readdir , +.Nm telldir , +.Nm seekdir , +.Nm rewinddir , +.Nm closedir , +.Nm dirfd +.Nd ディレクトリ操作 +.Sh 書式 +.Fd #include +.Fd #include +.Ft DIR * +.Fn opendir "const char *filename" +.Ft struct dirent * +.Fn readdir "DIR *dirp" +.Ft long +.Fn telldir "const DIR *dirp" +.Ft void +.Fn seekdir "DIR *dirp" "long loc" +.Ft void +.Fn rewinddir "DIR *dirp" +.Ft int +.Fn closedir "DIR *dirp" +.Ft int +.Fn dirfd "DIR *dirp" +.Sh 解説 +.Fn opendir +関数は、 +.Fa filename +で指名されたディレクトリを開き、 +.Em ディレクトリストリーム +をそれに対応させ、後続の操作での +.Em ディレクトリストリーム +を識別するのに使用するポインタを返します。 +.Fa filename +に +アクセスできない場合、またはすべてのものを保持するのに十分なメモリを +.Xr malloc 3 +できない場合は、ポインタ +.Dv NULL +が返されます。 +.Pp +.Fn readdir +関数は、次のディレクトリエントリを指すポインタを返します。この +関数は、ディレクトリの末尾に到達するか、または無効な +.Fn seekdir +操作を +検出すると +.Dv NULL +を返します。 +.Pp +.Fn telldir +関数は、名前の付いた +.Em ディレクトリストリーム +に対応する現在の位置を返します。 +.Fn telldir +が返す値が良いのは、派生させられる元となった +.Dv DIR +ポインタ +.Fa dirp +の寿命の間だけです。ディレクトリが閉じられ再び開かれると、 +.Fn telldir +が返した以前の値はもはや有効ではありません。 +.Pp +.Fn seekdir +関数は、 +.Em ディレクトリストリーム +への次の +.Fn readdir +操作の位置を設定します。新しい位置は、 +.Fn telldir +操作が実行されたときの +.Em ディレクトリストリーム +と対応付けられたものに戻ります。 +.Pp +.Fn rewinddir +関数は、名前の付いた +.Em ディレクトリストリーム +の位置をディレクトリの先頭にリセットします。 +.Pp +.Fn closedir +関数は、名前の付いた +.Em ディレクトリストリーム +を閉じ、 +.Fa dirp +ポインタに対応する構造を解放し、処理が成功した場合は 0 を返します。 +処理が失敗すると、\-1 が返され、グローバル変数 +.Va errno +が設定されてエラーを示すようになります。 +.Pp +.Fn dirfd +関数は、名前の付いた +.Em ディレクトリストリーム +に対応する整数ファイル記述子を返します。 +.Xr open 2 +を参照してください。 +.Pp +ディレクトリでエントリ「name」を検索するサンプルコードは次のとおりです。 +.Bd -literal -offset indent +len = strlen(name); +dirp = opendir("."); +while ((dp = readdir(dirp)) != NULL) + if (dp->d_namlen == len && !strcmp(dp->d_name, name)) { + (void)closedir(dirp); + return FOUND; + } +(void)closedir(dirp); +return NOT_FOUND; +.Pp +.Sh 関連項目 +.Xr close 2 , +.Xr lseek 2 , +.Xr open 2 , +.Xr read 2 , +.Xr dir 5 +.Pp +.Sh 歴史 +.Fn opendir , +.Fn readdir , +.Fn telldir , +.Fn seekdir , +.Fn rewinddir , +.Fn closedir , +および +.Fn dirfd +の各関数は +.Bx 4.2 +で現れました。 diff --git a/ja_JP.eucJP/man/man3/div.3 b/ja_JP.eucJP/man/man3/div.3 new file mode 100644 index 0000000000..dae0a0381d --- /dev/null +++ b/ja_JP.eucJP/man/man3/div.3 @@ -0,0 +1,67 @@ +.\" Copyright (c) 1990, 1991, 1993 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" This code is derived from software contributed to Berkeley by +.\" Chris Torek. +.\" 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. +.\" +.\" @(#)div.3 8.1 (Berkeley) 6/4/93 +.\" +.Dd June 4, 1993 +.Dt DIV 3 +.Os +.Sh 名称 +.Nm div +.Nd 除算の商と剰余を返す +.Sh 書式 +.Fd #include +.Ft div_t +.Fn div "int num" "int denom" +.Sh 解説 +.Fn div +関数は、値 +.Fa num/denom +を計算し、商と剰余を +.Fa div_t +という名前の構造に入れて返します。この構造には +.Fa quot +と +.Fa rem +という2 つの +.Em int +メンバが入ります。 +.Pp +.Sh 関連項目 +.Xr ldiv 3 +.Pp +.Sh 規格 +.Fn div +関数は +.St -ansiC +に準拠しています。 diff --git a/ja_JP.eucJP/man/man3/dladdr.3 b/ja_JP.eucJP/man/man3/dladdr.3 new file mode 100644 index 0000000000..733f8fd9f6 --- /dev/null +++ b/ja_JP.eucJP/man/man3/dladdr.3 @@ -0,0 +1,118 @@ +.\" +.\" Copyright (c) 1998 John D. Polstra +.\" 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. +.\" +.\" $Id: dladdr.3,v 1.1.1.1 1999-12-09 16:26:06 kuriyama Exp $ +.\" +.Dd February 5, 1998 +.Os FreeBSD +.Dt DLADDR 3 +.Sh 名称 +.Nm dladdr +.Nd 指定のアドレスが入った共有オブジェクトを検出する +.Sh 書式 +.Fd #include +.Ft int +.Fn dladdr "const void *addr" "Dl_info *info" +.Sh 解説 +.Nm +は、アドレス +.Fa addr +が入った共有オブジェクトについての情報を動的リンカ +で照会します。情報は、 +.Fa info +によって指定される構造体内に返されます。構造には +少なくとも次のメンバが入っています。 +.Bl -tag -width "XXXconst char *dli_fname" +.It Li "const char *dli_fname" +アドレスが入った共有オブジェクトのパス名。 +.It Li "void *dli_fbase" +共有オブジェクトが呼び出し元プロセスのアドレス空間にマップ +されるベースアドレス。 +.It Li "const char *dli_sname" +値が +.Fa addr +以下の最も近いランタイムシンボルの名前。 +可能なときは、シンボル名が、C ソースコードで表示されるように返されます。 +.Pp +適切な値のシンボルが見つからない場合は、このフィールドと +.Va dli_saddr +の両方が +.Dv NULL +に設定されます。 +.It Li "void *dli_saddr" +.Li dli_sname +で返されたシンボルの値。 +.El +.Pp +.Nm +は動的にリンクされるプログラムでだけ利用できます。 +.Sh エラー +.Fa addr +が入っているマップされた共有オブジェクトが見つからない場合、 +.Nm +は +0 を返します。この場合、障害を説明するメッセージが +.Fn dlerror +を呼び出すことで取り出せます。 +.Pp +成功の場合、ゼロでない値が返されます。 +.Sh 関連項目 +.Xr rtld 1 , +.Xr dlopen 3 +.Sh 歴史 +.Nm +関数は Solaris オペレーティングシステムで最初に現れました。 +.Sh バグ +この関数は Solaris とバグに互換性があります。特に、 +次のバグが存在します。 +.Bl -bullet +.It +.Fa addr +が共有ライブラリではなくメインの実行可能モジュールにある場合、 +.Va dli_fname +で返されるパス名は正しくない可能性があります。パス名は呼び出し +プロセスの +.Va argv[0] +から直接取り出されます。フルパス名で指定されたプログラム +を実行するとき、ほとんどのシェルは +.Va argv[0] +をパス名に設定します。しかし、 +これはシェルの必要条件ではありませんし、オペレーティングシステムによって +保証されてもいません。 +.It +.Fa addr +が形式 +.Va &func +であり、 +.Va func +がグローバル関数の場合、その値が意外に +良くない可能性があります。動的にリンクされたプログラムでは、 +グローバル関数のアドレスは、関数自体の開始点ではなく、 +プログラムリンクテーブルのエントリを指すと考えられます。これによって、 +ほとんどのグローバル関数が、実際にコードが常駐する共有ライブラリではなく、 +メインの実行可能モジュール内部で定義されるように見えます。 +.It +処理失敗の印として 0 を返すのは、Unix の長い伝統に反します。 +.El diff --git a/ja_JP.eucJP/man/man3/dlopen.3 b/ja_JP.eucJP/man/man3/dlopen.3 new file mode 100644 index 0000000000..169afbbabc --- /dev/null +++ b/ja_JP.eucJP/man/man3/dlopen.3 @@ -0,0 +1,246 @@ +.\" This source code is a product of Sun Microsystems, Inc. and is provided +.\" for unrestricted use provided that this legend is included on all tape +.\" media and as a part of the software program in whole or part. Users +.\" may copy or modify this source code without charge, but are not authorized +.\" to license or distribute it to anyone else except as part of a product or +.\" program developed by the user. +.\" +.\" THIS PROGRAM CONTAINS SOURCE CODE COPYRIGHTED BY SUN MICROSYSTEMS, INC. +.\" SUN MICROSYSTEMS, INC., MAKES NO REPRESENTATIONS ABOUT THE SUITABLITY +.\" OF SUCH SOURCE CODE FOR ANY PURPOSE. IT IS PROVIDED "AS IS" WITHOUT +.\" EXPRESS OR IMPLIED WARRANTY OF ANY KIND. SUN MICROSYSTEMS, INC. DISCLAIMS +.\" ALL WARRANTIES WITH REGARD TO SUCH SOURCE CODE, INCLUDING ALL IMPLIED +.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN +.\" NO EVENT SHALL SUN MICROSYSTEMS, INC. BE LIABLE FOR ANY SPECIAL, INDIRECT, +.\" INCIDENTAL, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING +.\" FROM USE OF SUCH SOURCE CODE, REGARDLESS OF THE THEORY OF LIABILITY. +.\" +.\" This source code is provided with no support and without any obligation on +.\" the part of Sun Microsystems, Inc. to assist in its use, correction, +.\" modification or enhancement. +.\" +.\" SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE +.\" INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY THIS +.\" SOURCE CODE OR ANY PART THEREOF. +.\" +.\" Sun Microsystems, Inc. +.\" 2550 Garcia Avenue +.\" Mountain View, California 94043 +.\" +.\" Copyright (c) 1991 Sun Microsystems, Inc. +.\" +.\" @(#) dlopen.3 1.6 90/01/31 SMI +.Dd September 24, 1989 +.Os FreeBSD +.Dt DLOPEN 3 +.Sh 名称 +.Nm dlopen, dlsym, dlerror, dlclose +.Nd 動的リンカへのプログラムのインタフェース +.Sh 書式 +.Fd #include +.Ft void * +.Fn dlopen "const char *path" "int mode" +.Ft void * +.Fn dlsym "void *handle" "const char *symbol" +.Ft const char * +.Fn dlerror "void" +.Ft int +.Fn dlclose "void *handle" +.Sh 解説 +これらの関数は、動的リンカのサービスのために単純なプログラムの +インタフェースを備えています。 +このようなオブジェクトが定義するシンボルの +アドレス結合を取得するため、およびこのようなオブジェクトを使用する +必要がなくなったときそれらを除去するため、プログラムのアドレス空間に新しい +共有オブジェクトを追加する操作が備わっています。 +.Pp +.Fn dlopen +は、 +.Fa path +内の共有オブジェクトへのアクセスを提供し、 +.Fn dlsym +と +.Fn dlclose +の呼び出しにおいてオブジェクトの後の参照に使用できる記述子を +返します。 +.Fn dlopen +の呼び出しの前に +.Fa path +がアドレス空間内にない場合は、 +それがアドレス空間に配置されます。オブジェクトが最初にこの方法で +アドレス空間にロードされるときに、その関数 +.Fn _init +がある場合、この関数が +動的リンカによって呼び出されます +( +.Ql _init +は C 言語で表現される名前です。 +アセンブリ言語からは、名前は代わりに +.Ql __init +として現れます)。 +.Fn dlopen +の +直前の呼び出しでアドレス空間内に +.Fa path +が既に配置されている場合、2 度めには追加されません。ただし、 +.Fa path +についての +.Fn dlopen +操作の参照カウントは +維持されます。 +.Fa path +のために指定された NULL ポインタは、プロセスの +メイン実行可能モジュールへのリファレンスとして解釈されます。 +.Fa mode +は、ロード +されたオブジェクトからの外部関数参照が、その参照に結合される方法を +制御します。これには次の値の 1 つが入っている必要があります。 +.Bl -tag -width RTLD_LAZYX +.It Dv RTLD_LAZY +各外部関数参照は関数が最初に呼び出されるときに解決されます。 +.It Dv RTLD_NOW +すべての外部関数参照はただちに +.Fn dlopen +によって結合されます。 +.El +.Pp +.Dv RTLD_LAZY +は、効率性の理由から一般にお勧めします。しかし、 +.Fn dlopen +の呼び出しの間に未定義シンボルが検出されることを確実にするためには +.Dv RTLD_NOW +が便利です。 +.Fn dlopen +は、処理が失敗すると NULL ポインタを返し、 +.Fn dlerror +で問い合わせできるエラー条件を設定します。 +.Pp +.Fn dlsym +は、ナル文字で終わるキャラクタストリング +.Fa symbol +で記述されたシンボル +のアドレス結合を返します。 +.Fa symbol +が +.Fa handle +で識別される共有オブジェクト内で +発生したときです。 +.Fa symbol +は、シンボル名のアセンブリ言語表現であることに +注意してください。 +C 言語シンボルのアセンブリ言語表現には、先頭に追加の +アンダースコアが入っています。たとえば、 +C でのシンボル +.Ql foo +は、 +アセンブリ言語でおよび +.Fn dlsym +への +.Fa symbol +引数では +.Ql _foo +として現れます。 +.Fn dlopen +によってアドレス空間に追加された、オブジェクトによってエクスポート +されるシンボルは、 +.Fn dlsym +の呼び出しによってのみアクセスできます。 +このようなシンボルは、オブジェクトがロードされるときにアドレス空間内に既に +存在するシンボルの定義に取って代わることはなく、通常の動的リンク参照を +満足させるために利用できることもありません。 +.Fa handle +の値として与えられた NULL ポインタは、 +実行可能モジュールの参照として解釈されます。この実行可能 +モジュールから +.Fn dlsym +の呼び出しが行われます。このように共有オブジェクト +は、専用のシンボルを参照できます。 +.Fn dlsym +は、シンボルが見つからない場合は +NULL ポインタを返し、エラー条件を設定します。エラー条件は +.Fn dlerror +で照会できます。 +.Pp +.Fn dlsym +が専用の +.Fa handle +.Dv RTLD_NEXT +で呼び出された場合、シンボルの検索は、 +.Fn dlsym +の呼び出しの後で、ロードされた共有オブジェクトに制限されます。 +このようにメインプログラムから関数が呼び出された場合、すべての共有 +ライブラリが検索されます。これが共有ライブラリから呼び出された場合、 +後続のすべての共有ライブラリが検索されます。 +.Dv RTLD_NEXT +はライブラリ関数を +巡るラッパーを実現するのに便利です。たとえば、ラッパー関数 +.Fn getpid +は、 +.Li dlsym(RTLD_NEXT, \&"_getpid\&") +で +.Dq 現実の +.Fn getpid +にアクセスできます。 +.Pp +.Fn dlerror +は、 +.Fn dlopen , +.Fn dlsym , +または +.Fn dlclose +の呼び出しの間に発生した最後のエラーを記述する +ナル文字で終わるキャラクタストリングを返します。 +このようなエラーが発生していない場合、 +.Fn dlerror +は NULL ポインタを返します。 +.Fn dlerror +を呼び出すたびに、エラー指示がリセットされます。 +ですから、2 番めの呼び出しが最初の呼び出しの直後に続く +.Fn dlerror +呼び出しの 2 つのケースでは、 +2 番めの呼び出しは必ず NULL ポインタを返します。 +.Pp +.Fn dlclose +は、 +.Fa handle +が参照する共有オブジェクトへの参照を削除します。参照 +カウントが低下して +0 になると、そのオブジェクトはアドレス空間から除去され、 +.Fa handle +は無効になります。この方法で共有オブジェクトを除去する直前に、動的 +リンカはオブジェクトの +.Fn _fini +関数がオブジェクトによって定義されている +場合、これを呼び出します。 +.Ql _init +と同じように、 +.Ql _fini +は関数の C 言語名です。 +.Fn dlclose +は、処理が成功すると値 +0 を返します。そうでない場合は -1 を返し、 +エラー条件を設定します。エラー条件は +.Fn dlerror +で問い合わせできます。 +.Pp +オブジェクトに固有の関数 +.Fn _init +と +.Fn _fini +は、引数なしに呼び出され、戻り +値を返さないと予測されます。 +.Sh エラー +.Fn dlopen +と +.Fn dlsym +は、エラーが発生した場合に NULL ポインタを返します。 +.Fn dlclose +は処理が成功すると 0 を返し、 +エラーが発生した場合は -1 を +返します。エラーが検出されるたびに、それの詳細を説明するメッセージが +.Fn dlerror +の呼び出しによって取り出せます。 +.Sh 関連項目 +.Xr ld 1 , +.Xr rtld 1 , +.Xr link 5 diff --git a/ja_JP.eucJP/man/man3/editline.3 b/ja_JP.eucJP/man/man3/editline.3 new file mode 100644 index 0000000000..ecaf172829 --- /dev/null +++ b/ja_JP.eucJP/man/man3/editline.3 @@ -0,0 +1,561 @@ +.\" $NetBSD: editline.3,v 1.4 1997/01/14 04:17:23 lukem Exp $ +.\" +.\" Copyright (c) 1997 The NetBSD Foundation, Inc. +.\" All rights reserved. +.\" +.\" This file was contributed to The NetBSD Foundation by Luke Mewburn. +.\" +.\" 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 NetBSD +.\" Foundation, Inc. and its contributors. +.\" 4. Neither the name of The NetBSD Foundation 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 NETBSD FOUNDATION, INC. 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. +.\" +.Dd January 11, 1997 +.Os BSD 4.4 +.Dt EDITLINE 3 +.Sh 名称 +.Nm editline , +.Nm el_init , +.Nm el_end , +.Nm el_reset , +.Nm el_gets , +.Nm el_getc , +.Nm el_push , +.Nm el_parse , +.Nm el_set , +.Nm el_source , +.Nm el_resize , +.Nm el_line , +.Nm el_insertstr , +.Nm el_deletestr , +.Nm history_init , +.Nm history_end , +.Nm history +.Nd ラインエディタと歴史関数 +.Sh 書式 +.Fd #include +.Ft EditLine * +.Fn el_init "const char *prog" "FILE *fin" "FILE *fout" +.Ft void +.Fn el_end "EditLine *e" +.Ft void +.Fn el_reset "EditLine *e" +.Ft const char * +.Fn el_gets "EditLine *e" "int *count" +.Ft int +.Fn el_getc "EditLine *e" "char *ch" +.Ft void +.Fn el_push "EditLine *e" "const char *str" +.Ft int +.Fn el_parse "EditLine *e" "int argc" "char *argv[]" +.Ft int +.Fn el_set "EditLine *e" "int op" "..." +.Ft int +.Fn el_source "EditLine *e" "const char *file" +.Ft void +.Fn el_resize "EditLine *e" +.Ft const LineInfo * +.Fn el_line "EditLine *e" +.Ft int +.Fn el_insertstr "EditLine *e" "char *str" +.Ft void +.Fn el_deletestr "EditLine *e" "int count" +.Ft History * +.Fn history_init +.Ft void +.Fn history_end "History *h" +.Ft const HistEvent * +.Fn history "History *h" "int op" "..." +.Sh 解説 +.Nm editline +ライブラリには、汎用のライン編集と歴史関数が備わっています。これは +.Xr sh 1 +にあるものと類似しています。 +.Pp +これらの関数は +.Nm libedit +ライブラリで利用できます +(これには +.Nm libtermcap +ライブラリが必要です)。プログラムは +.Fl ledit ltermcap +とリンクする +必要があります。 +.Sh ライン編集関数 +ライン編集関数は、共通のデータ構造、 +.Fa EditLine +を使用します。これは +.Fn el_init +によって作成され、 +.Fn el_end +によって解放されます。 +.Pp +以下の関数が利用できます。 +.Bl -tag -width 4n +.It Fn el_init +ラインエディタを初期化し、他のすべてのライン編集関数が使用するデータ構造を +返します。 +.Fa prog +は、起動する側のプログラムの名前であり、どの設定を使用するか +決定するために +.Xr editrc 5 +ファイルを読み取るときに使用されます。 +.Fa fin +と +.Fa fout +はそれぞれ使用する入力ストリームと出力ストリームです。この +ドキュメンテーションでは、 +.Dq the tty +の参照が実際にはこの入力/出力ストリームの +組み合わせを参照します。 +.It Fn el_end +クリーンアップし +.Fa e +で終了します。 +.Fn el_init +で作成されたと想定されます。 +.It Fn el_reset +tty とパーサーをリセットします。これは +tty の状態を混乱させた可能性のある +エラーの後で呼び出す必要があります。 +.It Fn el_gets +tty から 1 行を読み取ります。 +.Fa count +は、読み取られたキャラクタ数を +入れるように修正されます。処理が成功した場合は読み取られたラインを返し、 +キャラクタが読取られないか、またはエラーが発生した場合は +.Dv NULL +を返します。 +.It Fn el_getc +tty から +1 キャラクタを読み取ります。 +.Fa ch +は、読み取られたキャラクタを +入れるように修正されます。処理が成功した場合は読み取られたキャラクタの数を +返し、そうでない場合は -1 を返します。 +.It Fn el_push +.Fa str +を入力ストリームに戻します。これはマクロ展開機構によって使用されます。 +詳細については、 +.Xr editrc 5 +の +.Ic bind +.Fl s +の説明を参照してください。 +.It Fn el_parse +.Fa argv +配列(サイズは +.Fa argc +エレメントです) +をパースし、組み込み +.Nm +コマンドを実行します。コマンドの接頭語が +.Dq prog: +の場合、 +.Dq prog +が +.Fn el_init +に指定された +.Fa prog +引数と一致するなら、 +.Fn el_parse +はコマンドを +実行するだけです。コマンドが未知の場合は戻り値は +-1 です。エラーがないかまたは +.Dq prog +が一致しなかった場合は +戻り値は +0 です。コマンドがエラーを +返したときは +1 です。詳細については、 +.Xr editrc 5 +を参照してください。 +.Pp +.Em 注: +.Va argv[0] +は +.Fn el_parse +によって修正されることがあります。 +.Dq prog +と +コマンド +.Ar command +の間のコロンは、NUL +.Po +.Dq \e0 +.Pc +で置き換えられます。 +.It Fn el_set +.Fn el_set +.Nm +パラメータを設定します。 +.Fa op +はどのパラメータを設定するかを決定し、 +各操作には独自のパラメータリストがあります。 +.Pp +.Fa op +の値については、必須引数リストとともに次のパラメータがサポート +されています。 +.Bl -tag -width 4n +.It Dv EL_PROMPT , Fa "char *(*f)(EditLine *)" +プロンプト印刷関数を +.Fa f +として定義します。これはプロンプトの入ったストリング +を返すことです。 +.It Dv EL_TERMINAL , Fa "const char *type" +tty の端末タイプが +.Fa type +であると定義します。 +.Fa type +が +.Dv NULL +の場合は +.Ev TERM +にです。 +.It Dv EL_EDITOR , Fa "const char *mode" +編集モードを +.Fa mode +に設定します。それは +.Dq emacs +または +.Dq vi +の 1 つである必要があります。 +.It Dv EL_SIGNAL , Fa "int flag" +.Fa flag +がゼロでない場合、 +.Nm +は、コマンド入力を読み取るときに、次の +信号用の信号ハンドラをインストールします。 +.Dv SIGCONT , +.Dv SIGHUP , +.Dv SIGINT , +.Dv SIGQUIT , +.Dv SIGSTOP , +.Dv SIGTERM , +.Dv SIGTSTP , +および +.Dv SIGWINCH +。これら以外の場合、現在の信号ハンドラが +使用されます。 +.It Dv EL_BIND , Xo +.Fa "const char *" , +.Fa "..." , +.Dv NULL +.Xc +組み込み +.Ic bind +コマンドを実行します。詳細については、 +.Xr editrc 5 +を +参照してください。 +.It Dv EL_ECHOTC , Xo +.Fa "const char *" , +.Fa "..." , +.Dv NULL +.Xc +組み込み +.Ic echotc +コマンドを実行します。詳細については、 +.Xr editrc 5 +を +参照してください。 +.It Dv EL_SETTC , Xo +.Fa "const char *" , +.Fa "..." , +.Dv NULL +.Xc +組み込み +.Ic settc +コマンドを実行します。詳細については、 +.Xr editrc 5 +を参照してください。 +.It Dv EL_SETTY , Xo +.Fa "const char *" , +.Fa "..." , +.Dv NULL +.Xc +組み込み +.Ic setty +コマンドを実行します。詳細については、 +.Xr editrc 5 +を +参照してください。 +.It Dv EL_TELLTC , Xo +.Fa "const char *" , +.Fa "..." , +.Dv NULL +.Xc +組み込み +.Ic telltc +コマンドを実行します。詳細については、 +.Xr editrc 5 +を +参照してください。 +.It Dv EL_ADDFN , Xo +.Fa "const char *name" , +.Fa "const char *help" , +.Fa "unsigned char (*func)(EditLine *e, int ch) +.Xc +ユーザ定義関数 +.Fn func +を追加します。これは +.Fa name +として参照され、 +.Fa name +に結合されたキーが入力されたときに呼び出されます。 +.Fa help +は +.Fa name +の説明です。 +起動時に、 +.Fa ch +は呼び出しを起こすキーです。 +.Fn func +の戻り値は次の 1 つです。 +.Bl -tag -width "CC_REDISPLAY" +.It Dv CC_NORM +通常のキャラクタを追加します。 +.It Dv CC_NEWLINE +行末が入力されました。 +.It Dv CC_EOF +が入力されました。 +.It Dv CC_ARGHACK +引数としてさらにコマンド入力を予期しています。表示されることは +何もしません。 +.It Dv CC_REFRESH +表示をリフレッシュします。 +.It Dv CC_CURSOR +カーソルが移動されたので、 +.Dv CC_REFRESH +を更新および実行します。 +.It Dv CC_REDISPLAY +入力行全体を再表示します。これが便利なのは、キー結合がその他の +情報を出力する場合です。 +.It Dv CC_ERROR +エラーが発生しました。ビープ音、そして tty をフラッシュします。 +.It Dv CC_FATAL +致命的エラー。tty を既知の状態にリセットします。 +.El +.It Dv EL_HIST , Xo +.Fa "History *(*func)(History *, int op, ...)" , +.Fa "const char *ptr" +.Xc +どの歴史関数を使用するかを定義します。それは通常は +.Fn history +です。 +.Fa ptr +は、 +.Fn history_init +が返す値である必要があります。 +.El +.It Fn el_source +.Fa file +の内容を読むことで +.Nm +を初期化します。 +.Fn el_parse +が、 +.Fa file +内の行ごとに呼び出されます。 +.Fa file +が +.Dv NULL +の場合、 +.Pa $PWD/.editrc +を試してみてから +.Pa $HOME/.editrc +を試します。 +.Fa file +の形式の詳細については、 +.Xr editrc 5 +を +参照してください。 +.It Fn el_resize +端末のサイズが変化する場合は呼び出す必要があります。 +.Dv EL_SIGNAL +が +.Fn el_set +で設定されている場合、これは自動的に行われます。そうでない場合は、適切な +機会に +.Fn el_resize +を呼び出すのはアプリケーションの責任です。 +.It Fn el_line +現在のラインについての編集情報を +.Fa LineInfo +で返します。これは次のように +定義されます。 +.Bd -literal +typedef struct lineinfo { + const char *buffer; /* バッファのアドレス */ + const char *cursor; /* カーソルのアドレス */ + const char *lastchar; /* 最後のキャラクタのアドレス */ +} LineInfo; +.Ed +.It Fn el_insertstr +カーソルがあるラインに +.Fa str +を挿入します。 +.Fa str +が空であるかフィットしない +場合は -1 を返します。それ以外の場合は 0 を返します。 +.It Fn el_deletestr +カーソルの前の +.Fa num +個のキャラクタを削除します。 +.El +.Sh 歴史リスト関数 +歴史関数は共通のデータ構造 +.Fa History +を使用します。 +.Fa History +は、 +.Fn history_init +によって作成され、 +.Fn history_end +によって解放されます。 +.Pp +次の関数が利用できます。 +.Bl -tag -width 4n +.It Fn history_init +歴史リストを初期化し、他のすべての歴史関数が使用するデータ構造を返します。 +.It Fn history_end +クリーンアップし、 +.Fa h +で終了します。 +.Fn history_init +で作成されたものと +想定されます。 +.Pp +.It Fn history +歴史リストについて演算 +.Fa op +を実行します。演算が要求する +オプション引数があります。 +.Fa op +について次の値が、必須引数リストとともに +サポートされています。 +.Bl -tag -width 4n +.It Dv H_EVENT , Fa "int size" +.Fa size +エレメントに歴史のサイズを設定します。 +.It Dv H_END +クリーンアップし、 +.Fa h +で終了します。 +.Fn history_init +で作成されたものと +想定されます。 +.It Dv H_CLEAR +歴史をクリアします。 +.Pp +.It Dv H_FUNC , Xo +.Fa "void *ptr" , +.Fa "history_gfun_t first" , +.Fa "history_gfun_t next" , +.Fa "history_gfun_t last" , +.Fa "history_gfun_t prev" , +.Fa "history_gfun_t curr" , +.Fa "history_vfun_t clear" , +.Fa "history_efun_t enter" , +.Fa "history_efun_t add" +.Xc +さまざまな歴史演算を実行する関数を定義します。 +.Fa ptr +は、関数が起動されるときに関数に指定される引数です。 +.It Dv H_FIRST +歴史の最初のエレメントを返します。 +.It Dv H_LAST +歴史の最後のエレメントを返します。 +.It Dv H_PREV +歴史の直前のエレメントを返します。 +.It Dv H_NEXT +歴史の次のエレメントを返します。 +.It Dv H_CURR +歴史の現在のエレメントを返します。 +.It Dv H_ADD , Fa "const char *str" +歴史の現在のエレメントの末尾に +.Fa str +を追加するか、またはエレメントがない +場合は +.Dv H_ENTER +で 1 つのエレメントを作成します。 +.It Dv H_ENTER , Fa "const char *str" +.Fa str +を新しいエレメントとして +.Fn history +に追加します。必要であれば、最も古い +エントリを削除して、リストを作成されたサイズに保ちます。 +.It Dv H_PREV_STR , Fa "const char *str" +.Fa str +で開始する、最も近い直前のイベントを返します。 +.It Dv H_NEXT_STR , Fa "const char *str" +.Fa str +で開始する、最も近い次のイベントを返します。 +.It Dv H_PREV_EVENT , Fa "int e" +.Fa e +という番号の直前のイベントを返します。 +.It Dv H_NEXT_EVENT , Fa "int e" +.Fa e +という番号の次のイベントを返します。 +.It Dv H_LOAD , Fa "const char *file" +.Fa file +に保存された歴史リストをロードします。 +.It Dv H_SAVE , Fa "const char *file" +歴史リストを +.Fa file +に保存します。 +.El +.El +.\"XXX.Sh EXAMPLES +.\"XXX: provide some examples +.Sh 関連項目 +.Xr sh 1 , +.Xr signal 3 , +.Xr termcap 3 , +.Xr editrc 5 +.Sh 歴史 +.Nm +ライブラリは最初に +.Bx 4.4 +で現れました。 +.Sh 作者 +.Nm +ライブラリは +.An Christos Zoulas +が作成しました。このマニュアルは +.An Luke Mewburn +が作成しました。 +.Sh バグ +このドキュメンテーションはおそらく不完全であると考えられます。 +.Pp +.Fn el_parse +は、指定された +.Va argv[0] +を修正してはなりません。 +.Pp +トークン化関数は +.Li +内では公に定義されていません。 diff --git a/ja_JP.eucJP/man/man3/end.3 b/ja_JP.eucJP/man/man3/end.3 new file mode 100644 index 0000000000..a8060fb10f --- /dev/null +++ b/ja_JP.eucJP/man/man3/end.3 @@ -0,0 +1,66 @@ +.\" Copyright (c) 1986 +.\" 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. +.\" +.\" @(#)end.3 6.4 (Berkeley) 1/24/94 +.\" $Id: end.3,v 1.1.1.1 1999-12-09 16:26:06 kuriyama Exp $ +.\" +.Dd January 24, 1994 +.Dt END 3 +.Os +.Sh 名称 +.Nm end , +.Nm etext , +.Nm edata +.Nd イメージセグメントの終了境界 +.Sh 書式 +.Vt extern end; +.Vt extern etext; +.Vt extern edata; +.Sh 解説 +グローバル変数 +.Va end , extext +および +.Va edata +はテキストセグメント、初期化済み +データセグメント、およびデータセグメント +.Pq Tn BSS +の末尾に続く次のアドレスに +対応します。これらの値は初期的には +.Xr brk 2 +による実行時に設定されます。 +.Sh 関連項目 +.Xr brk 2 , +.Xr malloc 3 +.Sh 歴史 +.Nm end +マニュアルは +.At v6 +で現れました。 diff --git a/ja_JP.eucJP/man/man3/erf.3 b/ja_JP.eucJP/man/man3/erf.3 new file mode 100644 index 0000000000..117f0025e8 --- /dev/null +++ b/ja_JP.eucJP/man/man3/erf.3 @@ -0,0 +1,92 @@ +.\" Copyright (c) 1985, 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. +.\" +.\" from: @(#)erf.3 6.4 (Berkeley) 4/20/91 +.\" $Id: erf.3,v 1.1.1.1 1999-12-09 16:26:06 kuriyama Exp $ +.\" +.Dd April 20, 1991 +.Dt ERF 3 +.Os BSD 4.3 +.Sh 名称 +.Nm erf , +.Nm erff , +.Nm erfc , +.Nm erfcf +.Nd エラー関数演算子 +.Sh 書式 +.Fd #include +.Ft double +.Fn erf "double x" +.Ft float +.Fn erff "float x" +.Ft double +.Fn erfc "double x" +.Ft float +.Fn erfcf "float x" +.Sh 解説 +これらの関数は +.Fa x +のエラー関数を計算します。 +.Pp +.Fn erf +関数と +.Fn erff +関数は x のエラー関数を計算します。ここで次のとおりです。 +.Bd -filled -offset indent +.if n \{\ +erf(x) = 2/sqrt(pi)\(**\|integral from 0 to x of exp(\-t\(**t) dt \} +.if t \{\ +erf\|(x) := +(2/\(sr\(*p)\|\(is\d\s8\z0\s10\u\u\s8x\s10\d\|exp(\-t\u\s82\s10\d)\|dt \} +.Ed +.Pp +.Fn erfc +関数と +.Fn erfcf +関数は +.Fa x +の補数のエラー関数を計算します。すなわち、 +.Fn erfc +は 1.0 から エラー関数 +.Fn erf x +の結果を減算します。これは便利です。 +大きな +.Fa x +の場所がなくなるからです。 +.Sh 関連項目 +.Xr math 3 +.Sh 歴史 +.Fn erf +と +.Fn erfc +関数は +.Bx 4.3 +で現れました。 diff --git a/ja_JP.eucJP/man/man3/err.3 b/ja_JP.eucJP/man/man3/err.3 new file mode 100644 index 0000000000..b7faf84e85 --- /dev/null +++ b/ja_JP.eucJP/man/man3/err.3 @@ -0,0 +1,196 @@ +.\" 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. +.\" +.\" From: @(#)err.3 8.1 (Berkeley) 6/9/93 +.\" $Id: err.3,v 1.1.1.1 1999-12-09 16:26:06 kuriyama Exp $ +.\" +.Dd April 13, 1995 +.Dt ERR 3 +.Os BSD 4 +.Sh 名称 +.Nm err , +.Nm verr , +.Nm errc , +.Nm verrc , +.Nm errx , +.Nm verrx , +.Nm warn , +.Nm vwarn , +.Nm warnc , +.Nm vwarnc , +.Nm warnx , +.Nm vwarnx , +.Nm err_set_file , +.Nm err_set_exit +.Nd フォーマットされたエラーメッセージ +.Sh 書式 +.Fd #include +.Ft void +.Fn err "int eval" "const char *fmt" "..." +.Ft void +.Fn errc "int eval" "int code" "const char *fmt" "..." +.Ft void +.Fn errx "int eval" "const char *fmt" "..." +.Ft void +.Fn warn "const char *fmt" "..." +.Ft void +.Fn warnc "int code" "const char *fmt" "..." +.Ft void +.Fn warnx "const char *fmt" "..." +.Fd #include +.Ft void +.Fn err_set_file "FILE *fp" +.Ft void +.Fn err_set_exit "void (*exitf)(int)" +.Fd #include +.Ft void +.Fn verr "int eval" "const char *fmt" "va_list args" +.Ft void +.Fn verrc "int eval" "int code" "const char *fmt" "va_list args" +.Ft void +.Fn verrx "int eval" "const char *fmt" "va_list args" +.Ft void +.Fn vwarn "const char *fmt" "va_list args" +.Ft void +.Fn vwarnc "int code" "const char *fmt" "va_list args" +.Ft void +.Fn vwarnx "const char *fmt" "va_list args" +.Sh 解説 +.Fn err +関数と +.Fn warn +関数のファミリは、標準エラー出力、または +.Fn err_set_file +関数を使用して指定した別のファイル上にフォーマット済みの +エラーメッセージを表示します。 +すべての場合に、プログラム名の最後のコンポーネント、コロンキャラクタ、 +およびスペースが出力されます。 +.Va fmt +引数が NULL でない場合、 +フォーマット済みのエラーメッセージが出力されます。 +.Fn errc , +.Fn verrc , +.Fn warnc , +および +.Fn vwarnc +の各関数の場合、 +.Va code +引数で密接な関係のあるエラーメッセージも出力されます。 +必要であれば、別のコロンとスペースが前に付けられます。 +すべての場合に、出力の後には改行キャラクタが続きます。 +.Pp +.Fn err , +.Fn verr , +.Fn warn , +および +.Fn vwarn +の各関数は、 +.Fn errc +ファミリの +.Va code +引数ではなく、グローバル変数 +.Va errno +を使用します。 +.Pp +.Fn err , +.Fn verr , +.Fn errc , +.Fn verrc , +.Fn errx , +および +.Fn verrx +の各関数は、 +戻りませんが、引数 +.Fa eval +の値で終了します。 +.Fn err_set_exit +関数を使用して、 +.Xr exit 3 +の前に呼び出される関数を指定して、必要なクリーンアップを +実行できます。 +.Va exitf +用に NULL 関数ポインタを割り当てると、フックが +何もしないようにリセットされます。 +.Sh 例 +現在の errno 情報を表示し終了します。 +.Bd -literal -offset indent +if ((p = malloc(size)) == NULL) + err(1, NULL); +if ((fd = open(file_name, O_RDONLY, 0)) == -1) + err(1, "%s", file_name); +.Ed +.Pp +エラーメッセージを表示して終了します。 +.Bd -literal -offset indent +if (tm.tm_hour < START_TIME) + errx(1, "too early, wait until %s", start_time_string); +.Ed +.Pp +エラーの警告 +.Bd -literal -offset indent +if ((fd = open(raw_device, O_RDONLY, 0)) == -1) + warnx("%s: %s: trying the block device", + raw_device, strerror(errno)); +if ((fd = open(block_device, O_RDONLY, 0)) == -1) + err(1, "%s", block_device); +.Ed +.Pp +グローバル変数 +.Va errno +を使用しないエラーの警告 +.Bd -literal -offset indent +error = my_function(); /* returns a value from */ +if (error != 0) + warnc(error, "my_function"); +.Ed +.Sh 関連項目 +.Xr exit 3 , +.Xr strerror 3 +.Pp +.Sh 歴史 +.Fn err +関数と +.Fn warn +関数は最初に +.Bx 4.4 +で現れました。 +.Fn err_set_file +関数と +.Fn err_set_exit +関数は最初に +.Fx 2.1 +で現れました。 +.Fn errc +関数と +.Fn warnc +関数は最初に +.Fx 3.0 +で現れました。 diff --git a/ja_JP.eucJP/man/man3/ethers.3 b/ja_JP.eucJP/man/man3/ethers.3 new file mode 100644 index 0000000000..e5d499b48d --- /dev/null +++ b/ja_JP.eucJP/man/man3/ethers.3 @@ -0,0 +1,196 @@ +.\" Copyright (c) 1995 +.\" Bill Paul . 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 Bill Paul. +.\" 4. Neither the name of the author nor the names of any co-contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY Bill Paul 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: ethers.3,v 1.1.1.1 1999-12-09 16:26:06 kuriyama Exp $ +.\" +.Dd April 12, 1995 +.Dt ETHERS 3 +.Os FreeBSD 2.1 +.Sh 名称 +.Nm ethers , +.Nm ether_line , +.Nm ether_aton , +.Nm ether_ntoa , +.Nm ether_ntohost , +.Nm ether_hostton +.Nd イーサネットアドレス変換およびルックアップのルーチン +.Sh 書式 +.Fd #include +.Fd #include +.Fd #include +.Ft int +.Fn ether_line "char *l" "struct ether_addr *e" "char *hostname" +.Ft struct ether_addr * +.Fn ether_aton "char *a" +.Ft char * +.Fn ether_ntoa "struct ether_addr *n" +.Ft int +.Fn ether_ntohost "char *hostname" "struct ether_addr *e" +.Ft int +.Fn ether_hostton "char *hostname" "struct ether_addr *e" +.Sh 解説 +これらの関数は、 +.Ar ether_addr +構造を使用してイーサネットアドレスに作用します。 +この構造はヘッダファイル +.Aq Pa netinet/if_ether.h +に定義されます。 +.Bd -literal -offset indent +/* + * イーサネット(MAC)アドレスにあるバイト数 + */ +#define ETHER_ADDR_LEN 6 + +/* + * 48 ビットのイーサネットアドレスの構造 + */ +struct ether_addr { + u_char octet[ETHER_ADDR_LEN]; +}; +.Ed +.Pp +関数 +.Fn ether_line +は、 +.Xr ethers 5 +形式の +.Tn ASCII +ストリングである +.Ar l +を走査し、 +ストリング内に指定されたイーサネットアドレスに +.Ar e +を設定し、ホスト名に +.Ar h +を設定します。この関数は、 +.Pa /etc/ethers +の行をそのコンポーネントのパーツにパースするのに使用されます。 +.Pp +.Fn ether_aton +関数は、イーサネットアドレスの +.Tn ASCII +表現を +.Ar ether_addr +構造に +変換します。同様に、 +.Fn ether_ntoa +は、 +.Ar ether_addr +として指定された +イーサネットアドレスを +.Tn ASCII +ストリングに変換します。 +.Pp +.Fn ether_ntohost +関数と +.Fn ether_hostton +関数は、イーサネットアドレスを、 +.Pa /etc/ethers +データベースで指定された対応するホスト名にマップします。 +.Fn ether_ntohost +は、イーサネットアドレスからホスト名への変換を行い、 +.Fn ether_hostton +は、ホスト名からイーサネットアドレスへの変換を行います。 +.Sh 戻り値 +.Fn ether_line +は、処理が成功するとゼロを返します。指定された行 +.Ar l +の一部をパースできなかった場合はゼロでない値を返します。 +抽出されたイーサネットアドレスを指定の +.Ar ether_addr +構造 +.Ar e +に返し、ホスト名を指定のストリング +.Ar h +に返します。 +.Pp +処理が成功すると、 +.Fn ether_ntoa +は、イーサネットアドレスの +.Tn ASCII +表現が入ったストリングを指すポインタを返します。指定された +.Ar ether_addr +を変換できない場合は、 +.Dv NULL +ポインタを返します。同じように、 +.Fn ether_aton +は成功すると +.Ar ether_addr +構造を指すポインタを返し、失敗すると +.Dv NULL +ポインタを返します。 +.Pp +.Fn ether_ntohost +関数と +.Fn ether_hostton +関数は両方とも成功した場合はゼロを +返し、 +.Pa /etc/ethers +データベース内に一致するものを検出できない場合はゼロ +でない値を返します。 +.Sh 注 +ユーザは、 +.Fn ether_line , +.Fn ether_ntohost +および +.Fn ether_hostton +の各関数に +渡されるホスト名ストリングが、返されたホスト名を入れられるほど大きいことを +確認する必要があります。 +.Sh NIS 相互作用 +.Pa /etc/ethers +の中に 1 つの + が入った行がある場合、 +.Fn ether_ntohost +関数と +.Fn ether_hostton +関数は、 +.Pa /etc/ethers +ファイル内のデータに加えて、 +NIS +.Pa ethers.byname +および +.Pa ethers.byaddr +マップを調べようとします。 +.Sh 関連項目 +.Xr yp 4 , +.Xr ethers 5 +.Sh バグ +.Pp +.Fn ether_aton +関数と +.Fn ether_ntoa +関数は、これらが次に呼び出されたときには +上書きされる可能性のある静的メモリ領域に保存された値を返します。 +.Sh 歴史 +.Nm ethers +ライブラリ関数のこの特別な実現は、 +.Fx 2.1 +のために作成され、 +ここで現れました。 diff --git a/ja_JP.eucJP/man/man3/exec.3 b/ja_JP.eucJP/man/man3/exec.3 new file mode 100644 index 0000000000..53ca71ca88 --- /dev/null +++ b/ja_JP.eucJP/man/man3/exec.3 @@ -0,0 +1,296 @@ +.\" Copyright (c) 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. +.\" +.\" @(#)exec.3 8.3 (Berkeley) 1/24/94 +.\" $Id: exec.3,v 1.1.1.1 1999-12-09 16:26:06 kuriyama Exp $ +.\" +.Dd January 24, 1994 +.Dt EXEC 3 +.Os +.Sh 名称 +.Nm execl , +.Nm execlp , +.Nm execle , +.Nm exect , +.Nm execv , +.Nm execvp +.Nd ファイルを実行する +.Sh 書式 +.Fd #include +.Vt extern char **environ; +.Ft int +.Fn execl "const char *path" "const char *arg" ... +.Ft int +.Fn execlp "const char *file" "const char *arg" ... +.Ft int +.Fn execle "const char *path" "const char *arg" ... +.Ft int +.Fn exect "const char *path" "char *const argv[]" "char *const envp[]" +.Ft int +.Fn execv "const char *path" "char *const argv[]" +.Ft int +.Fn execvp "const char *file" "char *const argv[]" +.Sh 解説 +.Fn exec +ファミリの関数は現在のプロセスイメージを新しいプロセスイメージで置き +換えます。 +このマニュアルページで説明する関数は、関数 +.Xr execve 2 +のフロントエンドです +(現在のプロセスの置き換えの詳細については、 +.Xr execve 2 +のマニュアルページを参照してください)。 +.Pp +これらの関数の初期引数は、実行されるファイルのパス名です。 +.Pp +.Fn execl , +.Fn execlp , +および +.Fn execle +の各関数の +.Fa "const char *arg" +および後続の省略記号は +.Em arg0 , +.Em arg1 , +\&..., +.Em argn +と考えることができます。これらは実行された +プログラムに利用できる引数リストを表す ナル文字で終わるストリングを指す +1 つまたは複数のポインタのリストを記述します。慣行で、最初の引数は、実行中の +ファイルに対応するファイル名を指す必要があります。 +引数のリストは +.Dv NULL +ポインタで終了させる +.Em 必要があり +ます。 +.Pp +.Fn exect , +.Fn execv , +および +.Fn execvp +の各関数は、新しいプログラムに利用できる引数リストを表す +ナル文字で終わるストリングを指すポインタの配列を提供します。 +慣行で、最初の引数は、実行中のファイルに対応するファイル名を +指す必要があります。 +ポインタの配列は +.Dv NULL +ポインタで終了する +.Sy 必要があり +ます。 +.Pp +.Fn execle +と +.Fn exect +の各関数も、実行されたプロセスの環境を指定します。 +そのためには、パラメータリスト内にある引数リストを終了させる +.Dv NULL +ポインタ、または追加パラメータとともに argv 配列を指すポインタに従います。 +この追加のパラメータは、ナル文字で終わるストリングを指すポインタの +配列であり、 +.Dv NULL +ポインタで終了される +.Em 必要があり +ます。 +他の関数は、現在のプロセス内の外部変数 +.Va environ +から新しいプロセスイメージ用の環境を取り上げます。 +.Pp +これらの関数には特別な意味論のあるものもあります。 +.Pp +.Fn execlp +と +.Fn execvp +の各関数は、指定されたファイル名にスラッシュ +.Dq Li / +が含まれていない場合、実行可能ファイルを検索してシェルの処置を複製します。 +検索パスは +.Dq Ev PATH +変数によって環境内で指定されたパスです。 +この値が指定されない場合、デフォルトのパス +.Dq Ev /bin:/usr/bin: +が使用されます。 +さらに、特定のエラーが特別に取り扱われます。 +.Pp +エラーが曖昧な場合(簡単にするために、ここでは +.Er ENOEXEC +以外のすべてのエラーを曖昧と考えます。ただし、致命的なエラー +.Er EACCES +だけが真に曖昧です)、 +これらの関数は、ファイルを開始して、ファイルが存在するか、そして適切な実行 +パーミッションがあるかを判定するかのように動作します。そうである場合、 +これらの関数は +.Fn execve +によって設定された値に復元されたグローバル変数 +.Va errno +でただちに戻ります。 +そうでない場合、検索が継続します。 +検索が +.Fn execve +の実行に成功せず、またはエラーのために終了せずに完了すると、 +これらの関数は、適切な実行パーミッションのある少なくとも +1 つのファイルが +見つかったかどうかに従って、グローバル変数 +.Va errno +を +.Er EACCES +または +.Er ENOENT +に設定して戻ります。 +.Pp +ファイルのヘッダが認識されない(試みた +.Fn execve +が +.Er ENOEXEC +を返した)場合、 +これらの関数は、最初の引数としてファイルのパスがあるシェルを実行します +(この試みが失敗した場合、それ以上の検索は行われません)。 +.Pp +.Fn exect +関数は、プログラムトレース機能を有効にしてファイルを実行します +( +.Xr ptrace 2 +を参照)。 +.Pp +.Sh 戻り値 +.Fn exec +関数が戻った場合、エラーが発生しているはずです。 +戻り値は \-1 であり、グローバル変数 +.Va errno +が設定されてエラーを示します。 +.Sh ファイル +.Bl -tag -width /bin/sh -compact +/bin/sh +シェル +.El +.Sh エラー +.Fn execl , +.Fn execle , +.Fn execlp +および +.Fn execvp +は処理失敗し、ライブラリ関数 +.Xr execve 2 +および +.Xr malloc 3 +について指定されたエラーを指定する +.Va errno +を設定する可能性があります。 +.Pp +.Fn exect +と +.Fn execv +は、ライブラリ関数 +.Xr execve 2 +について指定されたエラーに +関して +.Va errno +を設定する可能性があります。 +.Pp +.Sh 関連項目 +.Xr sh 1 , +.Xr execve 2 , +.Xr fork 2 , +.Xr ktrace 2 , +.Xr ptrace 2 , +.Xr environ 7 . +.Sh 互換性 +歴史的には +.Fn execlp +関数と +.Fn execvp +関数のデフォルトのパスは +.Dq Pa :/bin:/usr/bin +です。これが、システムセキュリティを向上させるために +現在のディレクトリを最後に配置するよう変更されました。 +.Pp +ファイルを実行しようとしている間にエラーが発生したときの +.Fn execlp +と +.Fn execvp +の動作は、あまり歴史的な慣行ではなく、従来から +ドキュメント化されておらず、 +.Tn POSIX +標準で指定されていません。 +.Pp +従来、 +.Fn execlp +関数と +.Fn execvp +関数は、上記のもの、および +.Er ETXTBSY , +.Er ENOMEM +と +.Er E2BIG +を除いてすべてのエラーを無視しました。 +.Er ETXTBSY +でこれらの関数は +数秒間、スリープした後で再試行し、 +.Er ENOMEM +と +.Er E2BIG +でこれらの関数は +返ります。 +これらは現在 +.Er ETXTBSY +について戻り、存在と実行可能性をもっと注意深く判定します。 +特に、パス接頭語内のアクセスできないディレクトリを表す +.Er EACCES +が、不適切な実行パーミッションのあるファイルについての +.Er EACCES +と混乱されないようになっています。 +.Bx 4.4 +で、これらの関数は、 +.Er EACCES , +.Er ENOENT , +.Er ENOEXEC +および +.Er ETXTBSY +以外のすべてのエラーで戻りました。 +これは従来のエラー処理より劣ったものでした。パス接頭語についてのエラーの +無視を破り、異常に曖昧なエラー +.Er EFAULT +と異常なエラー +.Er EIO +の処理を改良するだけだからです。 +動作は +.Xr sh 1 +の動作と一致するように変更されました。 +.Pp +.Sh 規格 +.Fn execl , +.Fn execv , +.Fn execle , +.Fn execlp +および +.Fn execvp +は +.St -p1003.1-88 +に準拠しています。 diff --git a/ja_JP.eucJP/man/man3/exit.3 b/ja_JP.eucJP/man/man3/exit.3 new file mode 100644 index 0000000000..1ea1a5fdd4 --- /dev/null +++ b/ja_JP.eucJP/man/man3/exit.3 @@ -0,0 +1,86 @@ +.\" Copyright (c) 1990, 1991, 1993 +.\" 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. +.\" +.\" @(#)exit.3 8.1 (Berkeley) 6/4/93 +.\" +.\" jpman %Id% +.\" +.Dd June 4, 1993 +.Dt EXIT 3 +.Os +.Sh 名称 +.Nm exit +.Nd 正常なプログラム終了を実行する +.Sh 書式 +.Fd #include +.Ft void +.Fn exit "int status" +.Sh 解説 +.Fn Exit +はプロセスを終了させます。 +.Pp +終了の前に、リストした順に次の機能を実行します。 +.Bl -enum -offset indent +.It +.Xr atexit 3 +関数で登録された関数を呼び出します。登録とは逆の順序でです。 +.It +開いているすべての出力ストリームをフラッシュします。 +.It +開いているすべてのストリームを閉じます。 +.It +.Xr tmpfile 3 +関数で作成されたすべてのファイルのリンクを解除します。 +.El +.Pp +任意の値を +.Ar status +として環境に渡すのは、まずいスタイルと考えられました。代わりに、 +.Xr sysexits 3 +で記述したように値を使用します。 +.Sh 戻り値 +.Fn exit +関数は戻ることはありません。 +.Sh 関連項目 +.Xr _exit 2 , +.Xr atexit 3 , +.Xr intro 3 , +.Xr sysexits 3 , +.Xr tmpfile 3 +.Sh 規格 +.Fn exit +関数は +.St -ansiC +に準拠しています。 diff --git a/ja_JP.eucJP/man/man3/exp.3 b/ja_JP.eucJP/man/man3/exp.3 new file mode 100644 index 0000000000..701ecd4c22 --- /dev/null +++ b/ja_JP.eucJP/man/man3/exp.3 @@ -0,0 +1,315 @@ +.\" Copyright (c) 1985, 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. +.\" +.\" from: @(#)exp.3 6.12 (Berkeley) 7/31/91 +.\" $Id: exp.3,v 1.1.1.1 1999-12-09 16:26:05 kuriyama Exp $ +.\" +.\" jpman %Id% +.\" +.Dd July 31, 1991 +.Dt EXP 3 +.Os BSD 4 +.Sh 名称 +.Nm exp , +.Nm expf , +.Nm exp2 , +.Nm exp2f , +.Nm exp10 , +.Nm exp10f , +.Nm expm1 , +.Nm expm1f , +.Nm log , +.Nm logf , +.Nm log10 , +.Nm log10f , +.Nm log1p , +.Nm log1pf , +.Nm pow , +.Nm powf +.Nd 指数関数、対数関数、累乗関数 +.Sh 書式 +.Fd #include +.Ft double +.Fn exp "double x" +.Ft float +.Fn expf "float x" +.Ft double +.Fn expm1 "double x" +.Ft float +.Fn expm1f "float x" +.Ft double +.Fn log "double x" +.Ft float +.Fn logf "float x" +.Ft double +.Fn log10 "double x" +.Ft float +.Fn log10f "float x" +.Ft double +.Fn log1p "double x" +.Ft float +.Fn log1pf "float x" +.Ft double +.Fn pow "double x" "double y" +.Ft float +.Fn powf "float x" "float y" +.Sh 解説 +.Fn exp +関数と +.Fn expf +関数は、指定の引数 +.Fa x +の指数値を計算します。 +.Pp +.Fn expm1 +関数と +.Fn expm1f +関数は、小さい引数 +.Fa x +についてさえ正確に、exp(x)\-1 の値を計算します。 +.Pp +.Fn log +関数と +.Fn logf +関数は引数 +.Fa x +の自然対数の値を計算します。 +.Pp +.Fn log10 +関数と +.Fn log10f +関数は、基底 +10 について引数 +.Fa x +の対数を計算します。 +.Pp +.Fn log1p +関数と +.Fn log1pf +関数は、小さい引数 +.Fa x +についてさえ log(1+x) の値を正確に計算します。 +.Pp +.Fn pow +関数と +.Fn powf +関数は、指数 +.Ar y +に対して +.Ar x +の値を計算します。 +.Sh エラー (丸めなどのためによる) +.Fn exp x , +.Fn log x , +.Fn expm1 x +および +.Fn log1p x +は、1 +.Em ulp +内部で正確です。 +.Fn log10 x +は 2 +.Em ulps +内部で正確です。1 +.Em ulp +は +.Em Last +.Em Place +内の 1 +.Em 単位 +です。 +.Fn pow x y +のエラーは、大きさが中程度のときは約 2 +.Em ulps +未満です。 +.Fn pow x y +がオーバーフロー/アンダーフローしきい値に近づくと増大します。最後には、 +ほとんどすべてのビットが浮動小数点指数フィールドによって占められれて +失われます。これは +.Tn "VAX D" +では 8 ビットであり、IEEE 754 Double では 11 ビットです。 +このように大きな欠落は試験によって明らかにされていません。 +観察された最悪のエラーは、 +.Tn "VAX D" +については 20 +.Em ulps +未満。 +.Tn IEEE +754 Double については 300 +.Em ulps +です。 +.Fn pow +中程度の値が、 +.Fn pow integer integer +が正確になるために十分です。最後は、 +.Tn VAX +については +2**56 +より大きくなり、 +.Tn IEEE +754 については 2**53 より大きくなります。 +.Sh 戻り値 +これらの関数は、エラーが発生するか引数が範囲外の場合を除き、 +適切な計算を返します。関数 +.Fn exp , +.Fn expm1 , +.Fn pow +は、計算された値がオーバーフローするかどうか検出し、 +グローバル変数 +.Va errno +を +.Er ERANGE +に設定し、 +.Tn VAX +または +.Tn Tahoe +で予約済みのオペランド障害を発生させます。関数 +.Fn pow x y +は、 +.Fa x +< 0 かどうかをチェックし、 +.Fa y +が整数でない場合、これが真の場合でも、グローバル変数 +.Va errno +を +.Er EDOM +に設定し、 +.Tn VAX +と +.Tn Tahoe +で、予約済みのオペランド障害を生成します。 +.Tn VAX +と +.Tn Tahoe +では、 +.Va errno +が +.Er EDOM +に設定され、 +.Fa x +> 0 の場合を除いて、予約済みオペランドが対数にによって返され、 +.Fa x +> \-1 の場合を除いて +.Fn log1p +によって返されます。 +.Sh 注 +関数 exp(x)\-1 と log(1+x) は、Hewlett Packard +.Tn HP Ns \-71B +および +.Tn APPLE +の Macintosh の +.Tn BASIC +では expm1 と logp1 と呼ばれ、Pascal では +.Tn EXP1 +と +.Tn LN1 +と呼ばれ、 +.Tn APPLE +Macintosh の C では exp1 と log1 と呼ばれます。 +この場合、これらは ((1+x)**n\-1)/x すなわち +expm1(n\(**log1p(x))/x の財政的計算が +x が小さい場合に正確になることを確認するために備えられています。 +これらは正確な逆双曲線関数も提供します。 +.Pp +関数 +.Fn pow x 0 +は、すべての x について x**0 = 1 を返します。 +x には、x = 0、 +.if n \ +infinity +.if t \ +\(if +.Tn ( VAX +にはありません)、 +.Em NaN +.Tn ( VAX +の予約済みオペランド) が含まれます。 +pow のこれまでの実現は、これらのすべての場合またはいくつかの場合に、 +x**0 を未定義としてきたことがあります。 +これが必ず x**0 = 1 を返す理由です。 +.Bl -enum -width indent +.It +x**0 を計算する前に x がゼロ +(または無限または \*(Na) であるかを試験するプログラムは +0**0 = 1 であるかどうかを配慮できません。 +0**0 が無効であることに左右されるプログラムは、 +式の意味と、無効な場合、 +式の結果がコンピュータシステムごとに変化するため疑わしいものです。 +.It +算術テキスト (たとえば、Sigler のもの) には、 +x = 0 を含めてすべての x について x**0 = 1 を定義するものがあります。 +これは、a[0] を、a[0]\(**0**0 を無効として拒絶するのではなく、多項式 +.Bd -literal -offset -indent +p(x) = a[0]\(**x**0 + a[1]\(**x**1 + a[2]\(**x**2 +...+ a[n]\(**x**n +.Ed +.Pp +の値を a[0] として受け入れる慣行と互換性があります。 +.It +アナリストは、x と y が独立に 0 に近づくときに、 +x**y が特定の値に近づくかまたは何にも近づかないかに関わらず、 +0**0 = 1 を受け入れます。 +0**0 = 1 を受け入れる理由は次のとおりです。 +.Bd -filled -offset indent +x(z) と y(z) が z = 0 付近の 0 で分析的な関数であり +(拡張可能な累乗シリーズ)、 +しかも x(0) = y(0) = 0 の場合、z \(-> 0 のとき +x(z)**y(z) \(-> 1 です。 +.Ed +.It +0**0 = 1 の場合、 +.if n \ +infinity**0 = 1/0**0 = 1 +.if t \ +\(if**0 = 1/0**0 = 1 +です。次いで、\*(Na**0 = 1 でもあります。 +すべての有限および無限な x について、 +すなわち x に独立に x**0 = 1 だからです。 +.El +.Sh 関連項目 +.Xr math 3 +.Sh 歴史 +.Fn exp , +.Fn log +および +.Fn pow +関数は +.At v6 +で現れました。 +.Fn log10 +関数は +.At v7 +で現れました。 +.Fn log1p +関数と +.Fn expm1 +関数は +.Bx 4.3 +で現れました。 diff --git a/ja_JP.eucJP/man/man3/fabs.3 b/ja_JP.eucJP/man/man3/fabs.3 new file mode 100644 index 0000000000..5ac4f5ee4c --- /dev/null +++ b/ja_JP.eucJP/man/man3/fabs.3 @@ -0,0 +1,76 @@ +.\" Copyright (c) 1991 The Regents of the University of California. +.\" All rights reserved. +.\" +.\" @(#)fabs.3 5.1 (Berkeley) 5/2/91 +.\" 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. +.\" +.\" from: @(#)fabs.3 5.1 (Berkeley) 5/2/91 +.\" $Id: fabs.3,v 1.1.1.1 1999-12-09 16:26:05 kuriyama Exp $ +.\" +.\" jpman %Id% +.\" +.Dd May 2, 1991 +.Dt FABS 3 +.Os +.Sh 名称 +.Nm fabs , +.Nm fabsf +.Nd 浮動小数絶対値関数 +.Sh 書式 +.Fd #include +.Ft double +.Fn fabs "double x" +.Ft float +.Fn fabsf "float x" +.Sh 解説 +.Fn fabs +関数と +.Fn fabsf +関数は、浮動小数 +.Fa x +の絶対値を算出します。 +.Sh 戻り値 +.Fn fabs +関数と +.Fn fabsf +関数は、 +.Fa x +の絶対値を戻します。 +.Sh 関連項目 +.Xr abs 3 , +.Xr ceil 3 , +.Xr floor 3 , +.Xr ieee 3 , +.Xr math 3 , +.Xr rint 3 +.Sh 規格 +.Fn fabs +関数は、 +.St -ansiC +に準拠しています。 diff --git a/ja_JP.eucJP/man/man3/fclose.3 b/ja_JP.eucJP/man/man3/fclose.3 new file mode 100644 index 0000000000..156d51dc51 --- /dev/null +++ b/ja_JP.eucJP/man/man3/fclose.3 @@ -0,0 +1,89 @@ +.\" Copyright (c) 1990, 1991, 1993 +.\" 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 8.1 (Berkeley) 6/4/93 +.\" +.\" jpman %Id% +.\" +.Dd June 4, 1993 +.Dt FCLOSE 3 +.Os +.Sh 名称 +.Nm fclose +.Nd ストリームを閉じる +.Sh 書式 +.Fd #include +.Ft int +.Fn fclose "FILE *stream" +.Sh 解説 +.Fn fclose +関数は、基礎となるファイルや関数のセットから、指定された +.Fa stream +を分離します。 +ストリームが出力に使用されていた場合は、バッファのデータが +.Xr fflush 3 +で最初に書き込まれます。 +.Sh 戻り値 +問題なく終了すると 0 が戻されます。問題がある場合は +.Dv EOF +が戻され、そのエラーを示す値にグローバル変数 +.Va errno +が設定されます。 +どちらの場合も、ストリームにはアクセスできなくなります。 +.Sh エラー +.Fn fclose +関数がエラーになると、ルーチン +.Xr close 2 +か +.Xr fflush 3 +に指定されたエラーに +.Va errno +が設定されることがあります。 +.Sh 注 +.Fn fclose +は NULL 引数を処理しません。 +NULL 引数はセグメンテーション違反を引き起こします。 +これは、FreeBSD で作成されたプログラムのバグをなくすためのものです。 +この動作はシステムの詳細であり、プログラムが依存すべきではありません。 +.Sh 関連項目 +.Xr close 2 , +.Xr fflush 3 , +.Xr fopen 3 , +.Xr setbuf 3 +.Sh 規格 +.Fn fclose +関数は、 +.St -ansiC +に準拠しています。 diff --git a/ja_JP.eucJP/man/man3/ferror.3 b/ja_JP.eucJP/man/man3/ferror.3 new file mode 100644 index 0000000000..77b8ce64ed --- /dev/null +++ b/ja_JP.eucJP/man/man3/ferror.3 @@ -0,0 +1,103 @@ +.\" Copyright (c) 1990, 1991, 1993 +.\" 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. +.\" +.\" @(#)ferror.3 8.2 (Berkeley) 4/19/94 +.\" +.\" jpman %Id% +.\" +.Dd April 19, 1994 +.Dt FERROR 3 +.Os +.Sh 名称 +.Nm clearerr , +.Nm feof , +.Nm ferror , +.Nm fileno +.Nd ストリームステータスのチェックとリセット +.Sh 書式 +.Fd #include +.Ft void +.Fn clearerr "FILE *stream" +.Ft int +.Fn feof "FILE *stream" +.Ft int +.Fn ferror "FILE *stream" +.Ft int +.Fn fileno "FILE *stream" +.Sh 解説 +.Fn clearerr +関数は、 +.Fa stream +が指すストリームのファイル終了インジケータと +エラーインジケータをクリアします。 +.Pp +.Fn feof +関数は、 +.Fa stream +が指すストリームのファイル終了インジケータを検査し、 +ファイル終了インジケータが設定されている場合はゼロ以外を戻します。 +ファイル終了インジケータをクリアできるのは、 +.Fn clearerr +関数のみです。 +.Pp +.Fn ferror +関数は、 +.Fa stream +が指すストリームのエラーインジケータを検査し、 +エラーインジケータが設定されている場合はゼロ以外を戻します。 +エラーインジケータをリセットできるのは、 +.Fn clearerr +関数のみです。 +.Pp +.Fn fileno +関数は、引数 +.Fa stream +を検査し、その整数記述子を戻します。 +.Sh エラー +この関数はエラーにならず、外部変数 +.Va errno +を設定しません。 +.Sh 関連項目 +.Xr open 2 , +.Xr stdio 3 +.Sh 規格 +.Fn clearerr +関数、 +.Fn feof +関数、 +.Fn ferror +関数は、 +.St -ansiC +に準拠しています。 diff --git a/ja_JP.eucJP/man/man3/fetch.3 b/ja_JP.eucJP/man/man3/fetch.3 new file mode 100644 index 0000000000..09039455b1 --- /dev/null +++ b/ja_JP.eucJP/man/man3/fetch.3 @@ -0,0 +1,413 @@ +.\" Copyright (c) 1998 Dag-Erling Coiean Smoograv +.\" 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. +.\" +.\" $Id: fetch.3,v 1.1.1.1 1999-12-09 16:26:05 kuriyama Exp $ +.\" +.\" jpman %Id% +.\" +.Dd July 1, 1998 +.Dt FETCH 3 +.Os +.Sh 名称 +.Nm fetchGetURL , +.Nm fetchPutURL , +.Nm fetchStatURL , +.Nm fetchListURL , +.Nm fetchParseURL , +.Nm fetchGet , +.Nm fetchPut , +.Nm fetchStat , +.Nm fetchList , +.Nm fetchGetFile , +.Nm fetchPutFile , +.Nm fetchStatFile , +.Nm fetchListFile , +.Nm fetchGetHTTP , +.Nm fetchPutHTTP , +.Nm fetchStatHTTP , +.Nm fetchListHTTP , +.Nm fetchGetFTP , +.Nm fetchPutFTP +.Nm fetchStatFTP +.Nm fetchListFTP , +.Nd ファイル転送ライブラリ +.Sh 書式 +.Fd #include +.Fd #include +.Fd #include +.Ft FILE * +.Fn fetchGetURL "char *URL" "char *flags" +.Ft FILE * +.Fn fetchPutURL "char *URL" "char *flags" +.Ft int +.Fn fetchStatURL "char *URL" "struct url_stat *us" "char *flags" +.Ft struct url_ent * +.Fn fetchListURL "char *URL" "char *flags" +.Ft struct url * +.Fn fetchParseURL "char *URL" "char *flags" +.Ft FILE * +.Fn fetchGet "struct url *URL" "char *flags" +.Ft FILE * +.Fn fetchPut "struct url *URL" "char *flags" +.Ft int +.Fn fetchStat "struct url *URL" "struct url_stat *us" "char *flags" +.Ft struct url_ent * +.Fn fetchList "struct url *" "char *flags" +.Ft FILE * +.Fn fetchGetFile "struct url *u" "char *flags" +.Ft FILE * +.Fn fetchPutFile "struct url *u" "char *flags" +.Ft int +.Fn fetchStatFile "struct url *URL" "struct url_stat *us" "char *flags" +.Ft struct url_ent * +.Fn fetchListFile "struct url *" "char *flags" +.Ft FILE * +.Fn fetchGetHTTP "struct url *u" "char *flags" +.Ft FILE * +.Fn fetchPutHTTP "struct url *u" "char *flags" +.Ft int +.Fn fetchStatHTTP "struct url *URL" "struct url_stat *us" "char *flags" +.Ft struct url_ent * +.Fn fetchListHTTP "struct url *" "char *flags" +.Ft FILE * +.Fn fetchGetFTP "struct url *u" "char *flags" +.Ft FILE * +.Fn fetchPutFTP "struct url *u" "char *flags" +.Ft int +.Fn fetchStatFTP "struct url *URL" "struct url_stat *us" "char *flags" +.Ft struct url_ent * +.Fn fetchListFTP "struct url *" "char *flags" +.Sh 解説 +この関数は、URL (Uniform Resource Locators) +を使用してファイルの取り出しとアップロードを行なう、 +高レベルなライブラリを実現します。 +.Pp +.Fn fetchGetURL +と +.Fn fetchPutURL +は、 +.Nm fetch +ライブラリのインタフェースを構成します。 +この関数は渡された URL を検査して転送手法を決め、 +適切な低レベル関数を呼び出して実際の転送を実行します。 +.Fa flags +引数は、転送オプションを指定するキャラクタのストリングです。 +それぞれのフラグの意味はスキームによって異なるので、 +以下の適切なセクションを参照してください。 +.Pp +.Fn fetchStatURL +は、要求された文書のメタデータを入手し、 +第 2 引数が指す構造体にデータを入力しようとします。 +.Fa url_stat +構造体は、 +.Aq Pa fetch.h +で以下のように定義されています。 +.Bd -literal +struct url_stat { + off_t size; + time_t atime; + time_t mtime; +}; +.Ed +.Pp +.Fn fetchListURL +は、指定された URL が指すディレクトリの内容をリストしようとします。 +問題がなければ、malloc で割り振られた +.Fa url_ent +構造体の配列を戻します。 +.Fa url_ent +構造体は、 +.Aq Pa fetch.h +で以下のように定義されています。 +.Bd -literal +struct url_ent { + char name[MAXPATHLEN]; + struct url_stat stat; +}; +.Ed +.Pp +リストは、名前がないエントリで終わります。 +.Pp +.Fn fetchListURL +が戻すポインタは、 +.Fn free +で解放してください。 +.Pp +.Fn fetchParseURL +はナル文字で終わるストリングの URL を取り、RFC1738 に規定されている +Common Internet Scheme Syntax に従って、その URL を +コンポーネント関数に分割します。 +このシンタックスを作る正規表現は以下のとおりです。 +.Bd -literal + :(//((:)?@)?(:)?)?/()? +.Ed +.Pp +URL の一部のコンポーネントは、 +すべての URL スキームで重要ではないことがあることに注意してください。 +たとえばファイルスキームでは、 コンポーネントと + コンポーネントしか必要ありません。 +.Pp +.Fn fetchParseURL +が戻すポインタは、 +.Fn free +で解放してください。 +.Pp +.Fn fetchGet +、 +.Fn fetchPut +、 +.Fn fetchStat +は、ポインタの形式の事前解析済み URL がストリングではなく +.Fa struct url +で必要になることを除けば、 +.Fn fetchGetURL +、 +.Fn fetchPutURL +、 +.Fn fetchStatURL +に似ています。 +.Pp +すべての +.Fn fetchGetXXX +関数と +.Fn fetchPutXXX +関数は、要求された文書からのデータの読込みや要求された文書へのデータの +書込みに使用できるストリームのポインタを戻します。 +それぞれのアクセス手法のシステム詳細は異なりますが、 +.Fn fetchGetXXX +関数が戻すストリームは読込み専用で、 +.Fn fetchPutXXX +が戻すストリームは書込み専用であると一般的に仮定されます。 +.Sh ファイルスキーム +.Fn fetchGetFile +と +.Fn fetchPutFile +では、ローカルにマウントされたファイルシステムのファイルである文書に +アクセスできます。URL の コンポーネントのみが使用されます。 +.Pp +.Fn fetchGetFile +はフラグを受け入れません。 +.Pp +.Fn fetchPutFile +は、 +.Fa a +フラグ (ファイルに追加) を受け入れます。 +このフラグを指定した場合、 +.Fn fetchPutFile +が戻すストリームへ書き込まれたデータは、 +ファイルの前の内容を置き換えるのではなくファイルの前の内容に追加されます。 +.Sh FTP スキーム +.Fn fetchGetFTP +と +.Fn fetchPutFTP +は、RFC959 に記述されているように FTP プロトコルを実現します。 +.Pp +.Fa p +フラグ (受動) を指定すると、能動的ではなく受動的な接続が試されます。 +.Pp +ユーザ名かパスワードを指定しないと、 +.Nm fetch +ライブラリは、ユーザ名 "ftp"、パスワード "ftp" で匿名ログインを試します。 +.Sh HTTP スキーム +.Fn fetchGetHTTP +関数と +.Fn fetchPutHTTP +関数は、HTTP/1.1 プロトコルを実現します。 +この関数は、RFC2068 に準拠する可能性があります。 +.Pp +.Nm fetch +ライブラリと調和する方法で +HTTP PUT 手法を実現する適切な方法がないようなので、 +.Fn fetchPutHTTP +は現在のところ実現されていません。 +.Sh 戻り値 +.Fn fetchParseURL +は、URL のそれぞれのコンポーネントを含む +.Fa struct url +のポインタを戻します。メモリを割り振れない場合、 +または URL のシンタックスが 正しくない場合、 +.Fn fetchParseURL +は NULL ポインタを戻します。 +.Pp +.Fn fetchStat +関数は、問題がなければ 0 を戻し、問題がある場合は -1 を戻します。 +.Pp +その他すべての関数は、要求された文書へのアクセスに使用できる +ストリームのポインタを戻します。 +エラーが発生した場合は NULL を戻します。 +.Pp +.Nm Libfetch +は、Common Error Library +.Nm ( libcom_err ) +を使用してエラーを報告します。 +.Fn com_err +に渡されるエラーコードは以下のとおりです。 +.Bl -tag -width Er +.It Bq Er FETCH_ABORT +オペレーションが異常終了しました。 +.It Bq Er FETCH_AUTH +認証がエラーになりました。 +.It Bq Er FETCH_DOWN +サービスが使用できません。 +.It Bq Er FETCH_EXISTS +ファイルが存在します。 +.It Bq Er FETCH_FULL +ファイルシステムの容量が不足しています。 +.It Bq Er FETCH_INFO +情報としての応答です。 +.It Bq Er FETCH_MEMORY +メモリが不足しています。 +.It Bq Er FETCH_MOVED +ファイルが移動されました。 +.It Bq Er FETCH_NETWORK +ネットワークエラー +.It Bq Er FETCH_OK +エラーはありません。 +.It Bq Er FETCH_PROTO +プロトコルエラー +.It Bq Er FETCH_RESOLV +リゾルバエラー +.It Bq Er FETCH_SERVER +サーバエラー +.It Bq Er FETCH_TEMP +一時的なエラー +.It Bq Er FETCH_TIMEOUT +オペレーションがタイムアウトになりました。 +.It Bq Er FETCH_UNAVAIL +ファイルが使用できません。 +.It Bq Er FETCH_UNKNOWN +未知のエラー +.It Bq Er FETCH_URL +URL が正しくありません。 +.El +.Pp +エラーメッセージには、 +"File is not available (404 Not Found)" のように、 +プロトコルのエラーコードとメッセージが組み込まれます。 +.Sh 環境変数 +FTP と HTTP に関連した関数は、 +ファイル転送に使用するプロキシサーバのアドレスとして、 +.Ev HTTP_PROXY +環境変数と +.Ev FTP_PROXY +環境変数を使用します。 +.Sh 関連項目 +.Xr com_err 3 , +.Xr fetch 1 , +.Xr ftpio 3 +.Rs +.%A T. Berners-Lee +.%A L. Masinter +.%A M. McCahill +.%D December 1994 +.%T Uniform Resource Locators (URL) +.%O RFC1738 +.Re +.Rs +.%A R. Fielding +.%A J. Gettys +.%A J. Mogul +.%A H. Frystyk +.%A T. Berners-Lee +.%D Januray 1997 +.%T Hypertext Transfer Protocol -- HTTP/1.1 +.%O RFC2068 +.Re +.Rs +.%A J. Postel +.%A J. K. Reynolds +.%D October 1985 +.%T File Transfer Protocol +.%O RFC959 +.Re +.Sh 注 +.Nm fetch +ライブラリは Common Error ライブラリを使用するので、 +.Nm libfetch +にリンクするアプリケーションは、 +.Nm libcom_err +にもリンクする必要があります。 +.Sh 歴史 +.Nm fetch +ライブラリは、 +.Fx 3.0 +に追加されました。 +.Sh 作者 +.Nm fetch +ライブラリは、 +.An Jordan K. Hubbard Aq jkh@FreeBSD.org , +.An Eugene Skepner Aq eu@qub.com +、その他の FreeBSD 開発者の提案を受け入れ、 +.An Dag-Erling Coidan Smograv Aq des@FreeBSD.org +が作成しました。これにより、 +.An Poul-Henning Kamp Aq pkh@FreeBSD.org +と +.An Jordan K. Hubbard Aq jkh@FreeBSD.org +が作成した +.Nm ftpio +が置き換えられました。 +.Pp +このマニュアルページの筆者は、 +.An Dag-Erling Coidan Smograv Aq des@FreeBSD.org +です。 +.Sh バグ +.Fn fetchPutHTTP +、 +.Fn fetchStatHTTP +、 +.Fn fetchListHTTP +、 +.Fn fetchListFTP +、FTP プロキシサポートなど、ライブラリの一部はまだ実現されていません。 +.Pp +.Ev HTTP_PROXY +環境変数か +.Ev FTP_PROXY +環境変数を適切に設定する以外、 +プロキシを実行時に選択する方法はありません。 +この環境変数を設定した場合は、 +FTP 関数と HTTP 関数によるプロキシの使用を止めることはできません。 +.Pp +HTTP 認証は動作しません。調査した範囲では、 +コードにバグがあるとは言い切れません。 +.Nm libfetch +は HTTP/1.1 基本認証を RFC2068 のとおりに正しく処理しますが、 +HTTP サーバは、認証のヘッダフィールドを受け入れません。また +.Nm libfetch +は、HTTP サーバの認証要求を解釈してそれに応答しようとしません。 +.Pp +URL でスペースなどをエンコードする試みはなされていません。 +URL の文書部分のスペースは、HTTP URL で "%20" に、 +FTP URLで "\\ " に置き換える必要があります。 +.Pp +エラー番号は、特定コンテキストのみで一意です。 +FTP と HTTP で使用するエラーコード、 +およびリゾルバとシステムのエラーで使用するエラーコードは重複します。 +たとえばエラーコード 202 は、FTPでは "Command not implemented, +superfluous at this site" を表し、HTTP では "Accepted" を表します。 +.Pp +このマニュアルページは不十分で、 +テキストのフォーマットも揃っていません。 +.Pp +その他にも多くのことがあります。 diff --git a/ja_JP.eucJP/man/man3/fflush.3 b/ja_JP.eucJP/man/man3/fflush.3 new file mode 100644 index 0000000000..e4b90792a1 --- /dev/null +++ b/ja_JP.eucJP/man/man3/fflush.3 @@ -0,0 +1,108 @@ +.\" Copyright (c) 1990, 1991, 1993 +.\" 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 8.1 (Berkeley) 6/4/93 +.\" +.\" jpman %Id% +.\" +.Dd June 4, 1993 +.Dt FFLUSH 3 +.Os +.Sh 名称 +.Nm fflush , +.Nm fpurge +.Nd ストリームのフラッシュ +.Sh 書式 +.Fd #include +.Ft int +.Fn fflush "FILE *stream" +.Ft int +.Fn fpurge "FILE *stream" +.Sh 解説 +.Fn fflush +関数は、指定された出力のバッファにあるすべてのデータの書込み、 +またはストリームの基礎となる書込み関数による +.Fa stream +の更新を強制的に実行します。ストリームのオープンステータスは変化しません。 +.Pp +.Fa stream +引数が +.Dv NULL +である場合、 +.Fn fflush +は開いている +.Em すべての +出力ストリームをフラッシュします。 +.Pp +.Fn fpurge +関数は、指定された +.Fa stream +でバッファに入っている入力か出力を消去します。 +出力ストリームの場合は、書き込まれていない出力が破棄されます。 +入力ストリームの場合は、基礎となるオブジェクトから読み込まれたが、 +.Xr getc 3 +で入手されていない入力が破棄されます。これには、 +.Xr ungetc +でプッシュバックされたテキストも含まれます。 +.Sh 戻り値 +問題なく終了すると 0 が戻されます。問題がある場合は +.Dv EOF +が戻され、そのエラーを示す値にグローバル変数 +.Va errno +が設定されます。 +.Sh エラー +.Bl -tag -width [EBADF] +.It Bq Er EBADF +.Fa stream +が開いているストリームではありません。 +.Fn fflush +の場合は、ストリームが書込み用に開いていません。 +.Pp +.Fn fflush +関数がエラーになると、ルーチン +.Xr write 2 +で指定されたエラーに +.Va errno +が設定されることがあります。 +.Sh 関連項目 +.Xr write 2 , +.Xr fclose 3 , +.Xr fopen 3 , +.Xr setbuf 3 +.Sh 規格 +.Fn fflush +関数は、 +.St -ansiC +に準拠しています。 diff --git a/ja_JP.eucJP/man/man3/ffs.3 b/ja_JP.eucJP/man/man3/ffs.3 new file mode 100644 index 0000000000..6540e2c7c7 --- /dev/null +++ b/ja_JP.eucJP/man/man3/ffs.3 @@ -0,0 +1,61 @@ +.\" Copyright (c) 1990, 1991, 1993 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" This code is derived from software contributed to Berkeley by +.\" Chris Torek. +.\" 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. +.\" +.\" @(#)ffs.3 8.2 (Berkeley) 4/19/94 +.\" +.\" jpman %Id% +.\" +.Dd April 19, 1994 +.Dt FFS 3 +.Os +.Sh 名称 +.Nm ffs +.Nd ビットストリングに設定された、最初のビットの検索 +.Sh 書式 +.Fd #include +.Ft int +.Fn ffs "int value" +.Sh 解説 +.Fn ffs +関数は、 +.Fa value +に設定された最初のビットを検索し、そのビットのインデックスを戻します。 +ビットには、最も右のビットを 1 として番号が振られます。 +戻り値が 0 である場合は、引数がゼロであったことを表します。 +.Sh 関連項目 +.Xr bitstring 3 +.Sh 歴史 +.Fn ffs +関数は、 +.Bx 4.3 +に追加されました。 diff --git a/ja_JP.eucJP/man/man3/fgetln.3 b/ja_JP.eucJP/man/man3/fgetln.3 new file mode 100644 index 0000000000..ca6cdbeb8a --- /dev/null +++ b/ja_JP.eucJP/man/man3/fgetln.3 @@ -0,0 +1,113 @@ +.\" Copyright (c) 1990, 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. +.\" +.\" @(#)fgetln.3 8.3 (Berkeley) 4/19/94 +.\" +.\" jpman %Id% +.\" +.Dd April 19, 1994 +.Dt FGETLN 3 +.Os +.Sh 名称 +.Nm fgetln +.Nd ストリームからラインを入手 +.Sh 書式 +.Fd #include +.Ft char * +.Fn fgetln "FILE *stream" "size_t *len" +.Sh 解説 +.Fn fgetln +関数は、 +.Fa stream +が参照するストリームから次のラインのポインタを戻します。 +このラインは C ストリングではなく、 +最後はナル文字で終了しません。 +最後の改行も含めたラインの長さは、 +.Fa len +が指すメモリ位置に保存されます +(ラインが、改行で終わらないファイルの最後にある場合、 +戻されるテキストに改行は含まれません)。 +.Sh 戻り値 +問題なく終了すると、ポインタが戻されます。 +このポインタは、問題の有無に関係なく、 +.Fa stream +での次の +.Tn I/O +オペレーション、またはストリームが閉じられた直後で無効になります。 +問題がある場合は +.Dv NULL +が戻されます。 +.Fn fgetln +関数は、ファイルの終了とエラーを区別しません。 +ファイルの終了かエラーかを判断するには、ルーチン +.Xr feof 3 +と +.Xr ferror 3 +を使用する必要があります。 +エラーが発生した場合は、そのエラーを示す値にグローバル変数 +.Va errno +が設定されます。 +ファイルの終了条件は端末でも記憶されるので、条件が +.Xr clearerr 3 +でクリアされるまで、その後の読込みでは +.Dv NULL +が常に戻されます。 +.Pp +戻されたサイズ以上に変更を加えなければ、 +戻されたポインタが指すテキストは修正できます。 +この変更内容は、ポインタが無効になると失われます。 +.Sh エラー +.Bl -tag -width [EBADF] +.It Bq Er EBADF +引数 +.Fa stream +が、読込み用に開いたストリームではありません。 +.Pp +.Fn fgetln +関数がエラーになると、ルーチン +.Xr fflush 3 , +.Xr malloc 3 , +.Xr read 2 , +.Xr stat 2 , +.Xr realloc 3 +に指定されたエラーに +.Va errno +が設定されることがあります。 +.Sh 関連項目 +.Xr ferror 3 , +.Xr fgets 3 , +.Xr fopen 3 , +.Xr putc 3 +.Sh 歴史 +.Fn fgetln +関数は、 +.Bx 4.4 +に追加されました。 diff --git a/ja_JP.eucJP/man/man3/fgets.3 b/ja_JP.eucJP/man/man3/fgets.3 new file mode 100644 index 0000000000..009ee84431 --- /dev/null +++ b/ja_JP.eucJP/man/man3/fgets.3 @@ -0,0 +1,148 @@ +.\" Copyright (c) 1990, 1991, 1993 +.\" 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. +.\" +.\" @(#)fgets.3 8.1 (Berkeley) 6/4/93 +.\" +.\" jpman %Id% +.\" +.Dd June 4, 1993 +.Dt FGETS 3 +.Os +.Sh 名称 +.Nm fgets , +.Nm gets +.Nd ストリームからラインを入手 +.Sh 書式 +.Fd #include +.Ft char * +.Fn fgets "char *str" "int size" "FILE *stream" +.Ft char * +.Fn gets "char *str" +.Sh 解説 +.Fn fgets +関数は、最大で +.Fa size +が指定するキャラクタ数より 1 少ないキャラクタを +.Fa stream +から読み込み、ストリング +.Fa str +に保存します。 +読込みは、改行キャラクタ、ファイルの終了、 +エラーが見つかった場合に停止します。 +存在する改行は保持されます。 +キャラクタを読み込んでエラーが発生しなかった場合、 +ストリングの最後には +.Ql \e0 +キャラクタが付きます。 +.Pp +.Fn gets +関数は、改行キャラクタが存在してもストリングに保存されないことを除けば、 +.Fa size +を無限にして +.Fa stream +を +.Em stdin +にした +.Fn fgets +と同じです。呼び出し側では、 +存在する入力ラインがストリングに収まる長さであることを +確認する必要があります。 +.Sh 戻り値 +問題なく終了すると、 +.Fn fgets +と +.Fn gets +はストリングのポインタを戻します。 +キャラクタを読み込む前にファイルの終了に達すると、 +.Dv NULL +が戻されます。 +この場合、バッファの内容は変化しません。エラーが発生すると +.Dv NULL +が戻され、バッファの内容は不定になります。 +.Fn fgets +関数と +.Fn gets +関数はファイルの終了とエラーを区別しません。 +ファイルの終了かエラーかを判断するには、呼び出し側が +.Xr feof 3 +と +.Xr ferror 3 +を使用する必要があります。 +.Sh エラー +.Bl -tag -width [EBADF] +.It Bq Er EBADF +指定された +.Fa stream +が、読込み可能ストリームではありません。 +.El +.Pp +.Fn fgets +関数がエラーになると、ルーチン +.Xr fflush 3 , +.Xr fstat 2 , +.Xr read 2 , +.Xr malloc 3 +に指定されたエラーに +.Va errno +が設定されることがあります。 +.Pp +.Fn gets +関数がエラーになると、ルーチン +.Xr getchar 3 +に指定されたエラーに +.Va errno +が設定されることがあります。 +.Sh 関連項目 +.Xr feof 3 , +.Xr ferror 3 , +.Xr fgetln 3 +.Sh 規格 +.Fn fgets +関数と +.Fn gets +関数は、 +.St -ansiC +に準拠しています。 +.Sh バグ +通常の場合は、 +次の入力ラインが任意の長さより短いことを確認することは不可能で、 +入力バッファがオーバフローすると必ずセキュリティ違反となるため、 +プログラムでは +.Fn gets +を使用しないでください。 +.Fn gets +は、 +.St -ansiC +に準拠するために存在します。 diff --git a/ja_JP.eucJP/man/man3/floor.3 b/ja_JP.eucJP/man/man3/floor.3 new file mode 100644 index 0000000000..892ea6380d --- /dev/null +++ b/ja_JP.eucJP/man/man3/floor.3 @@ -0,0 +1,68 @@ +.\" copyright (c) 1985, 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. +.\" +.\" from: @(#)floor.3 6.5 (Berkeley) 4/19/91 +.\" $Id: floor.3,v 1.1.1.1 1999-12-09 16:26:05 kuriyama Exp $ +.\" +.\" jpman %Id% +.\" +.Dd March 10, 1994 +.Dt FLOOR 3 +.Os +.Sh 名称 +.Nm floor , +.Nm floorf +.Nd x 以下の最大整数値に丸める +.Sh 書式 +.Fd #include +.Ft double +.Fn floor "double x" +.Ft float +.Fn floorf "float x" +.Sh 解説 +.Fn floor +関数と +.Fn floorf +関数は、 +.Fa x +以下の最大整数値 (倍精度数値) を戻します。 +.Sh 関連項目 +.Xr abs 3 , +.Xr ceil 3 , +.Xr fabs 3 , +.Xr ieee 3 , +.Xr math 3 , +.Xr rint 3 +.Sh 規格 +.Fn floor +関数は、 +.St -ansiC +に準拠しています。 diff --git a/ja_JP.eucJP/man/man3/fmod.3 b/ja_JP.eucJP/man/man3/fmod.3 new file mode 100644 index 0000000000..07dae634e0 --- /dev/null +++ b/ja_JP.eucJP/man/man3/fmod.3 @@ -0,0 +1,85 @@ +.\" 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. +.\" +.\" from: @(#)fmod.3 5.1 (Berkeley) 5/2/91 +.\" $Id: fmod.3,v 1.1.1.1 1999-12-09 16:26:05 kuriyama Exp $ +.\" +.Dd May 2, 1991 +.Dt FMOD 3 +.Os +.Sh 名称 +.Nm fmod , +.Nm fmodf +.Nd 浮動小数の余りを求める関数 +.Sh 書式 +.Fd #include +.Ft double +.Fn fmod "double x" "double y" +.Ft float +.Fn fmodf "float x" "float y" +.Sh 解説 +.Fn fmod +関数と +.Fn fmodf +関数は、 +.Fa x Ns / Fa y +の浮動小数の余りを算出します。 +.Sh 戻り値 +.Fa y +がゼロでない場合、結果が +.Fa x +と同じ符号になり、かつ、結果の大きさが +.Fa y +よりも小さくなるような整数 +.Em i +に対して、 +.Fn fmod +関数と +.Fn fmodf +関数は、値 +.Sm off +.Fa x - Em i * Fa y +.Sm on +を戻します。 +.Fa y +がゼロである場合、ドメインエラーを発生させるか、または +.Fn fmod +関数と +.Fn fmodf +関数がゼロを戻すかはシステムで定義されます。 +.Sh 関連項目 +.Xr math 3 +.Sh 規格 +.Fn fmod +関数は、 +.St -ansiC +に準拠しています。 +.\"X kuma 1999-11-5 diff --git a/ja_JP.eucJP/man/man3/fnmatch.3 b/ja_JP.eucJP/man/man3/fnmatch.3 new file mode 100644 index 0000000000..c97f18483c --- /dev/null +++ b/ja_JP.eucJP/man/man3/fnmatch.3 @@ -0,0 +1,135 @@ +.\" Copyright (c) 1989, 1991, 1993 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" This code is derived from software contributed to Berkeley by +.\" Guido van Rossum. +.\" 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. +.\" +.\" @(#)fnmatch.3 8.3 (Berkeley) 4/28/95 +.\" +.Dd April 28, 1995 +.Dt FNMATCH 3 +.Os +.Sh 名称 +.Nm fnmatch +.Nd ファイル名かパス名を照合する +.Sh 書式 +.Fd #include +.Ft int +.Fn fnmatch "const char *pattern" "const char *string" "int flags" +.Sh 解説 +.Fn fnmatch +関数は、シェルが使用する規則に従ってパターンを照合します。 +.Fa string +引数が指定する文字列をチェックし、 +.Fa pattern +引数が指定するパターンと一致するかどうか確認します。 +.Pp +.Fa flags +引数は、 +.Fa pattern +と +.Fa string +の解釈を修正します。 +.Fa flags +の値は、以下の定数のビット単位の論理和です。この定数は、 +インクルードファイル +.Pa fnmatch.h +で定義されています。 +.Bl -tag -width FNM_PATHNAME +.It Dv FNM_NOESCAPE +通常、 +.Fa pattern +の中でバックスラッシュ +.Pq Ql \e +の後ろに 1 文字が続くものが現れるごとに、それはその文字で +置き換えられます。この置き換えは、その文字の特殊な意味を +無効にするために実行されます。 +.Dv FNM_NOESCAPE +フラグを設定すると、バックスラッシュ文字は通常文字として扱われます。 +.It Dv FNM_PATHNAME +.Fa string +のスラッシュ文字は、 +.Fa pattern +中のスラッシュと +明確に一致する必要があります。このフラグを設定しないと、スラッシュは +通常文字として扱われます。 +.It Dv FNM_PERIOD +.Fa string +の最初のピリオドは、 +.Fa pattern +中の最初のピリオドと +明確に一致する必要があります。このフラグを設定しないと、最初のピリオドは +通常文字として扱われます。「最初の」という言葉の定義は、 +.Dv FNM_PATHNAME +の指定によって変化します。 +.Ar string +の第 1 キャラクタであるピリオドは、常に「最初の」ピリオドです。 +.Dv FNM_PATHNAME +を設定した場合、スラッシュの直後のピリオドも「最初の」ピリオドです。 +.It Dv FNM_LEADING_DIR +.Fa pattern +が問題なく一致した後、残りの +.Nm /* +を無視します。 +.It Dv FNM_CASEFOLD +.Fa pattern +と +.Fa string +の両方で大文字と小文字の区別を無視します。 +.El +.Sh 戻り値 +.Fn fnmatch +関数は、 +.Fa pattern +が指定するパターンに +.Fa string +が一致するとゼロを戻します。一致しない場合は値 +.Dv FNM_NOMATCH +を戻します。 +.Sh 関連項目 +.Xr sh 1 , +.Xr glob 3 , +.Xr regex 3 +.Sh 規格 +.Fn fnmatch +関数は、 +.St -p1003.2 +に準拠しています。 +.Sh 歴史 +.Fn fnmatch +関数は、 +.Bx 4.4 +に追加されました。 +.Sh バグ +.Dv FNM_PATHNAME +を指定しても、パターン +.Ql * +は空ストリングと一致します。 +.\"X kuma 1999-11-5 diff --git a/ja_JP.eucJP/man/man3/fopen.3 b/ja_JP.eucJP/man/man3/fopen.3 new file mode 100644 index 0000000000..1ba486a454 --- /dev/null +++ b/ja_JP.eucJP/man/man3/fopen.3 @@ -0,0 +1,221 @@ +.\" Copyright (c) 1990, 1991, 1993 +.\" 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 8.1 (Berkeley) 6/4/93 +.\" +.Dd June 4, 1993 +.Dt FOPEN 3 +.Os +.Sh 名称 +.Nm fopen , +.Nm fdopen , +.Nm freopen +.Nd ストリームをオープンする関数 +.Sh 書式 +.Fd #include +.Ft FILE * +.Fn fopen "const char *path" "const char *mode" +.Ft FILE * +.Fn fdopen "int fildes" "const char *mode" +.Ft FILE * +.Fn freopen "const char *path" "const char *mode" "FILE *stream" +.Sh 解説 +.Fn fopen +関数は、 +.Fa path +が指すストリングの名前を持つファイルをオープンし、 +それにストリームを関連付けます。 +.Pp +引数 +.Fa mode +は、以下のシーケンスの +1 つで始まるストリングを指します (このシーケンスには、 +別のキャラクタが続けても構いません)。 +.Bl -tag -width indent +.It Dq Li r +テキストファイルを読込み用にオープンします。ストリームは、ファイルの +最初に位置付けられます。 +.It Dq Li r+ +読込み用と書込み用にオープンします。ストリームは、ファイルの最初に +位置付けられます。 +.It Dq Li w +ファイルを長さゼロに切り捨てるか、書込み用テキストファイルを +作成します。ストリームは、ファイルの最初に位置付けられます。 +.It Dq Li w+ +読込み用と書込み用にオープンします。ファイルが存在しない場合はその +ファイルが作成され、存在する場合は切り捨てられます。ストリームは、ファイル +の最初に位置付けられます。 +.It Dq Li a +書込み用にオープンします。ファイルが存在しない場合はそのファイルが +作成されます。ストリームは、ファイルの最後に位置付けられます。 +.It Dq Li a+ +読込み用と書込み用にオープンします。ファイルが存在しない場合はその +ファイルが作成されます。ストリームは、ファイルの最後に位置付けられます。 +.El +.Pp +.Fa mode +ストリングには、3 番目の文字として、または上で説明した 2 文字からなる +文字列の間に指定する文字として、文字 ``b'' を組み込むことができます。 +これは +.St -ansiC +との互換性を保つためのもので、 +効果はありません。``b'' は無視されます。 +.Pp +作成されたファイルのモードは、 +.Pf \\*q Dv S_IRUSR +\&| +.Dv S_IWUSR +\&| +.Dv S_IRGRP +\&| +.Dv S_IWGRP +\&| +.Dv S_IROTH +\&| +.Dv S_IWOTH Ns \\*q +.Pq Li 0666 +がプロセスの umask 値 ( +.Xr umask 2 +参照) で修正されたものになります。 +.Pp +読み書きストリームでは、読込みと書込みをどのような順序でも +混ぜることができ、前バージョンの +.Em stdio +のように、それらの間にシーク操作は必要ありません。 +しかしながら、これは他のシステムとの移植性を保持しません。というのは、 +.Tn ANSI C +は、入力オペレーションがファイルの終了に達していない場合、 +ファイル位置付け関数が出力と入力の間に +介在することを要求しているからです。 +.Pp +.Fn fdopen +関数は、既存のファイル記述子 +.Fa fildes +にストリームを関連付けます。ストリームの +.Fa mode +には、ファイル記述子のモードとの互換性が必要です。 +.Pp +.Fn freopen +関数は、 +.Fa path +が指すストリングの名前が付いたファイルを開き、 +.Fa stream +が指すストリームを関連付けます。オリジナルのストリームが存在する +場合、それは閉じられます。 +.Fa mode +引数は、 +.Fn fopen +関数と同じです。 +.Fn freopen +の主な使用目的は、標準テキストストリーム +.Pf ( Em stderr, +.Em stdin +.Em stdout ) +に関連付けられたファイルを変更することです。 +.Sh 戻り値 +呼び出しが成功すると、 +.Fn fopen, +.Fn fdopen, +.Fn freopen +は +.Tn FILE +ポインタを戻します。問題がある場合は +.Dv NULL +を戻し、そのエラーを示す値にグローバル変数 +.Va errno +を設定します。 +.Sh エラー +.Bl -tag -width [EINVAL] +.It Bq Er EINVAL +.Fn fopen , +.Fn fdopen , +.Fn freopen +の +.Fa mode +が正しくありません。 +.El +.Pp +ルーチン +.Xr malloc 3 +で指定されたエラーに関して、 +.Fn fopen , +.Fn fdopen , +.Fn freopen +関数がエラーになり、 +.Va errno +が設定されることがあります。 +.Pp +ルーチン +.Xr open 2 +で指定されたエラーに関して、 +.Fn fopen +関数がエラーになり、 +.Va errno +が設定されることがあります。 +.Pp +ルーチン +.Xr fcntl 2 +で指定されたエラーに関して、 +.Fn fdopen +関数がエラーになり、 +.Va errno +が設定されることがあります。 +.Pp +ルーチン +.Xr open 2 , +.Xr fclose 3 , +.Xr fflush 3 +で指定されたエラーに関して、 +.Fn freopen +関数がエラーになり、 +.Va errno +が設定されることがあります。 +.Sh 関連項目 +.Xr open 2 , +.Xr fclose 3 , +.Xr fseek 3 , +.Xr funopen 3 +.Sh 規格 +.Fn fopen +関数と +.Fn freopen +関数は、 +.St -ansiC +に準拠しています。 +.Fn fdopen +関数は、 +.St -p1003.1-88 +に準拠しています。 +.\"X kuma 1999-11-5 diff --git a/ja_JP.eucJP/man/man3/fpgetround.3 b/ja_JP.eucJP/man/man3/fpgetround.3 new file mode 100644 index 0000000000..62f5556f26 --- /dev/null +++ b/ja_JP.eucJP/man/man3/fpgetround.3 @@ -0,0 +1,159 @@ +.\" Copyright (c) 1993 Andrew Moore, Talke Studio +.\" 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. +.\" +.\" @(#)fpgetround.3 1.0 (Berkeley) 9/23/93 +.\" $Id: fpgetround.3,v 1.1.1.1 1999-12-09 16:26:05 kuriyama Exp $ +.\" +.Dd August 23, 1993 +.Dt FPGETROUND 3 +.Os +.Sh 名称 +.Nm fpgetround , +.Nm fpsetround , +.Nm fpsetprec , +.Nm fpgetprec , +.Nm fpgetmask , +.Nm fpsetmask , +.Nm fpgetsticky , +.Nm fpresetsticky +.Nd IEEE 浮動小数インタフェース +.Sh 書式 +.Fd #include +.Ft typedef enum { +.br +.Fa FP_RN, +.Li /* round to nearest */ +.br +.Fa FP_RM, +.Li /* round to minus infinity */ +.br +.Fa FP_RP, +.Li /* round to plus infinity */ +.br +.Fa FP_RZ, +.Li /* truncate */ +.br +.Ft } fp_rnd_t; +.Pp +.Ft fp_rnd_t +.Fn fpgetround void +.Ft fp_rnd_t +.Fn fpsetround "fp_rnd_t direction" +.Pp +.nr fZ 0 +.Ft typedef enum { +.br +.Fa FP_PS, +.Li /* 24 bit (single-precision) */ +.br +.Fa FP_PRS, +.Li /* reserved */ +.br +.Fa FP_PD, +.Li /* 53 bit (double-precision) */ +.br +.Fa FP_PE, +.Li /* 64 bit (extended-precision) */ +.br +.Ft } fp_prec_t; +.Pp +.Ft fp_prec_t +.Fn fpgetprec void +.Ft fp_prec_t +.Fn fpsetprec "fp_prec_t precision" +.Pp +.Fd #define fp_except_t int +.Fd #define FP_X_INV 0x01 /* invalid */ +.Fd #define FP_X_OFL 0x08 /* overflow */ +.Fd #define FP_X_UFL 0x10 /* underflow */ +.Fd #define FP_X_DZ 0x04 /* divide-by-zero */ +.Fd #define FP_X_IMP 0x20 /* loss of precision */ +.Fd #define FP_X_DNML 0x02 /* denormal */ +.Ft fp_except_t +.Fn fpgetmask void +.Ft fp_except_t +.Fn fpsetmask "fp_except_t mask" +.Ft fp_except_t +.Fn fpgetsticky void +.Ft fp_except_t +.Fn fpresetsticky "fp_except_t sticky" +.Sh 解説 +浮動小数例外が検出されると、例外スティッキフラグが設定され、例外マスク +が検査されます。マスクが設定されている場合はトラップが発生します。この +ルーチンでは、浮動小数例外マスクの設定、および例外が発生した後での例外 +スティッキフラグのリセットができます。浮動小数丸めモードと精度も +設定できます。 +.Pp +.Fn fpgetround +関数は、現在の浮動小数丸めモードを戻します。 +.Pp +.Fn fpsetround +関数は、浮動小数丸めモードを設定し、前のモードを +戻します。 +.Pp +.Fn fpgetprec +関数は、現在の浮動小数精度を戻します。 +.Pp +.Fn fpsetprec +関数は、浮動小数精度を設定し、前の精度を戻します。 +.Pp +.Fn fpgetmask +関数は、現在の浮動小数例外マスクを戻します。 +.Pp +.Fn fpsetmask +関数は、浮動小数例外マスクを設定し、前のマスクを戻します。 +.Pp +.Fn fpgetsticky +関数は、現在の浮動小数スティッキフラグを戻します。 +.Pp +.Fn fpresetsticky +関数は、浮動小数スティッキフラグをクリアし、前のフラグ +を戻します。 +.Pp +以下は、ゼロ除算によるトラップを防ぐコード例です。 +.Bd -literal -offset indent +fpsetmask(~FP_X_DZ); +a = 1.0; +b = 0; +c = a / b; +fpresetsticky(FP_X_DZ); +fpsetmask(FP_X_DZ); +.Ed +.Sh 関連項目 +.Xr isnan 3 +.Sh 警告 +浮動小数例外が発生した後、かつ、マスクを設定する前に、 +スティッキフラグをリセットする必要があります。スティッキフラグをリセット +する前に別の例外が発生した場合は、誤った例外タイプが +通知されることがあります。 +.Sh 歴史 +このルーチンは、同じ名前の SysV/386 ルーチンに基づいています。 +.\"X kuma 1999-11-5 diff --git a/ja_JP.eucJP/man/man3/fputs.3 b/ja_JP.eucJP/man/man3/fputs.3 new file mode 100644 index 0000000000..2b6f926fd7 --- /dev/null +++ b/ja_JP.eucJP/man/man3/fputs.3 @@ -0,0 +1,103 @@ +.\" Copyright (c) 1990, 1991, 1993 +.\" 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. +.\" +.\" @(#)fputs.3 8.1 (Berkeley) 6/4/93 +.\" +.Dd June 4, 1993 +.Dt FPUTS 3 +.Os +.Sh 名称 +.Nm fputs , +.Nm puts +.Nd 行をストリームに出力する +.Sh 書式 +.Fd #include +.Ft int +.Fn fputs "const char *str" "FILE *stream" +.Ft int +.Fn puts "const char *str" +.Sh 解説 +.Fn fputs +関数は、 +.Fa str +が指すストリングを +.Fa stream +が指すストリームに書き込みます。 +.Pp +.Fn puts +関数は、ストリング +.Fa str +と最後に改行文字をストリーム +.Em stdout +に書き込みます。 +.Sh 戻り値 +.Fn fputs +関数は、成功すれば 0 を戻し、エラーが発生した場合は +.Dv EOF +を戻します。 +.Fn puts +は、成功すれば負でない整数を戻し、エラーが発生した場合は +.Dv EOF +を戻します。 +.Sh エラー +.Bl -tag -width [EBADF] +.It Bq Er EBADF +指定された +.Fa stream +が、書込み可能なストリームではありません。 +.El +.Pp +ルーチン +.Xr write 2 +で指定されたエラーに関して +.Fn fputs +関数と +.Fn puts +関数が失敗し、 +.Va errno +が設定されることがあります。 +.Sh 関連項目 +.Xr ferror 3 , +.Xr putc 3 , +.Xr stdio 3 +.Pp +.Sh 規格 +.Fn fputs +関数と +.Fn puts +関数は、 +.St -ansiC +に準拠しています。 +.\"X kuma 1999-11-5 diff --git a/ja_JP.eucJP/man/man3/fread.3 b/ja_JP.eucJP/man/man3/fread.3 new file mode 100644 index 0000000000..9446be54f9 --- /dev/null +++ b/ja_JP.eucJP/man/man3/fread.3 @@ -0,0 +1,107 @@ +.\" Copyright (c) 1990, 1991, 1993 +.\" 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. +.\" +.\" @(#)fread.3 8.2 (Berkeley) 3/8/94 +.\" +.Dd March 8, 1994 +.Dt FREAD 3 +.Os +.Sh 名称 +.Nm fread , +.Nm fwrite +.Nd バイナリストリーム入出力 +.Sh 書式 +.Fd #include +.Ft size_t +.Fn fread "void *ptr" "size_t size" "size_t nmemb" "FILE *stream" +.Ft size_t +.Fn fwrite "const void *ptr" "size_t size" "size_t nmemb" "FILE *stream" +.Sh 解説 +.Fn fread +関数は、 +.Fa stream +が指すストリームから、それぞれが +.Fa size +バイトの大きさのオブジェクトを +.Fa nmemb +個読み込み、 +.Fa ptr +で指定された場所に保存します。 +.Pp +.Fn fwrite +関数は、 +.Fa ptr +で指定された場所から、それぞれが +.Fa size +バイトの大きさのオブジェクトを +.Fa nmemb +個 +.Fa stream +が指すストリームに書き込みます。 +.Pp +.Sh 戻り値 +.Fn fread +関数と +.Fn fwrite +関数は、読み書きしたバイト数だけ、ストリームの +ファイル位置インジケータを進め、読み書きしたオブジェクト数を戻します。 +エラーが発生した場合、またはファイルの終了に達した場合は、短い +オブジェクト数 (またはゼロ) が戻されます。 +.Pp +.Fn fread +関数は、ファイルの終了とエラーを区別しません。ファイルの終了か +エラーかを判断するためには、呼び出し側が +.Xr feof 3 +と +.Xr ferror 3 +を使用する必要があります。 +.Fn fwrite +は、書き込みエラーが発生した場合に限って +.Fa nmemb +より小さい値を戻します。 +.Pp +.Sh 関連項目 +.Xr read 2 , +.Xr write 2 +.Pp +.Sh 規格 +.Fn fread +関数と +.Fn fwrite +関数は、 +.St -ansiC +に +準拠しています。 +.\"X kuma 1999-11-6 diff --git a/ja_JP.eucJP/man/man3/frexp.3 b/ja_JP.eucJP/man/man3/frexp.3 new file mode 100644 index 0000000000..c29203327e --- /dev/null +++ b/ja_JP.eucJP/man/man3/frexp.3 @@ -0,0 +1,83 @@ +.\" Copyright (c) 1991, 1993 +.\" 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. +.\" +.\" @(#)frexp.3 8.1 (Berkeley) 6/4/93 +.\" +.Dd June 4, 1993 +.Dt FREXP 3 +.Os +.Sh 名称 +.Nm frexp +.Nd 浮動小数を小数部と整数部に変換 +.Sh 書式 +.Fd #include +.Ft double +.Fn frexp "double value" "int *exp" +.Sh 解説 +.Fn frexp +関数は、浮動小数を分割して、正規化された小数部分と +2 の整数累乗に分けます。 +整数部は、 +.Fa exp +が指す +.Em int +オブジェクトに保存されます。 +.Sh 戻り値 +.Fn frexp +関数は、区間 +.Bq 1/2 , 1 +に入る、もしくは大きさがゼロであり、かつ、 +それを +.Fa *exp +回 2 の冪乗倍すると +.Fa value +と等しくなる +.Em double +の値 +.Em x +を戻します。 +.Fa value +がゼロである場合、結果のどちらの部分もゼロになります。 +.Sh 関連項目 +.Xr ldexp 3 , +.Xr math 3 , +.Xr modf 3 +.Pp +.Sh 規格 +.Fn frexp +関数は、 +.St -ansiC +に準拠しています。 +.\"X kuma 1999-11-6 diff --git a/ja_JP.eucJP/man/man3/fseek.3 b/ja_JP.eucJP/man/man3/fseek.3 new file mode 100644 index 0000000000..ada3ba1549 --- /dev/null +++ b/ja_JP.eucJP/man/man3/fseek.3 @@ -0,0 +1,176 @@ +.\" Copyright (c) 1990, 1991, 1993 +.\" 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 8.1 (Berkeley) 6/4/93 +.\" +.Dd June 4, 1993 +.Dt FSEEK 3 +.Os +.Sh 名称 +.Nm fgetpos , +.Nm fseek , +.Nm fsetpos , +.Nm ftell , +.Nm rewind +.Nd ストリームの位置変更 +.Sh 書式 +.Fd #include +.Ft int +.Fn fseek "FILE *stream" "long offset" "int whence" +.Ft long +.Fn ftell "FILE *stream" +.Ft void +.Fn rewind "FILE *stream" +.Ft int +.Fn fgetpos "FILE *stream" "fpos_t *pos" +.Ft int +.Fn fsetpos "FILE *stream" "const fpos_t *pos" +.Sh 解説 +.Fn fseek +関数は、 +.Fa stream +が指すストリームのファイル位置インジケータを +設定します。新しい位置はバイト単位で計測され、 +.Fa whence +で指定された位置に +.Fa offset +バイトを足すことで得られます。 +.Fa whence +が +.Dv SEEK_SET , +.Dv SEEK_CUR , +.Dv SEEK_END +に設定されている場合、オフセットは、それぞれ、ファイルの最初、 +インジケータの現在位置、ファイルの最後からの相対位置になります。 +.Fn fseek +関数の呼び出しで +問題が発生しない場合は、ストリームの end-of-file 指示子がクリアされ、 +そのストリームの +.Xr ungetc 3 +関数の結果は取り消されます。 +.Pp +.Fn ftell +関数は、 +.Fa stream +が指すストリームのファイル位置インジケータの +現在の値を入手します。 +.Pp +.Fn rewind +関数は、 +.Fa stream +が指すストリームのファイル位置インジケータを +ファイルの最初に設定します。これは、 +ストリームのエラーインジケータがクリアされること ( +.Xr clearerr 3 +を参照) を除けば、以下と同じ結果になります。 +.Pp +.Dl (void)fseek(stream, 0L, SEEK_SET) +.Pp +.Fn fgetpos +関数と +.Fn fsetpos +関数は、 +.Fa whence +を +.Dv SEEK_SET +に設定した +.Fn ftell +と +.Fn fseek +と同じインタフェースで、ファイルオフセットの現在の値を +.Fa pos +が参照するオブジェクトから設定したり、 +.Fa pos +が参照するオブジェクトに保存したりします。 +.Tn UNIX +以外の一部のシステムでは、 +.Dq Fa fpos_t +オブジェクトが複合オブジェクトとなり、 +移植性を保ちながらテキストストリームの位置を +変更するためには、このルーチンに依るしかないこともあります。 +.Sh 戻り値 +.Fn rewind +関数は値を戻しません。 +.Fn fgetpos , +.Fn fseek , +.Fn fsetpos +は、問題なく終了すると 0 を戻し、 +.Fn ftell +は現在のオフセットを戻します。問題がある場合は \-1 が戻され、 +そのエラーを示す値がグローバル変数 +.Va errno +に設定されます。 +.Sh エラー +.Bl -tag -width [EINVAL] +.It Bq Er EBADF +指定された +.Fa stream +が、シークできるストリームではありません。 +.It Bq Er EINVAL +.Fn fseek +の +.Fa whence +引数が、 +.Dv SEEK_SET , +.Dv SEEK_END , +.Dv SEEK_CUR +のどれでもありません。 +.El +.Pp +ルーチン +.Xr fflush 3 , +.Xr fstat 2 , +.Xr lseek 2 , +.Xr malloc 3 +で指定されたエラーに関して、 +.Fn fgetpos , +.Fn fseek , +.Fn fsetpos , +.Fn ftell +関数がエラーになり、 +.Va errno +が設定されることがあります。 +.Sh 関連項目 +.Xr lseek 2 +.Sh 規格 +.Fn fgetpos , +.Fn fsetpos , +.Fn fseek , +.Fn ftell , +.Fn rewind +関数は、 +.St -ansiC +に準拠しています。 +.\"X kuma 1999-11-6 diff --git a/ja_JP.eucJP/man/man3/ftime.3 b/ja_JP.eucJP/man/man3/ftime.3 new file mode 100644 index 0000000000..822b78045b --- /dev/null +++ b/ja_JP.eucJP/man/man3/ftime.3 @@ -0,0 +1,85 @@ +.\" 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. +.\" +.\" @(#)ftime.3 8.1 (Berkeley) 6/4/93 +.\" +.Dd June 4, 1993 +.Dt FTIME 3 +.Os BSD 4 +.Sh 名称 +.Nm ftime +.Nd 日時を取得する +.Sh 書式 +.Fd #include +.Fd #include +.Ft int +.Fn ftime "struct timeb *tp" +.Sh 解説 +.Bf -symbolic +このインタフェースは、gettimeofday(2) +で置き換えられました。 +.Pp +これは、互換性ライブラリ libcompat から使用できます。 +.Ef +.Pp +.Fn ftime +ルーチンは、引数が指す構造体にデータを入力します。この構造体は、 +.Aq Pa sys/timeb.h +で以下のように定義されています。 +.Bd -literal -offset indent +/* + * Structure returned by ftime system call + */ +struct timeb +{ + time_t time; + unsigned short millitm; + short timezone; + short dstflag; +}; +.Ed +.Pp +この構造体には、基準時点 (Epoch) からの時間 (秒単位)、 +1000 ミリ秒までのより正確な間隔、ローカルタイムゾーン +(グリニッジから西へ分単位で計測)、ゼロ以外ならば、 +その場所で適切な時期に夏時間が適用されていることを表すフラグが +あります。 +.Sh 関連項目 +.Xr gettimeofday 2 , +.Xr settimeofday 2 , +.Xr ctime 3 , +.Xr time 3 +.Sh 歴史 +.Fn ftime +関数は、 +.Bx 4.2 +に追加されました。 +.\"X kuma 1999-11-6 diff --git a/ja_JP.eucJP/man/man3/ftok.3 b/ja_JP.eucJP/man/man3/ftok.3 new file mode 100644 index 0000000000..f1e5d9c4ea --- /dev/null +++ b/ja_JP.eucJP/man/man3/ftok.3 @@ -0,0 +1,83 @@ +.\" Copyright (c) 1994 SigmaSoft, Th. Lockert +.\" 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. The name of the author may not be used to endorse or promote products +.\" derived from this software without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 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: ftok.3,v 1.1.1.1 1999-12-09 16:26:04 kuriyama Exp $ +.Dd June 24, 1994 +.Os +.Dt ftok 3 +.Sh 名称 +.Nm ftok +.Nd パス名から IPC 識別子を作成する +.Sh 書式 +.Fd #include +.Fd #include +.Ft key_t +.Fn ftok "const char *path" "int id" +.Sh 解説 +.Bf -symbolic +この関数は、互換性ライブラリ libcompat から使用できます。 +.Ef +.Fn ftok +関数は、既存ファイルの +.Fa path +とユーザが選択可能な +.Fa id +を与えることで、 +.Xr msgget 3 , +.Xr semget 2 , +.Xr shmget 2 +関数での使用に適した、固有のキーを作成しようとします。 +.Pp +.Fa path +は、呼び出しプロセスからアクセスできる既に存在するファイルを指定する +必要があります。この指定が適切でない場合、呼び出しはエラーになります。 +あるファイルへのリンクでは、 +.Fa id +が同じである場合、同じキーが戻されます。 +.Sh 戻り値 +.Fn ftok +関数は、 +.Fa path +が存在しないか、呼び出しプロセスからアクセス +できない場合、-1 を戻します。 +.Sh 関連項目 +.Xr semget 2 , +.Xr shmget 2 , +.Xr msgget 3 +.Sh 歴史 +.Fn ftok +関数は +System V に由来し、System V IPC ルーチンを使用する +プログラムで一般的に使用されます。 +.Sh 作者 +.An Thorsten Lockert Aq tholo@sigmasoft.com +.Sh バグ +戻されるキーは、デバイスのマイナ番号、および +.Fa path +が指すファイルの inode 番号に基づき、 +.Fa id +の下位 8 ビットと組み合わせて算出されます。 +このため、このルーチンは重複したキーを戻す可能性があります。 +.\"X kuma 1999-11-6 diff --git a/ja_JP.eucJP/man/man3/ftpio.3 b/ja_JP.eucJP/man/man3/ftpio.3 new file mode 100644 index 0000000000..8046e45926 --- /dev/null +++ b/ja_JP.eucJP/man/man3/ftpio.3 @@ -0,0 +1,228 @@ +.\" Copyright (c) 1996 Jordan Hubbard (jkh@FreeBSD.org) +.\" 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 JORDAN HUBBARD ``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. +.\" +.\" $Id: ftpio.3,v 1.1.1.1 1999-12-09 16:26:04 kuriyama Exp $ +.\" +.Dd June 17, 1996 +.Dt ftpio 3 +.Os +.Sh 名称 +.Nm ftpLogin , +.Nm ftpChdir , +.Nm ftpErrno , +.Nm ftpGetModtime , +.Nm ftpGetSize , +.Nm ftpGet , +.Nm ftpPut , +.Nm ftpBinary , +.Nm ftpPassive , +.Nm ftpVerbose , +.Nm ftpGetURL , +.Nm ftpPutURL +.Nd FTPIO ユーザライブラリ +.Sh 書式 +.Fd #include +.Ft FILE * +.Fn ftpLogin "char *host" "char *user" "char *passwd" "int ftp_port" "int verbose" "int *retcode" +.Ft int +.Fn ftpChdir "FILE *stream, char *dirname" +.Ft int +.Fn ftpErrno "FILE *stream" +.Ft const char * +.Fn ftpErrString "int errno" +.Ft time_t +.Fn ftpGetModtime "FILE *stream, char *file" +.Ft off_t +.Fn ftpGetSize "FILE *stream, char *file" +.Ft FILE * +.Fn ftpGet "FILE *stream, char *file, off_t *seekto" +.Ft FILE * +.Fn ftpPut "FILE *stream, char *file" +.Ft int +.Fn ftpAscii "FILE *stream" +.Ft int +.Fn ftpBinary "FILE *stream" +.Ft int +.Fn ftpPassive "FILE *stream, int status" +.Ft void +.Fn ftpVerbose "FILE *stream, int status" +.Ft FILE * +.Fn ftpGetURL "char *url, char *user, char *passwd, int *retcode" +.Ft FILE * +.Fn ftpPutURL "char *url, char *user, char *passwd, int *retcode" + +.Sh 解説 +この関数は、FTP コネクションを管理するための +高レベルなライブラリを実装します。 +.Pp +.Fn ftpLogin +は、指定された +.Fa user , +.Fa passwd , +.Fa ftp_port +(0 を渡した場合、標準 FTP ポートの 21 がデフォルトで +.Fa ftp_port +になる), +.Fa verbose +フィールドを +使用してログインしようとします。ログインに成功すれば、標準的な +ストリーム記述子が戻されます。この記述子は、後の FTP オペレーションに +渡してください。エラーが発生した場合は NULL が戻され、 +.Fa retcode +には、外部サーバが戻すエラーコードが入ります。 +.Pp +.Fn ftpChdir +は、サーバの CD コマンドを出し、 +.Fa dir +で指定された +ディレクトリに変更しようとします。問題がなければゼロが戻されます。 +問題がある場合は、サーバのエラーコードが戻されます。 +.Pp +.Fn ftpErrno +は、最後のオペレーションのサーバエラーコードを戻します。 +FTP のエラーコードに精通している場合は、エラーの原因の確認に有益です。 +.Fn ftpErrString +は、人間が判読できるサーバエラーコードを戻します。 +.Pp +.Fn ftpGet +は、 +.Fa file +引数が指定するファイルを取り出し (FTP サーバのカレントディレクトリ +からの相対パスと想定される。 +.Fn ftpChdir +参照)、そのファイルのための新しい FILE* ポインタを戻します。 +エラーが発生した場合は NULL を戻します。 +.Fa seekto +が NULL ではない場合、これが指す整数の内容は、ファイルの再開ポイント +として使用されます。つまり、戻されたストリームは、ファイルの +.Fa *seekto +バイトを指しているということです。これは、エラーで失敗した転送を +効率的に再開する際に便利です。シーク操作がエラーになった場合、 +.Fa *seekto +の値はゼロになります。 +.Pp +.Fn ftpGetModtime +は、 +.Fa file +引数が指定するファイルの最終修正時刻を +戻します。ファイルをオープンできない場合は 0 が戻されます。 +.Pp +.Fn ftpGetSize +は、 +.Fa file +引数が指定するファイルのサイズをバイト単位で +戻します。ファイルをオープンできない場合は -1 が戻されます。 +.Pp +.Fn ftpPut +は、 +.Fa file +引数が指定する新しいファイルを作成し +(FTP サーバのカレントディレクトリからの相対パスと想定される。 +.Fn ftpChdir +参照)、ファイルの新しい +.Fa stream +ポインタを戻します。エラーが発生した場合は NULL を戻します。 +.Pp +.Fn ftpAscii +は、 +.Fa stream +が指定する現行サーバのコネクションに +ASCII モードを設定します。 +.Pp +.Fn ftpBinary +は、 +.Fa stream +が指定する現行サーバのコネクションに +バイナリモードを設定します。 +.Pp +.Fn ftpPassive +は、 +.Fa stream +が指定する現在のサーバのコネクションのパッシブモード +(ファイアウォール用)を論理値 +.Fa status +に設定します。 +.Pp +.Fn ftpVerbose +は、 +.Fa stream +が指定する現在のサーバのコネクションの冗長モードを論理値 +.Fa status +に設定します。 +.Pp +.Fn ftpGetURL +は、 +.Fa URL +が指定するファイルを取り出します。これは、 +サーバの +.Fa stream +が戻されないこと除けば、 +.Fn ftpLogin , +.Fn ftpChdir , +.Fn ftpGet +を組み合わせた操作と同じとみなすことができます。 +サーバとのコネクションは、ファイルが完全に読み込まれた時点で +クローズされます。複数のファイルを取り出す場合は、低レベルのルーチン +を使用してください。この方がはるかに効率的です。 +.Pp +.Fn ftpPutURL +は、 +.Fa URL +が指定するファイルを作成します。これは、 +サーバの +.Fa stream +が戻されないことを除けば、 +.Fn ftpLogin , +.Fn ftpChdir , +.Fn ftpPut +を組み合わせた操作と同じとみなすことができます。 +サーバとのコネクションは、ファイルが完全に書き込まれた時点で +クローズされます。複数のファイルを作成する場合は、低レベルのルーチン +を使用してください。この方がはるかに効率的です。 +.Sh 環境変数 +.Bl -tag -width FTP_PASSIVE_MODE -offset 123 +.It Ev FTP_TIMEOUT +.Tn FTP +接続を異常終了させる前に、通信相手からの応答を待つ最大時間 +(秒単位) です。 +.It Ev FTP_PASSIVE_MODE +パッシブモード +.Tn FTP +を強制的に使用します。 +.El +.Sh バグ +こいつを徹底的に使い込むと、内部状態マシンを混乱させてしまう可能性が +ありますが、私がテストした限りでは、非常に丈夫に作られていることが +確かめてあります。 +.Pp +.Sh 歴史 +Poul-Henning Kamp のシステムインストレーションユーティリティ用 +ftp ドライバとして始まり、Jordan Hubbard が、stdio の拡張という +より一般的な形式に変更しました。 +Jean-Marc Zucconi のアイデアと拡張機能もいくつか盛り込まれています。 +.Sh 作者 +.An Jordan Hubbard , +.An Poul-Henning Kamp , +.An Jean-Marc Zucconi +.\"X kuma 1999-11-6 diff --git a/ja_JP.eucJP/man/man3/fts.3 b/ja_JP.eucJP/man/man3/fts.3 new file mode 100644 index 0000000000..4416e8054a --- /dev/null +++ b/ja_JP.eucJP/man/man3/fts.3 @@ -0,0 +1,704 @@ +.\" Copyright (c) 1989, 1991, 1993, 1994 +.\" 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. +.\" +.\" @(#)fts.3 8.5 (Berkeley) 4/16/94 +.\" $Id: fts.3,v 1.1.1.1 1999-12-09 16:26:04 kuriyama Exp $ +.\" +.Dd April 16, 1994 +.Dt FTS 3 +.Os +.Sh 名称 +.Nm fts +.Nd ファイルの階層を横断する +.Sh 書式 +.Fd #include +.Fd #include +.Fd #include +.Ft FTS * +.Fn fts_open "char * const *path_argv" "int options" "int (*compar)(const FTSENT **, const FTSENT **)" +.Ft FTSENT * +.Fn fts_read "FTS *ftsp" +.Ft FTSENT * +.Fn fts_children "FTS *ftsp" "int options" +.Ft int +.Fn fts_set "FTS *ftsp" "FTSENT *f" "int options" +.Ft int +.Fn fts_close "FTS *ftsp" +.Sh 解説 +.Nm fts +は、 +.Tn UNIX +ファイル階層を横断するための関数です。簡単に説明すると、 +.Fn fts_open +関数はファイル階層の「ハンドル」を戻します。このハンドルは、その他の +.Nm fts +関数に指定できます。 +.Fn fts_read +関数は、ファイル階層の 1 つのファイルを表す構造体のポインタを戻します。 +.Fn fts_children +関数は、構造体のリンクリストへのポインタを戻します。各構造体は、 +その階層のあるディレクトリに含まれるファイル 1 つを表します。 +一般に、ディレクトリは、正順 (いずれの子にアクセスする前) と +逆順 (すべての子にアクセスした後) の 2 回アクセスされます。 +ファイルは 1 回アクセスされます。 +シンボリックリンクを無視した、階層への「論理的な」アクセス、 +シンボリックリンクをたどる、階層への物理的なアクセス、 +階層へのアクセス命令、階層の一部の切り離しや再アクセスが可能です。 +.Pp +インクルードファイル +.Aq Pa fts.h +には、2 つの構造体が定義されて (かつ、typedef 型定義もされて) います。 +1 つは、ファイル階層そのものを表す構造体 +.Fa FTS +です。もう 1 つは、ファイル階層のファイル一つを表す構造体 +.Fa FTSENT +です。通常は、ファイル階層のファイルすべてについて、構造体 +.Fa FTSENT +が一つ戻されます。このマニュアルページでは、 +.Dq ファイル +と +.Dq Fa FTSENT No 構造体 +は、ほぼ同じ意味を持ちます。 +.Fa FTSENT +構造体には、少なくとも以下に示すフィールドを含みます。それぞれの +フィールドについては、後で詳しく説明します。 +.Bd -literal +typedef struct _ftsent { + u_short fts_info; /* flags for FTSENT structure */ + char *fts_accpath; /* access path */ + char *fts_path; /* root path */ + short fts_pathlen; /* strlen(fts_path) */ + char *fts_name; /* file name */ + short fts_namelen; /* strlen(fts_name) */ + short fts_level; /* depth (\-1 to N) */ + int fts_errno; /* file errno */ + long fts_number; /* local numeric value */ + void *fts_pointer; /* local address value */ + struct ftsent *fts_parent; /* parent directory */ + struct ftsent *fts_link; /* next file structure */ + struct ftsent *fts_cycle; /* cycle structure */ + struct stat *fts_statp; /* stat(2) information */ +} FTSENT; +.Ed +.Pp +これらのフィールドは、以下のように定義されています。 +.Bl -tag -width "fts_namelen" +.It Fa fts_info +戻された +.Fa FTSENT +構造体とそれが表すファイルを記述します。以下のうち 1 つの値を取ります。 +エラーのないディレクトリ +.Pq Dv FTS_D +を除けば、すべてのエントリは終端です。つまり、再アクセスされることは +なく、子がアクセスされることもありません。 +.Bl -tag -width FTS_DEFAULT +.It Dv FTS_D +正順でアクセスされるディレクトリです。 +.It Dv FTS_DC +ツリーでの循環の原因となるディレクトリです。 +( +.Fa FTSENT +構造体の +.Fa fts_cycle +フィールドにも同様にこの情報が入ります。) +.It Dv FTS_DEFAULT +他のどの +.Fa fts_info +の値でも明確に表さないファイルタイプを表す +.Fa FTSENT +構造体です。 +.It Dv FTS_DNR +読み込めないディレクトリです。これはエラーリターンで、 +.Fa fts_errno +フィールドにエラーの原因を表す値が設定されます。 +.It Dv FTS_DOT +.Fn fts_open +にファイル名として指定されていない、 +.Ql \&. +や、 +.Ql .. +という名前を持つファイルです ( +.Dv FTS_SEEDOT +を参照)。 +.It Dv FTS_DP +逆順でアクセスされるディレクトリです。 +正順 (つまり、 +.Fa fts_info +フィールドに +.Dv FTS_D +が設定された場合) で戻ってきた時は、 +.Fa FTSENT +構造体の内容は変更されていません。 +.It Dv FTS_ERR +これはエラーリターンであり、 +.Fa fts_errno +フィールドにエラーの原因が設定されます。 +.It Dv FTS_F +通常ファイルです。 +.It Dv FTS_NS +.Xr stat 2 +で情報が取得できないファイルです。 +.Fa fts_statp +フィールドの内容は未定義になります。これはエラーリターンであり、 +.Fa fts_errno +フィールドにエラーの原因を表す値が設定されます。 +.It Dv FTS_NSOK +.Xr stat 2 +での情報取得を要求しないファイルです。 +.Fa fts_statp +フィールドの内容は不定になります。 +.It Dv FTS_SL +シンボリックリンクです。 +.It Dv FTS_SLNONE +ターゲットが存在しないシンボリックリンクです。 +.Fa fts_statp +フィールドの内容は、そのシンボリックリンク自体の +ファイル特性情報を参照します。 +.El +.It Fa fts_accpath +カレントディレクトリからファイルにアクセスするためのパスです。 +.It Fa fts_path +横断のルートからの、ファイルの相対パスです。このパスには、 +.Fn fts_open +に指定したパスが接頭語として含まれます。 +.It Fa fts_pathlen +.Fa fts_path +が参照する文字列の長さです。 +.It Fa fts_name +ファイルの名前です。 +.It Fa fts_namelen +.Fa fts_name +が参照する文字列の長さです。 +.It Fa fts_level +このファイルが見つかった場所の、この横断における深さです。この深さは \-1 +から N までの番号が付けられます。横断の開始点の親 (またはルート) を表す +.Fa FTSENT +構造体には、番号 \-1 が付されます。 +ルートの +.Fa FTSENT +構造体には、番号 0 が付されます。 +.It Fa fts_errno +関数 +.Fn fts_children +もしくは +.Fn fts_read +が構造体 +.Fa FTSENT +を戻すに際し、 +.Fa fts_info +フィールドに +.Dv FTS_DNR , +.Dv FTS_ERR , +.Dv FTS_NS +のいずれかが設定された状態の場合は、 +.Fa fts_errno +フィールドは、エラーの原因を示す外部変数 +.Va errno +の値を含みます。その他の場合、 +.Fa fts_errno +フィールドの内容は未定義です。 +.It Fa fts_number +このフィールドは、アプリケーションプログラムで +使用するためのもので、 +.Nm fts +関数群はこのフィールドを変更しません。このフィールドは +0 で初期化されています。 +.It Fa fts_pointer +このフィールドは、アプリケーションプログラムで使用するためのもので、 +.Nm fts +関数群はこのフィールドを修正しません。このフィールドは +.Dv NULL +で初期化されています。 +.It Fa fts_parent +このファイルがメンバとなっているディレクトリのように、現在着目している +ファイルのすぐ上の階層にあるファイルを参照する +.Fa FTSENT +構造体のポインタです。初期エントリポイントの親構造体も提供されますが、 +.Fa fts_level +フィールド、 +.Fa fts_number +フィールド、 +.Fa fts_pointer +フィールドの初期化しか保証されません。 +.It Fa fts_link +.Fn fts_children +関数から戻ると、 +.Fa fts_link +フィールドは、ディレクトリのメンバを表す、ナル終端されたリンクリスト +の中の次の構造体を指します。その他の場合、 +.Fa fts_link +フィールドの内容は未定義です。 +.It Fa fts_cycle +ディレクトリ 2 つの間のハードリンクや、ディレクトリを指す +シンボリックリンクにより、あるディレクトリが階層構造の中で循環の +原因となっている場合 ( +.Dv FTS_DC +参照)、この構造体の +.Fa fts_cycle +フィールドは、この階層構造の中で、 +現在の +.Fa FTSENT +構造体と同じファイルを参照する +.Fa FTSENT +構造体を指します。その他の場合、 +.Fa fts_cycle +フィールドの内容は未定義です。 +.It Fa fts_statp +ファイルの +.Xr stat 2 +の情報を指すポインタです。 +.El +.Pp +ファイル階層にある全ファイルのすべてのパスに対し、1 つのバッファを +使用します。このため、 +.Fa fts_path +フィールドと +.Fa fts_accpath +フィールドは、 +.Dv NUL Ns 終端されている +ことが保証されるのは、 +.Fn fts_read +が最後に戻したファイル +.Em のみ +です。他の +.Fa FTSENT +構造体が表すファイルを参照するために、この +フィールドを使用するためには、その +.Fa FTSENT +構造体の +.Fa fts_pathlen +フィールドに含まれる情報でパスバッファを +修正する必要があります。 +.Fn fts_read +をさらに呼び出す前に、 +このような修正を元に戻しておく必要があります。 +.Fa fts_name +フィールドは、常に +.Dv NUL Ns 終端されています。 +.Sh FTS_OPEN +関数 +.Fn fts_open +は、横断対象の論理ファイル階層を構成する +1 つ以上のパスを +指定する文字型ポインタの配列を指すポインタを取ります。配列は、 +.Dv NULL +ポインタで終わっている必要があります。 +.Pp +数多くのオプションがありますが、最低でも次のうち 1 つ ( +.Dv FTS_LOGICAL +か +.Dv FTS_PHYSICAL ) +を指定する必要があります。オプションは、以下の値の論理和を +取ることで選択されます。 +.Bl -tag -width "FTS_PHYSICAL" +.It Dv FTS_COMFOLLOW +このオプションを指定すると、 +.Dv FTS_LOGICAL +が指定されているかどうかに関わらず、ルートパスとして指定された +シンボリックリンクがすぐにたどられます。 +.It Dv FTS_LOGICAL +このオプションを指定すると、 +.Nm fts +ルーチンは、シンボリックリンクそのものではなく、 +シンボリックリンクのターゲットの +.Fa FTSENT +構造体を戻すようになります。このオプションを設定すると、 +アプリケーションに戻される +.Fa FTSENT +構造体が指すシンボリックリンクは、存在しないファイルを +参照するものだけになります。 +.Fn fts_open +関数には、 +.Dv FTS_LOGICAL +か +.Dv FTS_PHYSICAL +を指定する必要があります。 +.It Dv FTS_NOCHDIR +パフォーマンスを最適化するため、 +.Nm fts +関数は、ファイル階層のアクセス中に +カレントディレクトリを変更します。これには、横断中にどのディレクトリ +にいるかがアプリケーションで特定できないという副作用があります。 +.Dv FTS_NOCHDIR +オプションはこの最適化を無効にするので、 +.Nm fts +関数はカレントディレクトリを変更しなくなります。 +.Dv FTS_NOCHDIR +を指定していない、もしくは、 +.Fn fts_open +に絶対パス名を引数として指定していない場合は、アプリケーションで +カレントディレクトリを変更したり、ファイルにアクセスしたり +しないでください。 +.It Dv FTS_NOSTAT +デフォルトでは、戻される +.Fa FTSENT +構造体は、アクセスしたファイルそれぞれについて +ファイル特性情報 ( +.Fa statp +フィールド) を参照しています。このオプションは、パフォーマンスを +最適化するためにこの要件を緩和し、 +.Nm fts +関数が +.Fa fts_info +フィールドに +.Dv FTS_NSOK +を設定して、 +.Fa statp +フィールドの内容を未定義のままにすることを許可します。 +.It Dv FTS_PHYSICAL +このオプションを指定すると、 +.Nm fts +ルーチンは、シンボリックリンクが指すターゲットファイルではなく、 +シンボリックリンク自体の +.Fa FTSENT +構造体を戻すようになります。このオプションを設定すると、 +階層に存在するすべてのシンボリックリンクの +.Fa FTSENT +構造体がアプリケーションに戻されます。 +.Fn fts_open +関数には、 +.Dv FTS_LOGICAL +か +.Dv FTS_PHYSICAL +を指定する必要があります。 +.It Dv FTS_SEEDOT +デフォルトでは、 +.Fn fts_open +のパス引数として指定しない限り、ファイル階層に存在する、 +.Ql \&. +もしくは、 +.Ql .. +という名前のファイルは無視されます。このオプションを指定することにより、 +.Nm fts +ルーチンは、このような +ファイルの +.Fa FTSENT +構造体を戻すようになります。 +.It Dv FTS_XDEV +このオプションを指定すると、 +.Nm fts +は、下降を始めたファイルと +異なるデバイス番号を持つディレクトリに下降しません。 +.El +.Pp +引数 +.Fn compar +は、階層横断の順序決めに使用されるユーザ定義関数を +指定します。この関数は、 +.Fa FTSENT +構造体のポインタを指す 2 つのポインタを +引数として取り、最初の引数が参照するファイルが、2 番目の引数が +参照するファイルより前に来るか、前でも後ろでもどちらでも構わないか、 +後ろに来るかによって、それぞれ負の値、ゼロ、正の値を戻さねばなりません。 +この比較では、 +.Fa FTSENT +構造体の +.Fa fts_accpath , +.Fa fts_path , +.Fa fts_pathlen +フィールドを +.Em 絶対に +使用してはいけません。 +.Fa fts_info +フィールドに +.Dv FTS_NS +か +.Dv FTS_NSOK +が設定されている場合、 +.Fa fts_statp +フィールドも使用してはなりません。 +引数 +.Fn compar +が +.Dv NULL +である場合、ディレクトリ横断順序は、ルートパスでは +.Fa path_argv +でリストされる順序に、その +他すべての場所では、ディレクトリでリストされている順序になります。 +.Sh FTS_READ +.Fn fts_read +関数は、階層のファイルを表す +.Fa FTSENT +構造体のポインタを戻します。ディレクトリ +(読込み可能で循環の原因とならないもの) は、正順探索時に 1 回と +逆順探索時に 1 回、少なくとも 2 回アクセスされます。 +その他すべてのファイルは、最低 1 回アクセスされます。 +(ディレクトリ間のハードリンクで循環の原因とならないもの、 +またはシンボリックリンクに対するシンボリックリンクは、ファイルの場合、 +1 回以上アクセスされる原因となり、ディレクトリの場合、 +2 回以上アクセスされたりする原因となることがあります。) +.Pp +階層のすべてのメンバが戻されると、 +.Fn fts_read +は +.Dv NULL +を戻し、外部変数 +.Va errno +に +0 を設定します。階層中のファイルと無関係なエラーが発生すると、 +.Fn fts_read +は +.Dv NULL +を戻し、 +.Va errno +に適切な値を設定します。戻されるファイルに +関係するエラーが発生すると、 +.Fa FTSENT +構造体のポインタが戻され、 +.Va errno +は設定されたり設定されなかったりします ( +.Fa fts_info +参照)。 +.Pp +.Fn fts_read +が戻す +.Fa FTSENT +構造体は、同じファイル階層ストリームに対して +.Fn fts_close +を呼び出した後、もしくは、 +その構造体がディレクトリ型ファイルを表していない場合に +同じファイル階層ストリームに対して +.Fn fts_read +を呼び出した後、上書きされることがあります。 +どちらの場合でも、逆順探索の際に +.Fn fts_read +が +.Fa FTSENT +を返した後に +.Fn fts_read +を呼び出すまでは、 +.Fa FTSENT +構造体は上書きされません。 +.Sh FTS_CHILDREN +関数 +.Fn fts_children +は、 +.Fn fts_read +が最近戻した +.Fa FTSENT +構造体が表す +ディレクトリのファイルの +NULL で終わるリンクリストの最初のエントリである +.Fa FTSENT +構造体のポインタを戻します。リストは、 +.Fa FTSENT +構造体の +.Fa fts_link +フィールドでリンクされ、ユーザ定義比較関数がある場合は、それで +順序付けられます。 +.Fn fts_children +を繰り返し呼び出すと、このリンクリストは +そのたびに再作成されます。 +.Pp +特別な場合として、その階層で +.Fn fts_read +がまだ呼び出されていない場合、 +.Fn fts_children +は、 +.Fn fts_open +に指定された +論理ディレクトリにあるファイル (すなわち、 +.Fn ftp_open +に指定された引数) を指すポインタを戻します。 +.Fn fts_read +がすでに呼び出されているときに、 +.Fn fts_read +が最近戻した +.Fa FTSENT +構造体が、正順探索でアクセスされたディレクトリでないか、 +ディレクトリにファイルが含まれていない場合、 +.Fn fts_children +は +.Dv NULL +を戻し、 +.Va errno +にゼロを設定します。エラーが発生すると、 +.Fn fts_children +は +.Dv NULL +を戻し、 +.Va errno +に適切な値を設定します。 +.Pp +.Fn fts_children +が戻す +.Fa FTSENT +構造体は、同じファイル階層ストリームを +使用した +.Fn fts_children , +.Fn fts_close , +.Fn fts_read +の呼び出しの後、 +上書きされることがあります。 +.Pp +.Em option +には、以下の値を設定できます。 +.Bl -tag -width FTS_NAMEONLY +.It Dv FTS_NAMEONLY +ファイルの名前だけが必要であることを示します。戻された構造体の +リンクリストに存在するすべてのフィールドの内容は、 +.Fa fts_name +フィールドと +.Fa fts_namelen +フィールドを除いて未定義になります。 +.El +.Sh FTS_SET +関数 +.Fn fts_set +により、ストリーム +.Fa ftsp +のファイル +.Fa f +に対して、さらに行なう処理を +ユーザアプリケーションが決めることができます。 +.Fn fts_set +関数は、問題がなければ +0 を戻し、エラーが発生した場合は \-1 を戻します。 +.Em option +として、以下のうちの 1 つの値を +設定する必要があります。 +.Bl -tag -width FTS_PHYSICAL +.It Dv FTS_AGAIN +ファイルを再アクセスします。どのようなファイルタイプのファイルも +再アクセスされる可能性があります。その次に +.Fn fts_read +を呼び出すことで、参照されたファイルが戻されます。そのとき、構造体の +.Fa fts_stat +フィールドと +.Fa fts_info +フィールドが再び初期化されますが、その他のフィールドは変更されません。 +このオプションは、 +.Fn fts_read +が最近戻したファイルに対してのみ意味を持ちます。通常の場合は逆順 +ディレクトリアクセスに使用します。この場合はディレクトリが正順と逆順の +両方で再アクセスされ、その子すべても再アクセスされます。 +.It Dv FTS_FOLLOW +参照するファイルは、シンボリックリンクである必要があります。 +参照するファイルが、 +.Fn fts_read +で最近戻されたものである場合、次に +.Fn fts_read +を呼び出すと、 +.Fa fts_info +フィールドと +.Fa fts_statp +フィールドが +初期化され、シンボリックリンク自体ではなくシンボリックリンクのターゲットを +指した状態でファイルが戻されます。ファイルが +.Fn fts_children +で最近戻されたものである場合、構造体の +.Fa fts_info +フィールドと +.Fa fts_statp +フィールドは、 +.Fn fts_read +で戻されると、シンボリックリンク自体ではなく +シンボリックリンクのターゲットを反映します。どちらの場合でも、 +シンボリックリンクのターゲットが存在しなければ、戻される構造体のフィールド +は変更されず、 +.Fa fts_info +フィールドは +.Dv FTS_SLNONE +に設定されます。 +.Pp +リンクのターゲットがディレクトリである場合は、正順探索でのリターン、 +すべての子孫のリターン、逆順探索のリターンがこの順序で実行されます。 +.It Dv FTS_SKIP +このファイルの子はアクセスされません。ここで指定するファイルとして、 +.Fn fts_children +か +.Fn fts_read +が最近戻したものどちらかが可能です。 +.El +.Sh FTS_CLOSE +関数 +.Fn fts_close +は、ファイル階層ストリーム +.Fa ftsp +を閉じ、カレントディレクトリを、 +.Fn fts_open +を呼び出した時のディレクトリに戻します。 +.Fn fts_close +関数は、エラーがなければ 0 を戻し、エラーが発生した場合は -1 を戻します。 +.Sh エラー +.Fn fts_open +関数の実行が失敗しエラーになると、ライブラリ関数 +.Xr open 2 +と +.Xr malloc 3 +で指定されたエラーが +.Va errno +に設定されることがあります。 +.Pp +.Fn fts_close +関数がエラーになると、ライブラリ関数 +.Xr chdir 2 +と +.Xr close 2 +が指定したエラーが +.Va errno +設定されることがあります。 +.Pp +.Fn fts_read +関数と +.Fn fts_children +関数がエラーになると、ライブラリ関数 +.Xr chdir 2 , +.Xr malloc 3 , +.Xr opendir 3 , +.Xr readdir 3 , +.Xr stat 2 +で指定されたエラーが +.Va errno +に設定されることがあります。 +.Pp +.Fn fts_children , +.Fn fts_open , +.Fn fts_set +がエラーになると、以下のように +.Va errno +を設定します。 +.Bl -tag -width Er +.It Bq Er EINVAL +オプションが正しくありません。 +.El +.Sh 関連項目 +.Xr find 1 , +.Xr chdir 2 , +.Xr stat 2 , +.Xr qsort 3 +.Pp +.Sh 規格 +.Nm fts +ユーティリティは、将来、 +.St -p1003.1-88 +リビジョンに組み込まれると思われます。 +.\"X kuma 99-10-21 diff --git a/ja_JP.eucJP/man/man3/funopen.3 b/ja_JP.eucJP/man/man3/funopen.3 new file mode 100644 index 0000000000..9486eb9778 --- /dev/null +++ b/ja_JP.eucJP/man/man3/funopen.3 @@ -0,0 +1,157 @@ +.\" Copyright (c) 1990, 1991, 1993 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" This code is derived from software contributed to Berkeley by +.\" Chris Torek. +.\" 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. +.\" +.\" @(#)funopen.3 8.1 (Berkeley) 6/9/93 +.\" +.Dd June 9, 1993 +.Dt FUNOPEN 3 +.Os +.Sh 名称 +.Nm funopen , +.Nm fropen , +.Nm fwopen +.Nd ストリームのオープン +.Sh 書式 +.Fd #include +.Ft FILE * +.Fn funopen "const void *cookie" "int (*readfn)(void *, char *, int)" "int (*writefn)(void *, const char *, int)" "fpos_t (*seekfn)(void *, fpos_t, int)" "int (*closefn)(void *)" +.Ft FILE * +.Fn fropen "void *cookie" "int (*readfn)(void *, char *, int)" +.Ft FILE * +.Fn fwopen "void *cookie" "int (*writefn)(void *, const char *, int)" +.Sh 解説 +.Fn funopen +関数は、最大 +4 つの「 +.Tn I/O +機能」にストリームを関連付けます。 +.Fa readfn +か +.Fa writefn +を指定してください。適切に入力した +Null +ポインタとして、その他を指定することもできます。この +.Tn I/O +機能は、新しいストリームの読込み、書込み、シーク、クローズに使用されます。 +.Pp +一般的に、機能を省略すると、作成されたストリームでの関連オペレーション +の実行がエラーになります。クローズ機能を省略した場合、ストリームを閉じ +ると、バッファの出力がフラッシュされて問題なく終了します。 +.Pp +.Fa readfn , +.Fa writefn , +.Fa seekfn , +.Fa closefn +の呼び出し規則は、それぞれ +.Xr read 2 , +.Xr write 2 , +.Xr seek 2 , +.Xr close 2 +のものと同じですが、従来のファイル記述子引数の場所で、 +.Fn funopen +に指定された +.Fa cookie +引数が渡されるという違いがあります。 +.Pp +読込み +.Tn I/O +機能と書込み +.Tn I/O +機能では、 +.Xr setvbuf 3 +を呼び出せば、完全にバッファ化されたストリームかラインでバッファ化され +たストリームで基礎となるバッファを変更できます。バッファに完全に情報を +入力したり、バッファを完全に空にしたりする必要はありません。しかし、バッ +ファ化されていないストリームからバッファ化されたストリームに変更したり、 +ラインバッファリングフラグの状態を変更したりすることはできません。また、 +最近指定されたもの以外で、バッファでの読込み呼び出しや書込み呼び出しの +準備をする必要があります。 +.Pp +すべてのユーザ +.Tn I/O +機能は、\-1 を戻すことでエラーを報告します。エラーが発生した場合、すべ +ての機能は外部変数 +.Va errno +を適切に設定する必要があります。 +.Pp +.Fn closefn +でエラーが発生すると、ストリームは閉じます。 +.Pp +便宜を図るため、インクルードファイル +.Aq Pa stdio.h +では、読込み機能か書込み機能だけを指定した +.Fn funopen +呼び出しのようなマクロ +.Fn fropen +と +.Fn fwopen +が定義されています。 +.Sh 戻り値 +問題なく終了すると、 +.Fn funopen +は +.Dv FILE +ポインタを戻します。問題がある場合は +.Dv Null +が戻され、そのエラーを示す値にグローバル変数 +.Va errno +が設定されます。 +.Sh エラー +.Bl -tag -width [EINVAL] +.It Bq Er EINVAL +.Fn funopen +関数が、読込み機能か書込み機能なしで呼び出されました。 +.Fn funopen +関数がエラーになると、ルーチン +.Xr malloc 3 +に指定されたエラーに +.Va errno +が設定されることもあります。 +.El +.Sh 関連項目 +.Xr fcntl 2 , +.Xr open 2 , +.Xr fclose 3 , +.Xr fopen 3 , +.Xr fseek 3 , +.Xr setbuf 3 +.Sh 歴史 +.Fn funopen +関数は、 +.Bx 4.4 +に追加されました。 +.Sh バグ +.Fn funopen +関数は、 +.Bx +以外のシステムに移植できないことがあります。 diff --git a/ja_JP.eucJP/man/man3/getbootfile.3 b/ja_JP.eucJP/man/man3/getbootfile.3 new file mode 100644 index 0000000000..92e0c78efb --- /dev/null +++ b/ja_JP.eucJP/man/man3/getbootfile.3 @@ -0,0 +1,69 @@ +.\" Copyright (c) 1983, 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. +.\" +.\" From: @(#)gethostname.3 8.1 (Berkeley) 6/4/93 +.\" $Id: getbootfile.3,v 1.1.1.1 1999-12-09 16:26:04 kuriyama Exp $ +.\" +.Dd September 23, 1994 +.Dt GETBOOTFILE 3 +.Os +.Sh 名称 +.Nm getbootfile +.Nd カーネル起動ファイル名を取得 +.Sh 書式 +.Fd #include +.Ft const char * +.Fn getbootfile void +.Sh 解説 +.Fn getbootfile +関数は、現在のカーネルがロードされたファイルのフルパス名を取り出し、そ +の静的ポインタを返します。この情報の読み込み/書き込みインタフェースは、 +.Xr sysctl 3 +MIB 変数 +.Dq Li kern.bootfile +によって利用できます。 +.Sh 戻り値 +呼び出しが成功した場合はパス名を与えるストリングが返ります。失敗した場合は +null ポインタが返り、エラーコードがグローバルな位置の +.Va errno +に置かれます。 +.Sh 関連項目 +.Xr sysctl 3 +.Sh バグ +起動時のカーネルにこの情報を渡すように、起動ブロックが修正されていない +場合は、実際の起動ファイル名の代わりに静的ストリング +.Dq Pa /kernel +が返ります。 +.Sh 歴史 +.Fn getbootfile +関数呼び出しは +.Fx 2.0 +で最初に登場しました。 diff --git a/ja_JP.eucJP/man/man3/getbsize.3 b/ja_JP.eucJP/man/man3/getbsize.3 new file mode 100644 index 0000000000..14f8b810d3 --- /dev/null +++ b/ja_JP.eucJP/man/man3/getbsize.3 @@ -0,0 +1,75 @@ +.\" 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. +.\" +.\" @(#)getbsize.3 8.1 (Berkeley) 6/4/93 +.\" +.Dd June 4, 1993 +.Dt GETBSIZE 3 +.Os BSD 4.4 +.Sh 名称 +.Nm getbsize +.Nd ユーザブロックサイズを取得 +.Sh 書式 +.Fd #include +.Ft char * +.Fn getbsize "int *headerlenp" "long *blocksizep" +.Sh 解説 +.Fn getbsize +関数は、ユーザが指定するブロックサイズを、環境変数 +.Dq BLOCKSIZE +の値に基づいて決定します。詳しい使用法と形式については、 +.Xr environ 7 +を参照してください。 +.Pp +.Fn getbsize +関数は、 +.Dp 1K-blocks +のようにブロックサイズを記述する、null で終わるストリングのポインタを +返します。 +.Fa headerlenp +によって参照されるメモリ +は、(終端の null を含まない)このストリングの長さによって満たされます。 +.Fa blocksizep +で参照されるメモリは、バイト数によるブロックサイズによって満たされます。 +.Pp +ユーザのブロックサイズ指定が不当な場合は、標準エラーに警告メッセージが +書かれます。返された情報は 512 バイトのブロックサイズを反映します。 +.Sh 関連項目 +.Xr df 1 , +.Xr du 1 , +.Xr ls 1 , +.Xr systat 1 , +.Xr environ 7 +.Sh 歴史 +.Fn getbsize +関数は +.Bx 4.4 +で最初に登場しました。 diff --git a/ja_JP.eucJP/man/man3/getc.3 b/ja_JP.eucJP/man/man3/getc.3 new file mode 100644 index 0000000000..353161f3e3 --- /dev/null +++ b/ja_JP.eucJP/man/man3/getc.3 @@ -0,0 +1,127 @@ +.\" Copyright (c) 1990, 1991, 1993 +.\" 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. +.\" +.\" @(#)getc.3 8.1 (Berkeley) 6/4/93 +.\" +.Dd June 4, 1993 +.Dt GETC 3 +.Os +.Sh 名称 +.Nm fgetc , +.Nm getc , +.Nm getchar , +.Nm getw +.Nd 入力ストリームから次のキャラクタまたはワードを取得 +.Sh 書式 +.Fd #include +.Ft int +.Fn fgetc "FILE *stream" +.Ft int +.Fn getc "FILE *stream" +.Ft int +.Fn getchar +.Ft int +.Fn getw "FILE *stream" +.Sh 解説 +.Fn fgetc +関数は、 +.Fa stream +で指定したストリームから、次の入力キャラクタを(それがあれば)取得するか、 +または、 +.Xr ungetc 3 +によってそのストリームにプッシュバックされた、次のキャラクタを取得します。 +.Pp +.Fn getc +関数も +.Fn fgetc +と同じ機能ですが、これはインラインで展開するマクロです。 +.Pp +.Fn getchar +関数は引数 stdin 付きの +.Fn getc +と等価です。 +.Pp +.Fn getw +関数は +.Fa stream +で指定したストリームから、次の +.Em int +を(それがあれば)取得します。 +.Sh 戻り値 +処理が無事に完了した場合、これらのルーチンはいずれも +.Fa stream +から次の要求オブジェクトを返します。ストリームがエンドオブファイルに達 +したか、または 読み込みエラーが発生した場合は +.Dv EOF +を返します。エンドオブファイルかエラーかの識別には、 +.Xr feof 3 +および +.Xr ferror 3 +ルーチンを使用する必要があります。エラーが発生した場合はグローバル変数 +.Va errno +が設定されるので、それによってエラーが識別できます。エンドオブファイル +条件は端末上であっても記憶され、以後の読み込みの試みにはすべて +.Dv EOF +が返されます。 +.Xr clearerr 3 +によってこの条件がクリアされるまで、それは続きます。 +.Sh 関連項目 +.Xr ferror 3 , +.Xr fopen 3 , +.Xr fread 3 , +.Xr putc 3 , +.Xr ungetc 3 +.Sh 規格 +.Fn fgetc , +.Fn getc +および +.Fn getchar +関数は、 +.St -ansiC +に準拠しています。 +.Sh バグ +.Dv EOF +が有効な整数値なので、 +.Fn getw +を呼び出した後のエラーをチェックするには、 +.Xr feof 3 +および +.Xr ferror 3 +を使用する必要があります。 +.Em int +のサイズとバイト順はマシンによってさまざまです。移植可能なアプリケーショ +ンが目的なら、 +.Fn getw +の使用は推奨できません。 diff --git a/ja_JP.eucJP/man/man3/getcap.3 b/ja_JP.eucJP/man/man3/getcap.3 new file mode 100644 index 0000000000..cc0c27d528 --- /dev/null +++ b/ja_JP.eucJP/man/man3/getcap.3 @@ -0,0 +1,504 @@ +.\" Copyright (c) 1992, 1993 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" This code is derived from software contributed to Berkeley by +.\" Casey Leedom of Lawrence Livermore National Laboratory. +.\" +.\" 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. +.\" +.\" @(#)getcap.3 8.4 (Berkeley) 5/13/94 +.\" +.Dd May 13, 1994 +.Dt GETCAP 3 +.Os +.Sh 名称 +.Nm cgetent , +.Nm cgetset , +.Nm cgetmatch , +.Nm cgetcap , +.Nm cgetnum , +.Nm cgetstr , +.Nm cgetustr , +.Nm cgetfirst , +.Nm cgetnext , +.Nm cgetclose +.Nd ケーパビリティデータベースにアクセスするルーチン +.Sh 書式 +.Fd #include +.Ft int +.Fn cgetent "char **buf" "char **db_array" "char *name" +.Ft int +.Fn cgetset "char *ent" +.Ft int +.Fn cgetmatch "char *buf" "char *name" +.Ft char * +.Fn cgetcap "char *buf" "char *cap" "int type" +.Ft int +.Fn cgetnum "char *buf" "char *cap" "long *num" +.Ft int +.Fn cgetstr "char *buf" "char *cap" "char **str" +.Ft int +.Fn cgetustr "char *buf" "char *cap" "char **str" +.Ft int +.Fn cgetfirst "char **buf" "char **db_array" +.Ft int +.Fn cgetnext "char **buf" "char **db_array" +.Ft int +.Fn cgetclose "void" +.Sh 解説 +.Fn cgetent +は、 +.Dv NULL +で終わるファイル配列 +.Fa db_array +で指定したデータベースから、ケーパビリティ +.Em name +を抜き出し、 +.Fa buf +内に malloc したそのコピーのポインタを返します。 +.Fn cgetent +関数は +.Dv ASCII +ファイルにアクセスする前に、まず、 +.Nm .db +で終わるファイルを探します( +.Xr cap_mkdb 1 +参照)。 +.Fa Buf +は、以後の +.Fn cgetmatch , +.Fn cgetcap , +.Fn cgetnum , +.Fn cgetstr +および +.Fn cgetustr +の呼び出しすべてを通じて保持されなければなりませんが、呼び出しの完了後は +.Xr free 3 +できます。抜き出しに成功した場合は 0が、返すレコードに未解決な +.Nm tc +拡張の含まれている場合は 1が、要求されたレコードの見付からなかった場合は +\-1 が返ります。システムエラー(ファイルがオープンできなかった/読み取れ +なかった、など)が発生した場合は +\-2 が返るとともに、 +.Va errno +が設定されます。また、潜在的な参照ループが検出された場合は +\-3 が返ります(後述の +.Ic tc= +参照)。 +.Pp +.Fn cgetset +関数は、1 つのケーパビリティレコードエントリが含まれた、キャラクタバッ +ファのケーパビリティデータベースへの追加を有効にします。 概念的には、 +このエントリが最初の ``ファイル'' としてデータベースに追加されるので、 +.Fn cgetent +の呼び出しでは最初に検索されます。エントリは +.Fa ent +に渡されますが、 +.Fa ent +が +.Dv NULL +の場合、現在のエントリはデータベースから除去されます。 +.Fn cgetset +の呼び出しは、データベースの走査に先行しなければなりません。 +.Fn cgetent +呼び出しの前に、呼び出す必要があります。シーケンシャルなアクセスを実行 +する場合は、最初のシーケンシャルアクセス呼び出し( +.Fn cgetfirst +または +.Fn cgetnext +)の前に呼び出すか、 +.Fn cgetclose +呼び出しの直後に呼び出す必要があります(後掲参照)。呼び出しに成功した場合は +0 が、失敗した場合は \-1 が返ります。 +.Pp +.Fn cgetmatch +関数は、 +.Em name +がケーパビリティレコード +.Fa buf +の名前の 1つならば 0を、そうでなければ +\-1 を返します。 +.Pp +.Fn cgetcap +関数は、タイプ +.Fa type +によってケーパビリティ +.Fa cap +を、ケーパビリティレコード +.Fa buf +で検索します。タイプは、1 つのキャラクタを使用して指定します。コロン +(`:')を使用した場合は、タイプのないケーパビリティが検索されます(後掲の +タイプの説明を参照してください)。検索が成功した場合は +.Fa buf +にある +.Fa cap +値のポインタが返ります。要求されたケーパビリティが見付からない場合は、 +.Dv NULL +が返ります。ケーパビリティ値の終わりは、 +.Ql : +または +.Tn ASCII +.Dv NUL +で示されます(後掲のケーパビリティデータベースの構文を、参照してくださ +い)。 +.Pp +.Fn cgetnum +関数は、 +.Fa buf +で示されたケーパビリティレコードから、数値ケーパビリティ +.Fa cap +の値を取り出します。この数値は +.Fa num +に示される +.Ft long +で返されます。成功した場合は 0が返ります。要求された数値ケーパビリティが +見付からない場合は \-1 が返ります。 +.Pp +.Fn cgetstr +関数は、 +.Fa buf +で示されたケーパビリティレコードから、ストリングケーパビリティ +.Fa cap +の値を取り出します。そのストリングのデコードされ、 +.Dv NUL +で終わる +.Xr malloc +されたコピーのポインタが、 +.Fa str +に示される +.Ft char * +で返されます。成功した場合は、デコードされたストリングの終端の +.Dv NUL +を含まない数が返ります。要求されたストリングケーパビリティが見付からな +い場合は \-1 が返り、システムエラー(ストレージ割り振りエラー)が発生し +た場合は \-2 が返ります。 +.Pp +.Fn cgetustr +関数は +.Fn cgetstr +と同様な機能ですが、特殊キャラクタを拡張しないで、むしろケーパビリティ +ストリングの、文字どおり各キャラクタを返すところが違います。 +.Pp +.Fn cgetfirst +および +.Fn cgetnext +関数は、ファイル名が +.Dv NULL +ポインタで終わる配列 +.Fa db_array +への、シーケンシャルなアクセスができる関数グループを構成します。 +.Fn cgetfirst +関数は、指定データベースにある最初のレコードを返し、最初のレコードへの +アクセスをリセットします。 +.Fn cgetnext +関数は、前の +.Fn cgetfirst +または +.Fn cgetnext +呼び出しによって返ったレコードの、指定データベースにある次のレコードを +返します。前の呼び出しがない場合は、指定データベースにある最初のレコー +ドを返します。各レコードは +.Fa buf +で示される +.Xt malloc +されたコピーで返り、 +.Ic tc +拡張がなされます。(後掲の +.Ic tc= +の説明を参照してください。) +データベース検索を完了して、返すレコードがない場合は 0が返ります。検索 +に成功して返すレコードがあり、さらに次のレコードの残っている可能性があ +る(データベースの終わりにまだ達していない)場合は 1が返ります。返すレコー +ドに、未解決な +.Nm tc +拡張の含まれている場合は 2が返ります。システムエラーの発生した場合は +\-1 が返ります。潜在的な参照ループが検出された場合は \-2 が返ります。 +(後掲の +.Ic tc= +の説明を参照してください。)データベースが完了した(0が返った)場合、デー +タベースはクローズされます。 +.Pp +.Fn cgetclose +関数は、シーケンシャルなアクセスをクローズし、すべてのメモリおよび使用 +されていたファイル記述子を解放します。 +.Fn cgetset +の呼び出しによってプッシュされたバッファは、消去されないことに注意して +ください。 +.Sh ケーパビリティデータベースの構文 +ケーパビリティデータベースは一般に +.Tn ASCII +です。標準のテキストエディタで編集できます。空白行および `#' で始まる +行はコメントなので無視されます。`\|\e' で終わる行は、次の行が現在の行 +の続きであることを示します。この `\|\e' および後に続く改行は無視されま +す。長い行はふつういくつかの物理行に分割され、最終行を除いて各行末に +`\|\e' が付けられます。 +.Pp +ケーパビリティデータベースは、一連のレコード(1論理行当たり1つ)によって +構成されます。各レコードには、可変数の `:' で分けられたフィールド(ケー +パビリティ)が含まれます。空白スペースキャラクタ(スペースおよびタブ)で、 +すべて構成されるフィールドは無視されます。 +.Pp +各レコードの最初のケーパビリティは、 `|' キャラクタで分けられた名前(複 +数)を指定します。取り決めによって最後の名前は常にコメントで、ルックアッ +プタグとしての意図はありません。たとえば、 +.Nm termcap +データベースの +.Em vt100 +レコードの最初は次のとおりです。 +.Pp +.Dl "d0\||\|vt100\||\|vt100-am\||\|vt100am\||\|dec vt100:" +.Pp +ここでは最初から 4つの名前が、このレコードのアクセスに使用できます。 +.Pp +残りの空白ではないケーパビリティはそれぞれ、オプションでタイプ指定値が +後に続く名前を、(名前、値)結合セットで記述します。次のとおりです。 +.Bl -column "nameTvalue" +.It 名前 Ta "タイプのない[ブール] ケーバビリティ名 [真の]" +.It name Ns Em \&T Ns value Ta 値 +.Em value +をもつケーパビリティ +.Pq Em name , \&T +.It name@ Ta +存在する非ケーパビリティ +.Em name +.It nameT@ Ta +存在しない(非在の)ケーパビリティ +.Pq Em name , \&T +.El +.Pp +名前は、1つまたは複数のキャラクタで構成されます。名前には `:' を除く +あらゆるキャラクタを含めることができますが、印刷可能キャラクタに限定し +て、 `#' 、`=' 、`%' 、`@' などのグラフィックキャラクタの使用を避ける +のが、通常は最良です。タイプは、ケーパビリティ名をそれぞれの関連タイプ +指定値から区別するのに使用される 1つのキャラクタです。`:' を除くすべて +のキャラクタが使用できますが、ふつうは `#'、`=' 、`%' 、などのグラフィッ +クキャラクタが使用されます。値は無制限な数のキャラクタで、`:' を除くす +べてのキャラクタが使用できます。 +.Sh ケーパビリティデータベースの意味論 +ケーパビリティレコードは、(名前、値)結合のセットを記述します。名前は、 +それらに結合された複数の値を持つことができます。1つの名前に対する異な +る値は、それぞれの +.Fa type +によって識別されます。 +.Fn cgetcap +関数は、ケーパビリティ名およびその値のタイプが与えられた、名前の値のポ +インタを返します。 +.Pp +タイプ `#' および `=' は慣用で、数値およびストリングタイプ指定の値を示 +しますが、これらのタイプのそうした用途限定は強制的なものではありません。 +関数 +.Fn cgetnum +および +.Fn cgetstr +によって、`#' および `=' の従来の構文および意味論が実行できます。タイ +プのないケーパビリティは、ふつう真値および偽値をそれぞれ示す存在または +非在付きの、ブールオブジェクトを示します。この解釈は簡単に次のように表 +すことができます。 +.Pp +.Dl "(getcap(buf, name, ':') != NULL)" +.Pp +特殊ケーパビリティ +.Ic tc= name +は、名前によって指定したレコードを +.Ic tc +ケーパビリティに置き換えるように指示します。 +.Ic tc +ケーパビリティは、同じく +.Ic tc +ケーパビリティが含まれたレコードを補間できます。1つのレコード内で、複数の +.Ic tc +ケーパビリティが使用できます。 +.Ic tc +の拡張範囲(すなわち引数が検索される範囲)には、 +.Ic tc +が宣言されたファイル以降の、そのファイル配列にあるすべてのファイルが含 +まれます。 +.Pp +ケーパビリティレコードをデータベースで検索する場合は、その検索で最初に +適合したレコードが返ります。ケーパビリティをレコードでスキャンする場合は、 +最初に適合したケーパビリティが返ります。ケーパビリティ +.Ic :nameT@: +は、後に続く名前のタイプ +.Em T +の値の、あらゆる定義を隠します。また、ケーパビリティ +.Ic :name@: +は、後に続く名前のあらゆる値を不可視にします。 +.Pp +.Ic tc +ケーパビリティと組み合わされたこれらの機能は、新しいケーパビリティを追 +加したり、新しい定義によってこれまでの定義を上書きしたり、または `@' +ケーパビリティによって後に続く定義を隠したりすることによって、ほかのデー +タベースまたはレコードをさまざまに変化させることができます。 +.Sh 例 +.Bd -unfilled -offset indent +example\||\|an example of binding multiple values to names:\e + :foo%bar:foo^blah:foo@:\e + :abc%xyz:abc^frap:abc$@:\e + :tc=more: +.Ed +.Pp +ケーパビリティ foo にはそれに結合された2 つの値(タイプ `%' の bar および +タイプ `^' のblah)があります。結合されたほかのすべての値は隠されています。 +ケーパビリティabc にも結合された2つの値がありますが、ケーパビリティレコード + more での定義が禁止されているのは、タイプ `$' の値だけです。 +.Pp +.Bd -unfilled -offset indent +file1: + new\||\|new_record\||\|a modification of "old":\e + :fript=bar:who-cares@:tc=old:blah:tc=extensions: +file2: + old\||\|old_record\||\|an old database record:\e + :fript=foo:who-cares:glork#200: +.Ed +.Pp +これらのレコードを抜き出す場合は、file2の前にfile1で +.Fn cgetent +を呼び出します。それによって file1 の新ケーパビリティレコード +fript=bar が、file2 の旧ケーパビリティレコードから補間された fript=foo +を上書きします。また、who-cares@ が旧レコードにあるすべての who-cares +定義を不可視にします。さらに、glork#200 が旧レコードから持ち越され、 +blah および、このレコードの拡張によって定義された一切が旧レコード内の +それら定義に追加されます。ここでは、tc=old の前に fript=bar および +who-cares@ の定義を置くことが重要です。それらの定義を tc=old の後に置 +いた場合は、旧レコードの定義が優先されます。 +.Sh CGETNUMおよびCGETSTRの構文と意味論 +.Fn cgetnum +および +.Fn cgetstr +によって定義ずみの、2つのタイプがあります。次のとおりです。 +.Bl -column "nameXnumber" +.Sm off +.It Em name No \&# Em number Ta "値" +.Em number +を持つ数値ケーパビリティ名 +.It Em name No = Em string Ta "値" +.Em string +を持つストリングケーパビリティ名 +.It Em name No \&#@ Ta "存在しない(非在)数値ケーパビリティ名" +.It Em name No \&=@ Ta "存在しない(非在)ストリングケーパビリティ名" +.El +.Pp +数値ケーパビリティ値は、3 つの基数のどれかで与えることができます。 +.Q1 0x +または +.Q1 0X +で始まる数は、16 進数として解釈されます(大文字および小文字の a-f を使っ +て16 進数の拡張桁を示すことができます)。その他の +.Q1 0 +で始まる +数字は、8 進数として解釈されます。残りの数字はすべて 10 進数として解釈 +されます。 +.Pp +ストリングケーパビリティ値には、あらゆるキャラクタを含めることができます。 +印刷可能ではない +.Dv ASCII +コード、改行コードやコロンなどが、エスケープシーケンスを使って簡単に表 +せます。次のとおりです。 +.Bl -column "\e\|X,X\e\|X" "(ASCII octal nnn)" +^X ('X' & 037) コントロール X +\e\|b, \e\|B (ASCII 010) バックスペース +\e\|t, \e\|T (ASCII 011) タブ +\e\|n, \e\|N (ASCII 012) ラインフィード(改行) +\e\|f, \e\|F (ASCII 014) フォームフィード +\e\|r, \e\|R (ASCII 015) キャリッジリターン +\e\|e, \e\|E (ASCII 027) エスケープ +\e\|c, \e\|C (:) コロン +\e\|\e (\e\|) バックスラッシュ +\e\|^ (^) キャレット +\e\|nnn (ASCII 8進数 nnn) +.El +.Pp +`\|\e の後に最大 3 桁の 8 進数を続ければ、特定キャラクタの数値コードを +直接指定することができます。ただし、エンコードは簡単でも +.Dv ASCII +.Dv NUL +を多用すると、あらゆる問題の原因となる可能性があります。 +.Dv NUL +はふつうストリングの終わりを示しますから、使用に当たっては注意が必要 +です。多くのアプリケーションで、 +.Dv NUL +を表すのに `\e\|200' が使用されています。 +.Sh 診断 +.Fn Cgetent , +.Fn cgetset , +.Fn cgetmatch , +.Fn cgetnum , +.Fn cgetstr , +.Fn cgetustr , +.Fn cgetfirst , +および +.Fn cgetnext +などは、いずれも成功した場合は 0またはそれを上回る価を返し、失敗した場 +合は 0を下回る値を返します。 +.Fn cgetcap +関数の場合は、成功するとキャラクタポインタを、失敗すると +.Dv NULL +を返します。 +.Pp +.Fn cgetent +および +.Fn cgetseq +関数の失敗では、 +.Va errno +が、ほかのライブラリ関数 +.Xr fopen 2 , +.Xr close 2 , +.Xr open 2 , +および +.Xr close 2 +などのエラーに設定される場合があります。 +.Pp +.Fn cgetent , +.Fn cgetset , +.Fn cgetstr +および +.Fn cgetustr +の失敗では、次のエラーに +.Va errno +が設定される場合があります。 +.Bl -tag -width Er +.It Bq Er ENOMEM +割り振るメモリがありません。 +.El +.Sh 関連項目 +.Pp +.Xr cap_mkdb 1 , +.Xr malloc 3 +.Sh バグ +コロン (`:') が、名前、タイプ、値に使用できません。 +.Pp +.Fn cgetent +に、 +.Ic tc=name +ループのチェックがありません。 +.Pp +.Fn cgetset +の呼び出しによってバッファをデータベースに追加することは、このデータベー +スに限りませんが、ほかの使用データベースに追加する場合は、後ではなく前 +に付加する方が無難です。 diff --git a/ja_JP.eucJP/man/man3/getcwd.3 b/ja_JP.eucJP/man/man3/getcwd.3 new file mode 100644 index 0000000000..58235f1468 --- /dev/null +++ b/ja_JP.eucJP/man/man3/getcwd.3 @@ -0,0 +1,146 @@ +.\" Copyright (c) 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. +.\" +.\" @(#)getcwd.3 8.2 (Berkeley) 12/11/93 +.\" $Id: getcwd.3,v 1.1.1.1 1999-12-09 16:26:04 kuriyama Exp $ +.\" +.Dd November 24, 1997 +.Dt GETCWD 3 +.Os BSD 4.2 +.Sh 名称 +.Nm getcwd , +.Nm getwd +.Nd 作業ディレクトリのパス名を取得 +.Sh 書式 +.Fd #include +.Ft char * +.Fn getcwd "char *buf" "size_t size" +.Ft char * +.Fn getwd "char *buf" +.Sh 解説 +.Fn getcwd +関数は、現在の作業ディレクトリの絶対パス名を +.Fa buf +で参照されるメモリにコピーし、 +.Fa buf +のポインタを返します。 +.Fa size +引数は、 +.Fa buf +で参照される配列のバイト数によるサイズです。 +.Pp +.Fa buf +が +.Dv NULL +の場合は、パス名を保存するのに必要なだけの空間が割り振られます。この空 +間は後で +.Xr free 3 +できます。 +.Pp +関数 +.Fn getwd +は +.Fn getcwd +を呼び出す互換性ルーチンです。 +.Fa buf +引数および、(インクルードファイル +.Aq Pa sys/param.h +で定義された) +.Dv MAXPATHLEN +のサイズを持ちます。 +.Fa buf +が少なくとも、 +.Dv MAXPATHLEN +バイトの長さを持たなければならないことは明らかです。 +.Pp +これらのルーチンは従来、そこへ戻るために作業ディレクトリの名前を保存す +るプログラムによって使用されてきました。これをより速く誤りなく遂行する +ものとして、カレントディレクトリ +.Pq Ql \&. +をオープンし、 +.Xr fchdir 2 +関数を使って戻る方法があります。 +.Sh 戻り値 +無事に完了した場合はパス名のポインタが返ります。その他の場合は +.Dv NULL +ポインタが返り、エラーを示すためグローバル変数 +.Va errno +が設定され、さらに +.Fn getwd +が +.Va errno +に関連するエラーメッセージを +.Fa buf +で参照されるメモリにコピーします。 +.Sh エラー +.Fn getcwd +関数は次の場合に失敗します。 +.Bl -tag -width [EACCES] +.It Bq Er EACCES +読み込みまたは検索パーミッションが、パス名の構成要素のため拒否されまし +た。 +.Pp +.It Bq Er EINVAL +.Fa size +引数がゼロです。 +.It Bq Er ENOENT +パス名の構成要素がもはや存在しません。 +.It Bq Er ENOMEM +利用できるメモリが十分ではありません。 +.It Bq Er ERANGE +.Fa size +引数はゼロよりも大きいが、パス名 + 1 +よりも小さいので不当です。 +.El +.Sh 関連項目 +.Xr chdir 2 , +.Xr fchdir 2 , +.Xr malloc 3 , +.Xr strerror 3 +.Pp +.Sh 規格 +.Fn getcwd +関数は、 +.St -ansiC +に準拠しています。 +.Dv NULL +ポインタを指定して、必要に応じて +.Fn getcwd +にメモリを割り振る機能は拡張部分です。 +.Sh 歴史 +.Fn getwd +関数は +.Bx 4.0 +で最初に取り入れられました。 +.Sh バグ +.Fn getwd +関数はエラーチックを十分に行いません。非常に長いパス名は、有効でも返す +ことができません。互換性を考える上で注意が必要です。 diff --git a/ja_JP.eucJP/man/man3/getdiskbyname.3 b/ja_JP.eucJP/man/man3/getdiskbyname.3 new file mode 100644 index 0000000000..9c30bd47be --- /dev/null +++ b/ja_JP.eucJP/man/man3/getdiskbyname.3 @@ -0,0 +1,60 @@ +.\" Copyright (c) 1983, 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. +.\" +.\" @(#)getdiskbyname.3 8.1 (Berkeley) 6/4/93 +.\" +.Dd June 4, 1993 +.Dt GETDISKBYNAME 3 +.Os BSD 4.2 +.Sh 名称 +.Nm getdiskbyname +.Nd ディスク名によって包括ディスク記述を取得 +.Sh 書式 +.Fd #include +.Ft struct disklabel * +.Fn getdiskbyname "const char *name" +.Sh 解説 +.Fn getdiskbyname +関数はディスク名(たとえば +.Ql rm03 ) +を取得し、ジオメトリ情報および標準のディスクパーティションテーブルを記 +述する、プロトタイプのディスクラベルを返します。すべての情報は +.Xr disktab 5 +ファイルから得られます。 +.Sh 関連項目 +.Xr disklabel 5 , +.Xr disktab 5 , +.Xr disklabel 8 +.Sh 歴史 +.Fn getdiskbyname +関数は +.Bx 4.3 +で最初に登場しました。 diff --git a/ja_JP.eucJP/man/man3/getdomainname.3 b/ja_JP.eucJP/man/man3/getdomainname.3 new file mode 100644 index 0000000000..4cff9fc5f8 --- /dev/null +++ b/ja_JP.eucJP/man/man3/getdomainname.3 @@ -0,0 +1,98 @@ +.\" Copyright (c) 1983, 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. +.\" +.\" @(#)gethostname.3 8.1 (Berkeley) 6/4/93 +.\" $Id: getdomainname.3,v 1.1.1.1 1999-12-09 16:26:04 kuriyama Exp $ +.\" +.Dd May 6, 1994 +.Dt GETDOMAINNAME 3 +.Os BSD 4.2 +.Sh 名称 +.Nm getdomainname , +.Nm setdomainname +.Nd 現在のホストのドメイン名を取得/設定 +.Sh 書式 +.Fd #include +.Ft int +.Fn getdomainname "char *name" "int namelen" +.Ft int +.Fn setdomainname "const char *name" "int namelen" +.Sh 解説 +.Fn Getdomainname +は前に +.Fn setdomainname +によって設定された、現在のプロセッサの標準ドメイン名を返します。パラメー +タ +.Fa namelen +は +.Fa name +配列のサイズを指定します。空間が十分にない場合を除いて、返される値は +null で終わります。 +.Pp +.Fn Setdomainname +は +.Fa name +するホストマシンの、長さ +.Fa namelen +のドメイン名を設定します。この呼び出しはスーパユーザに限定されます。通 +常はシステムを、ブートストラップする場合にだけ使用されます。 +.Sh 戻り値 +呼び出しに成功した場合は値 0が返ります。呼び出しに失敗した場合は値 -1 +が返り、グローバルな位置 +.Va errno +にエラーコードが置かれます。 +.Sh エラー +これらの呼び出しによって、次のエラーが返る場合があります。 +.Bl -tag -width Er +.It Bq Er EFAULT +.Fa name +または +.Fa namelen +パラメータに与えたアドレスが無効です。 +.It Bq Er EPERM +呼び出し元がホスト名を設定しようとしましたが、スーパユーザではありませ +ん。 +.El +.Sh 関連項目 +.Xr gethostid 3 , +.Xr gethostname 3 , +.Xr sysctl 3 +.Sh バグ +ドメイン名は、( +.Ao Pa sys/param.h Ac +による) +.Dv MAXHOSTNAMELEN +長さのキャラクタ、現在 256 文字に限られています。 +.Sh 歴史 +.Fn getdomainname +関数の呼び出しは、 +.Bx 4.2 +で最初に登場しました。 diff --git a/ja_JP.eucJP/man/man3/getenv.3 b/ja_JP.eucJP/man/man3/getenv.3 new file mode 100644 index 0000000000..325e08592e --- /dev/null +++ b/ja_JP.eucJP/man/man3/getenv.3 @@ -0,0 +1,142 @@ +.\" Copyright (c) 1988, 1991, 1993 +.\" 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. +.\" +.\" @(#)getenv.3 8.2 (Berkeley) 12/11/93 +.\" +.Dd December 11, 1993 +.Dt GETENV 3 +.Os +.Sh 名称 +.Nm getenv , +.Nm putenv , +.Nm setenv , +.Nm unsetenv +.Nd 環境変数関数 +.Sh 書式 +.Fd #include +.Ft char * +.Fn getenv "const char *name" +.Ft int +.Fn setenv "const char *name" "const char *value" "int overwrite" +.Ft int +.Fn putenv "const char *string" +.Ft void +.Fn unsetenv "const char *name" +.Sh 解説 +これらの関数は環境変数を設定し、設定を解除し、ホストの +.Em environment list +からそれらを取り出します。異なる環境規定との互換性を得るため、与えられ +た引数 +.Ar name +および +.Ar value +はそれぞれ、等価記号 +.Dq Li \&= . +によって後に付加することも、前に付加することもできます。 +.Pp +.Fn getenv +関数は、環境変数 +.Ar name +の現在の値を取得します。変数 +.Ar name +が現在の +環境にない場合は、null ポインタが返ります。 +.Pp +.Fn setenv +関数は環境変数 +.Ar name +を現在の環境リストに挿入またはリセットします。変数 +.Ar name +がリストにない場合は、与えられた +.Ar value +によって挿入されます。変数が存在する場合は引数 +.Ar overwrite +がテストされ、 +.Ar overwrite +がゼロならば変数 +.Ar name +は上書きされず、その他の場合は与えられた値に再設定されます。 +.Pp +.Fn putenv +関数は ``name=value'' の形で引数をとります。これは次と等価です。 +.Bd -literal -offset indent +setenv(name, value, 1); +.Ed +.Pp +.Fn unsetenv +関数は +.Fa name +で示される変数名のインスタンスを、リストからすべて削除します。 +.Sh 戻り値 +関数 +.Fn setenv +および +.Fn putenv +は、成功するとゼロを返します。その他の場合は、エラーを示すためにグロー +バル変数 +.Va errno +が設定され、 +\-1 が返ります。 +.Sh エラー +.Bl -tag -width [ENOMEM] +.It Bq Er ENOMEM +環境にメモリを割り振ることができなかったので、関数 +.Fn setenv +または +.Fn putenv +は失敗しました。 +.El +.Sh 関連項目 +.Xr csh 1 , +.Xr sh 1 , +.Xr execve 2 , +.Xr environ 7 +.Sh 規格 +.Fn getenv +関数は、 +.St -ansiC +に準拠しています。 +.Sh 歴史 +関数 +.Fn setenv +および +.Fn unsetenv +は、 +.At v7 +で最初に登場しました。 +.Fn putenv +関数は、 +.Bx 4.3 Reno +で最初に登場しました。 diff --git a/ja_JP.eucJP/man/man3/getfsent.3 b/ja_JP.eucJP/man/man3/getfsent.3 new file mode 100644 index 0000000000..b8f474d7f8 --- /dev/null +++ b/ja_JP.eucJP/man/man3/getfsent.3 @@ -0,0 +1,136 @@ +.\" Copyright (c) 1983, 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. +.\" +.\" @(#)getfsent.3 8.1 (Berkeley) 6/4/93 +.\" +.Dd June 4, 1993 +.Dt GETFSENT 3 +.Os BSD 4 +.Sh 名称 +.Nm getfsent , +.Nm getfsspec , +.Nm getfsfile , +.Nm setfsent , +.Nm endfsent +.Nd ファイルシステム記述ファイルのエントリを取得 +.Sh 書式 +.Fd #include +.Ft struct fstab * +.Fn getfsent void +.Ft struct fstab * +.Fn getfsspec "const char *spec" +.Ft struct fstab * +.Fn getfsfile "const char *file" +.Ft int +.Fn setfsent void +.Ft void +.Fn endfsent void +.Sh 解説 +.Fn getfsent , +.Fn getfsspec , +および +.Fn getfsfile +関数はそれぞれ、次に示す構造体を持つオブジェクトのポインタを返します。 +構造体には、ファイルシステム記述ファイル +.Aq Pa fstab.h +にある行の内訳フィールドが含まれます。 +.Bd -literal -offset indent +struct fstab { + char *fs_spec; /* ブロック特殊デバイス名 */ + char *fs_file; /* ファイルシステムのパスプレフィックス */ + char *fs_vfstype; /* ファイルシステムのタイプ, ufs, nfs */ + char *fs_mntops; /* マウントオプション -o */ + char *fs_type; /* fs_mntops からの FSTAB_* */ + int fs_freq; /* ダンプ頻度, 昼間 */ + int fs_passno; /* パラレル fsck のバス番号 */ +}; +.Ed +.Pp +これらのフィールドはそれぞれ、 +.Xr fstab 5 +に記述された意味を持ちます。 +.Pp +.Fn setfsent +関数はファイルをオープンします(前にオープンされていたほかのファイルは +クローズされます)。または、目的のファイルがすでにオープンされている場 +合はリワインドします。 +.Pp +.Fn endfsent +関数はファイルをクローズします。 +.Pp +.Fn getfsspec +および +.Fn getfsfile +関数は、目的のファイルで(必要ならばそれをオープンして)、適合する特殊ファ +イル名またはシステムファイル名を検索します。 +.Pp +データベース全体を読み込むプログラムの場合、 +.Fn getfsent +は次のエントリを(必要ならば目的のファイルをオープンして)読み込みます。 +.Pp +.Dv FSTAB_XX +と等価のタイプフィールドを持つファイルの、エントリはすべて無視されます。 +.Sh 戻り値 +.Fn getfsent , +.Fn getfsspec , +および +.Fn getfsfile +関数は、 +.Dv EOF +またはエラーで +.Dv NULL +ポインタを返します。 +.Fn setfsent +関数は失敗した場合 0を、成功した場合は 1を返します。 +.Fn endfsent +関数の戻り値はありません。 +.Sh 関連ファイル +.Bl -tag -width /etc/fstab -compact +.It Pa /etc/fstab +.El +.Sh 関連項目 +.Xr fstab 5 +.Sh 歴史 +.Fn getfsent +関数は +.Bx 4.0 +で最初に取り入れられました。 +.Fn endfsent , +.Fn getfsfile , +.Fn getfsspec +および +.Fn setfsent +関数は +.Bx 4.3 +で最初に登場しました。 +.Sh バグ +これらの関数は静的データ記憶域を使用します。データが後で必要になる場合は、 +以後の呼び出しで上書きする前に、コピーして保存する必要があります。 diff --git a/ja_JP.eucJP/man/man3/getgrent.3 b/ja_JP.eucJP/man/man3/getgrent.3 new file mode 100644 index 0000000000..7f69fc466a --- /dev/null +++ b/ja_JP.eucJP/man/man3/getgrent.3 @@ -0,0 +1,197 @@ +.\" Copyright (c) 1989, 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. +.\" +.\" From: @(#)getgrent.3 8.2 (Berkeley) 4/19/94 +.\" $Id: getgrent.3,v 1.1.1.1 1999-12-09 16:26:04 kuriyama Exp $ +.\" +.Dd September 29, 1994 +.Dt GETGRENT 3 +.Os +.Sh 名称 +.Nm getgrent , +.Nm getgrnam , +.Nm getgrgid , +.Nm setgroupent , +.\" .Nm setgrfile , +.Nm setgrent , +.Nm endgrent +.Nd グループデータベースの操作 +.Sh 書式 +.Fd #include +.Fd #include +.Ft struct group * +.Fn getgrent void +.Ft struct group * +.Fn getgrnam "const char *name" +.Ft struct group * +.Fn getgrgid "gid_t gid" +.Ft int +.Fn setgroupent "int stayopen" +.\" .Ft void +.\" .Fn setgrfile "const char *name" +.Ft int +.Fn setgrent void +.Ft void +.Fn endgrent void +.Sh 解説 +これらの関数はいずれも、 +.Xr group 5 +に記述されたグループデータベースファイル +.Pa /etc/group +を操作します。データベースの各行は、インクルードファイル +.Aq Pa grp.h +にある構造体 +.Ar group +によって定義されます。次のとおりです。 +.Bd -literal -offset indent +struct group { + char *gr_name; /* グループ名 */ + char *gr_passwd; /* グループパスワード */ + int gr_gid; /* グループ id */ + char **gr_mem; /* グループメンバ */ +}; +.Ed +.Pp +関数 +.Fn getgrnam +および +.Fn getgrgid +は、 +.Ar name +に示す与えられたグループ名または +.Ar gid +に示すグループ id を、グループデータベースで検索して、それぞれに最初の +適合エントリを返します。異なるエントリに同一グループ名または、同一グループ id +が与えられていると、未定義な不測の挙動をもたらすことがあります。 +.Pp +.Fn getgrent +関数は、グループデータベースを順次読み込みます。完全な +グループリストを着実に生成するプログラム向きです。 +.Pp +3 つのルーチンはいずれも、読み込みに必要ならば目的のグループファイルを +オープンします。 +.Pp +.Fn setgroupent +関数は目的のファイルをオープン、またはすでにオープンされている +場合はリワインドします。 +.Fa stayopen +が 0 でなければ、ファイル記述子はオープン +のままにされ、以後の関数呼び出しがきわめて高速化されます。ただし +.Fn getgrent +の場合は、デフォルトでファイル記述子をクローズしないので、この +機能は不要です。また、グループファイルが更新される可能性があるので、 +長期間実行するプログラムでこの機能を使用するのは危険です。注意してください。 +.Pp +.Fn setgrent +関数は、0 の引数を持つ +.Fn setgroupent +と同じです。 +.Pp +.Fn endgrent +関数は、オープンされているファイルをクローズします。 +.Sh YP/NIS の相互作用 +.Xr yp 4 +グループデータベースが使用可能な場合、要求されたグループがローカルの +.Pa /etc/groupfile +に見付からないと、 +.Fn getgrnam +および +.Fn getgrgid +関数は、 +YP マップ +.Dq group.byname +および +.Dq group.bygid +をそれぞれ使用します。 +.Xr group 5 +で記述されたとおりに全体マップが使用可能ならば、 +.Fn getgrent +関数は YP マップ +.Dq group.byname +を通ります。 +.Sh 戻り値 +関数 +.Fn getgrent , +.Fn getgrnam , +.Fn getgrgid +は、いずれも成功すると +グループエントリのポインタを返します。エンドオブファイルに到達するかエラー +が発生した場合は、ヌルポインタが返ります。関数 +.Fn setgroupent +および +.Fn setgrent +は、処理が無事に完了した場合は値 1 を返します。 +その他の場合は値 0 が返ります。 +関数 +.Fn endgrent +および +.Fn setgrfile +の戻り値はありません。 +.Pp +.Sh 関連ファイル +.Bl -tag -width /etc/group -compact +.It Pa /etc/group +グループデータベースファイル +.El +.Sh 関連項目 +.Xr getpwent 3 , +.Xr yp 4 , +.Xr group 5 +.Sh 歴史 +関数 +.Fn endgrent , +.Fn getgrent , +.Fn getgrnam , +.Fn getgrgid , +.Fn setgrent +は、 +.At v7 +で最初に取り入れられました。関数 +.Fn setgrfile +および +.Fn setgroupent +は、 +.Bx 4.3 Reno +で最初に取り入れられました。 +.Sh 互換性 +代替パスワードデータベースの規格を許した歴史的な関数 +.Fn setgrfile +は、これまで非難されてきましたが、もはや使用できません。 +.Sh バグ +関数 +.Fn getgrent , +.Fn getgrnam , +.Fn getgrgid , +.Fn setgroupent , +.Fn setgrent +は、それぞれの結果を内部の静的オブジェクトに残し、そのオブジェクトの +ポインタを返します。後に続く同じ関数の呼び出しは、その同じオブジェクトを +改変します。 diff --git a/ja_JP.eucJP/man/man3/getgrouplist.3 b/ja_JP.eucJP/man/man3/getgrouplist.3 new file mode 100644 index 0000000000..9b8c345859 --- /dev/null +++ b/ja_JP.eucJP/man/man3/getgrouplist.3 @@ -0,0 +1,89 @@ +.\" Copyright (c) 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. +.\" +.\" @(#)getgrouplist.3 8.1 (Berkeley) 6/9/93 +.\" +.Dd June 9, 1993 +.Dt GETGROUPLIST 3 +.Os +.Sh 名称 +.Nm getgrouplist +.Nd グループアクセスリストの演算 +.Sh 書式 +.Fd #include +.Ft int +.Fn getgrouplist "const char *name" "int basegid" "int *groups" "int *ngroups" +.Sh 解説 +.Fn getgrouplist +関数はグループファイルを読み通して、 +.Fa name +で指定したユーザ +のためにグループアクセスリストを演算します。グループリストには、 +.Fa basegid +が自動的に含まれます。通常、この値はパスワードファイルから、 +グループ番号として与えられます。 +.Pp +結果のグループリストは、 +.Fa groups +で指された整数配列で返されます。呼び出し元は +.Fa ngroups +に示された整数で +.Fa groups +配列の大きさを指定します。見付かった +グループの実際の数は、 +.Fa ngroups +で返ります。 +.Sh 戻り値 +.Fn getgrouplist +関数は、そのユーザのグループすべてを保持するには、 +グループリストのサイズが小さすぎる場合、\-1 を返します。 +グループ配列はこの場合、大きさに見合うだけの数のグループで満たされます。 +.Sh 関連ファイル +.Bl -tag -width /etc/group -compact +.It Pa /etc/group +グループ会員リスト +.El +.Sh 関連項目 +.Xr setgroups 2 , +.Xr initgroups 3 +.Sh 歴史 +.Fn getgrouplist +関数は +.Bx 4.4 +で最初に取り入れられました。 +.Sh バグ +.Fn getgrouplist +関数は、 +.Xr getgrent 3 +に基づくルーチンを使用します。 +したがって、呼び出しプログラムがこれらのルーチンのどれかを使用すると、 +.Fn getgrouplist +の呼び出しによってグループ構造体が上書きされます。 diff --git a/ja_JP.eucJP/man/man3/gethostbyname.3 b/ja_JP.eucJP/man/man3/gethostbyname.3 new file mode 100644 index 0000000000..e3efa8aa51 --- /dev/null +++ b/ja_JP.eucJP/man/man3/gethostbyname.3 @@ -0,0 +1,287 @@ +.\" Copyright (c) 1983, 1987, 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. +.\" +.\" From: @(#)gethostbyname.3 8.4 (Berkeley) 5/25/95 +.\" $Id: gethostbyname.3,v 1.1.1.1 1999-12-09 16:26:04 kuriyama Exp $ +.\" +.Dd May 25, 1995 +.Dt GETHOSTBYNAME 3 +.Os BSD 4.2 +.Sh 名称 +.Nm gethostbyname , +.Nm gethostbyname2 , +.Nm gethostbyaddr , +.Nm gethostent , +.Nm sethostent , +.Nm endhostent , +.Nm herror , +.Nm hstrerror +.Nd ネットワークホストのエントリの取得 +.Sh 書式 +.Fd #include +.Vt extern int h_errno; +.Ft struct hostent * +.Fn gethostbyname "const char *name" +.Ft struct hostent * +.Fn gethostbyname2 "const char *name" "int af" +.Ft struct hostent * +.Fn gethostbyaddr "const char *addr" "int len" "int type" +.Ft struct hostent * +.Fn gethostent void +.Ft void +.Fn sethostent "int stayopen" +.Ft void +.Fn endhostent void +.Ft void +.Fn herror "const char *string" +.Ft const char * +.Fn hstrerror "int err" +.Sh 解説 +.Fn gethostbyname , +.Fn gethostbyname2 , +.Fn gethostbyaddr +関数はそれぞれ、 +次に示す構造体を持つオブジェクトのポインタを返します。構造体には、 +名前またはアドレスによって参照されるインターネットホストが記述されていて、 +ネームサーバ +.Xr named 8 +から、または +.Pa /etc/hosts +にある行の内訳フィールドから +得られた情報を含んでいます。ローカルのネームサーバが実行されていない場合、 +これらのルーチンは +.Pa /etc/hosts +を検索します。 +.Bd -literal +struct hostent { + char *h_name; /* ホストの正式名 */ + char **h_aliases; /* 別名リスト */ + int h_addrtype; /* ホストアドレスタイプ */ + int h_length; /* アドレスの長さ */ + char **h_addr_list; /* ネームサーバからのアドレスリスト */ +}; +#define h_addr h_addr_list[0] /* アドレス、下位互換用 */ +.Ed +.Pp +この構造体のメンバは次のとおりです。 +.Bl -tag -width h_addr_list +.It Fa h_name +ホストの正式名。 +.It Fa h_aliases +ホストの別名 (エイリアス) のヌルで終わる配列。 +.It Fa h_addrtype +返されるアドレスのタイプであり、通常は +.Dv AF_INET +。 +.It Fa h_length +アドレスのバイト数による長さ。 +.It Fa h_addr_list +ホストのネットワークアドレスのヌルで終わる配列。 +ホストアドレスはネットワークバイト順で返されます。 +.It Fa h_addr +.Fa h_addr_list +にある最初のアドレスであり、下位互換用。 +.El +.Pp +ネームサーバを使用する場合、 +.Fn gethostbyname +および +.Fn gethostbyname +は、目的の名前が付いたホストを、現在のドメインと親のドメインから検索します。 +ただしこれは、名前がドットで終わっていない場合です。 +名前にドットが含まれないか、または環境変数 +.Dq Ev HOSTALIASES +にエイリアスファイルの名前が含まれている場合は、 +入力名に適合するエイリアスが最初にエイリアスファイルで検索されます。 +ドメイン検索手続きとエイリアスファイル書式については、 +.Xr hostname 7 +を参照してください。 +.Pp +.Fn gethostbyname2 +関数は +.Fn gethostbyname +の発展型で、 +.Dv AF_INET +以外のアドレスファミリ、たとえば +.Dv AF_INET6 +での検索を可能にするためのものです。ただし現在は、 +.Fa af +引数に +.Dv AF_INET +を指定する必要があります。他の値を指定すると +.Fn gethostbyname2 +関数は、 +.Va h_errno +を +.Dv NETDB_INTERNAL +に設定した後で、 +.Dv NULL +を返します。 +.Pp +.Fn sethostent +関数は、問い合わせ用に、接続した +.Tn TCP +ソケットの使用を要求する場合に使用できます。 +.Fa stayopen +フラグが 0 でなければ、 +.Tn TCP +によってすべての問い合わせをネームサーバに送り、 +.Fn gethostbyname , +.Fn gethostbyname2 , +.Fn gethostbyaddr +のそれぞれ呼び出し後にも、接続を保持するようにオプションが設定できます。 +その他の場合、問い合わせは +.Tn UDP +データグラムを使用して +実行されます。 +.Pp +.Fn endhostent +関数は +.Tn TCP +接続をクローズします。 +.Pp +.Fn herror +関数は診断出力にメッセージを書き出します。 +診断出力は文字列パラメータ +.Fa s +と、定数文字列 ": " と、 +.Va h_errno +の値に対応するメッセージで構成されます。 +.Pp +.Fn hstrerror +関数は、 +.Fa err +パラメータの値に対応するメッセージテキストの +文字列を返します。 +.Sh 関連ファイル +.Bl -tag -width /etc/resolv.conf -compact +.It Pa /etc/hosts +.It Pa /etc/host.conf +.It Pa /etc/resolv.conf +.El +.Sh 診断 +.Fn gethostbyname , +.Fn gethostbyname2 , +.Fn gethostbyaddr +のエラー状態は、ヌルポインタが返ることで示されます。その場合は外部整数 +.Va h_errno +をチェックすることにより、 +一時的なエラーであるのか、 +無効または未知のホスト名を指定したためかを判断できます。 +.Fn herror +ルーチンによって、エラーを記述するエラーメッセージを表示できます。 +引数 +.Fa string +は、 +.Dv NULL +でなければ表示され、後にコロンとスペースが続きます。 +エラーメッセージが終端の改行とともに印刷されます。 +.Pp +変数 +.Va h_errno +は次の値を取り得ます。 +.Bl -tag -width HOST_NOT_FOUND +.It Dv HOST_NOT_FOUND +指定した名前のホストが未知です。 +.It Dv TRY_AGAIN +これは通常は一時的なエラーで、ローカルサーバが公式サーバ +から応答が得られなかったことを意味します。しばらくして再度試みると成功する +場合があります。 +.It Dv NO_RECOVERY +なんらかの予期しないサーバエラーが発生しました。 +これは回復不能なエラーです。 +.It Dv NO_DATA +要求された名前は有効ですが、IP アドレスがありません。 +これは一時的なエラーではありません。 +指定したホスト名がネームサーバには知られているにもかかわらず、 +対応するアドレスがないという意味です。 +このネームサーバに対して同じドメイン名で別なタイプの要求を行うと、 +回答が得られるかもしれません。 +たとえばメールフォワーダがそのドメインに登録されている場合があります。 +.El +.Sh 関連項目 +.Xr resolver 3 , +.Xr hosts 5 , +.Xr hostname 7 , +.Xr named 8 +.Sh 警告 +ネームサーバは検索せずに +.Pa /etc/hosts +だけを検索するルーチンを使用するように +.Xr libc 3 +が構築された場合、 +.Fn gethostent +関数が定義され、 +.Fn sethostent +および +.Fn endhostent +が再定義されます。 +.Pp +.Fn gethostent +関数は、 +.Pa /etc/hosts +ファイルの次の行を読み込みます。 +この際、必要ならばファイルをオープンします。 +.Pp +.Fn sethostent +関数はファイル +.Pa etc/hosts +をオープンおよび/またはリワインドします。 +.Fa stayopen +引数が 0 でなければ、 +.Fn gethostbyname , +.Fn gethostbyname2 , +.Fn gethostbyaddr +のそれぞれの呼び出しの後、ファイルはクローズされません。 +.Pp +.Fn endhostent +関数はファイルをクローズします。 +.Pp +.Sh 歴史 +.Fn herror +関数は +.Bx 4.3 +で最初に取り入れられました。 +.Fn endhostent , +.Fn gethostbyaddr , +.Fn gethostbyname , +.Fn gethostent , +.Fn sethostent +関数は +.Bx 4.2 +で最初に取り入れられました。 +.Fn gethostbyname2 +関数は bind-4.9.4 で最初に取り入れられました。 +.Sh バグ +これらの関数は静的データ記憶域を使用します。後でデータが必要な場合は、 +以後の呼び出しで上書きする前にコピーして保存する必要があります。なお、 +アドレスデータとして受け入れるのは現在、インターネットアドレスフォーマット +だけです。 diff --git a/ja_JP.eucJP/man/man3/gethostid.3 b/ja_JP.eucJP/man/man3/gethostid.3 new file mode 100644 index 0000000000..b2f186f13c --- /dev/null +++ b/ja_JP.eucJP/man/man3/gethostid.3 @@ -0,0 +1,75 @@ +.\" Copyright (c) 1983, 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. +.\" +.\" @(#)gethostid.3 8.1 (Berkeley) 6/2/93 +.\" +.Dd June 2, 1993 +.Dt GETHOSTID 3 +.Os BSD 4.2 +.Sh 名称 +.Nm gethostid , +.Nm sethostid +.Nd 現在のホストの固有の識別子の取得/設定 +.Sh 書式 +.Fd #include +.Ft long +.Fn gethostid void +.Ft void +.Fn sethostid "long hostid" +.Sh 解説 +.Fn sethostid +は現在のプロセッサの 32 ビット識別子を設定します。 +識別子は現存するすべての UNIX システムのなかで、固有であることが意図されます。 +通常はローカルマシンの DARPA インターネットアドレスです。 +この関数を呼び出せるのはスーパユーザだけで、通常は起動時に実行されます。 +.Pp +.Fn gethostid +は、現在のプロセッサの 32 ビット識別子を返します。 +.Pp +この関数はこれまで非難されてきました。 +hostid の設定および取り出しには +.Xr sysctl 3 +を使用すべきです。 +.Sh 関連項目 +.Xr gethostname 3 , +.Xr sysctl 3 , +.Xr sysctl 8 +.Sh バグ +この識別子が 32 ビットでは小さすぎます。 +.Sh 歴史 +.Fn gethostid +および +.Fn sethostid +システムコールは、 +.Bx 4.2 +で最初に取り入れられ、 +.Bx 4.4 +で打ち切られました。 diff --git a/ja_JP.eucJP/man/man3/gethostname.3 b/ja_JP.eucJP/man/man3/gethostname.3 new file mode 100644 index 0000000000..d117a8b196 --- /dev/null +++ b/ja_JP.eucJP/man/man3/gethostname.3 @@ -0,0 +1,96 @@ +.\" Copyright (c) 1983, 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. +.\" +.\" @(#)gethostname.3 8.1 (Berkeley) 6/4/93 +.\" +.Dd June 4, 1993 +.Dt GETHOSTNAME 3 +.Os BSD 4.2 +.Sh 名称 +.Nm gethostname , +.Nm sethostname +.Nd 現在のホストの名前の取得/設定 +.Sh 書式 +.Fd #include +.Ft int +.Fn gethostname "char *name" "int namelen" +.Ft int +.Fn sethostname "const char *name" "int namelen" +.Sh 解説 +.Fn gethostname +は +.Fn sethostname +によって前に設定された、現在のプロセッサの標準のホスト名を返します。パラメータ +.Fa namelen +は +.Fa name +配列のサイズを指定します。 +使用できる空間が不十分な場合を除いて、返される名前はヌルで終わります。 +.Pp +.Fn sethostname +は、長さ +.Fa namelen +の +.Fa name +という、ホストマシン名を設定します。 +この呼び出しはスーパユーザに限定され、 +通常はシステムのブートストラップ時にだけ実行されます。 +.Sh 戻り値 +呼び出しが成功すると値 0 が返ります。 +呼び出しが失敗すると値 -1 が返り、 +グローバルな位置の +.Va errno +にエラーコードが置かれます。 +.Sh エラー +これらの呼び出しによって、次のエラーが返る場合があります。 +.Bl -tag -width Er +.It Bq Er EFAULT +.Fa name +または +.Fa namelen +パラメータが、無効なアドレスを与えました。 +.It Bq Er EPERM +呼び出し元がホスト名を設定しようとしましたが、 +スーパユーザではありませんでした。 +.El +.Sh 関連項目 +.Xr gethostid 3 , +.Xr sysctl 3 +.Sh バグ +ホスト名の長さが MAXHOSTNAMELEN ( +.Ao Pa sys/param.h Ac +から取得) 文字に制限されています。 +現在は 256 文字です。 +.Sh 歴史 +.Fn gethostname +関数の呼び出しは、 +.Bx 4.2 +で最初に取り入れられました。 diff --git a/ja_JP.eucJP/man/man3/getloadavg.3 b/ja_JP.eucJP/man/man3/getloadavg.3 new file mode 100644 index 0000000000..fb0a266ce8 --- /dev/null +++ b/ja_JP.eucJP/man/man3/getloadavg.3 @@ -0,0 +1,64 @@ +.\" Copyright (c) 1989, 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. +.\" +.\" @(#)getloadavg.3 8.1 (Berkeley) 6/4/93 +.\" +.Dd June 4, 1993 +.Dt GETLOADAVG 3 +.Os +.Sh 名称 +.Nm getloadavg +.Nd システムの負荷平均の取得 +.Sh 書式 +.Fd #include +.Ft int +.Fn getloadavg "double loadavg[]" "int nelem" +.Sh 解説 +.Fn getloadavg +関数は、さまざまな期間で平均したシステム実行待ち行列のプロセス数を返します。 +最大個数 +.Fa nelem +のサンプルが取り出され、 +.Fa loadavg Ns Bq +の逐次要素に割り当てられます。システムは直近の 1, 5, 15 分間での平均を示す、 +最大 3 個のサンプルを必要とします。 +.Sh 診断 +負荷平均が得られなかった場合は -1 が返ります。 +その他の場合は、実際に取り出されたサンプルの個数が返ります。 +.Sh 関連項目 +.Xr uptime 1 , +.Xr kvm_getloadavg 3 , +.Xr sysctl 3 +.Sh 歴史 +.Fn getloadavg +関数は、 +.Bx 4.3 Reno +で最初に取り入れられました。 diff --git a/ja_JP.eucJP/man/man3/getmntinfo.3 b/ja_JP.eucJP/man/man3/getmntinfo.3 new file mode 100644 index 0000000000..cd760b0c6e --- /dev/null +++ b/ja_JP.eucJP/man/man3/getmntinfo.3 @@ -0,0 +1,103 @@ +.\" Copyright (c) 1989, 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. +.\" +.\" @(#)getmntinfo.3 8.1 (Berkeley) 6/9/93 +.\" +.Dd June 9, 1993 +.Dt GETMNTINFO 3 +.Os +.Sh 名称 +.Nm getmntinfo +.Nd マウントしたファイルシステム情報の取得 +.Sh 書式 +.Fd #include +.Fd #include +.Fd #include +.Ft int +.Fn getmntinfo "struct statfs **mntbufp" "int flags" +.Sh 解説 +.Fn getmntinfo +関数は、現在マウントしているファイルシステムをそれぞれ記述する、 +.Fn statfs +構造体の配列を返します ( +.Xr statfs 2 +を参照してください)。 +.Pp +.Fn getmntinfo +関数は、その +.Fa flags +パラメータを透過的に +.Xr getfsstat 2 +へ渡します。 +.Sh 戻り値 +無事に完了した場合、 +.Fn getmntinfo +は目的の配列にある要素数のカウント返します。配列のポインタは +.Fa mntbufp +に格納されます。 +エラーが起こると 0 が返り、エラーを示すために外部変数 +.Va errno +が設定されます。ポインタ +.Fa mntbufp +は改変されませんが、 +.Fn getmntinfo +によって前に返されたすべての情報は失われます。 +.Pp +.Sh エラー +.Fn getmntinfo +関数は失敗することがあり、ライブラリルーチン +.Xr getfsstat 2 +または +.Xr malloc 3 +のエラーとして指定される +.Va errno +を返します。 +.Sh 関連項目 +.Xr getfsstat 2 , +.Xr mount 2 , +.Xr statfs 2 , +.Xr mount 8 +.Sh 歴史 +.Fn getmntinfo +関数は +.Bx 4.4 +で最初に取り入れられました。 +.Sh バグ +.Fn getmntinfo +関数は構造体の配列を内部静的オブジェクトに書き込み、その +オブジェクトのポインタを返します。以後の +.Fn getmntinfo +の呼び出しは同じオブジェクトを改変します。 +.Pp +.Fn getmntinfo +によって割り振られたメモリは、アプリケーションによって +.Xr free 3 +できません。 diff --git a/ja_JP.eucJP/man/man3/getnetent.3 b/ja_JP.eucJP/man/man3/getnetent.3 new file mode 100644 index 0000000000..3ebdf04854 --- /dev/null +++ b/ja_JP.eucJP/man/man3/getnetent.3 @@ -0,0 +1,144 @@ +.\" Copyright (c) 1983, 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. +.\" +.\" @(#)getnetent.3 8.1 (Berkeley) 6/4/93 +.\" +.Dd June 4, 1993 +.Dt GETNETENT 3 +.Os BSD 4.2 +.Sh 名称 +.Nm getnetent , +.Nm getnetbyaddr , +.Nm getnetbyname , +.Nm setnetent , +.Nm endnetent +.Nd ネットワークエントリの取得 +.Sh 書式 +.Fd #include +.Ft struct netent * +.Fn getnetent void +.Ft struct netent * +.Fn getnetbyname "const char *name" +.Ft struct netent * +.Fn getnetbyaddr "unsigned long net" "int type" +.Ft void +.Fn setnetent "int stayopen" +.Ft void +.Fn endnetent void +.Sh 解説 +.Fn getnetent , +.Fn getnetbyname , +.Fn getnetbyaddr +関数はそれぞれ、次に示す構造体を持つオブジェクトのポインタを返します。 +構造体には、ネットワークデータベース +.Pa /etc/network +にある行の内訳フィールドが含まれます。 +.Bd -literal -offset indent +struct netent { + char *n_name; /* ネットワークの正式名 */ + char **n_aliases; /* 別名リスト */ + int n_addrtype; /* ネット番号のタイプ */ + unsigned long n_net; /* ネット番号 */ +}; +.Ed +.Pp +この構造体のメンバは次のとおりです。 +.Bl -tag -width n_addrtype +.It Fa n_name +ネットワークの正式名。 +.It Fa n_aliases +ネットワークの別名 (エイリアス) の 0 で終わるリスト。 +.It Fa n_addrtype +返されるネットワーク番号のタイプであり、現在は +.Dv AF_INET +だけです。 +.It Fa n_net +ネットワーク番号。 +ネットワーク番号は、マシンバイト順で返されます。 +.El +.Pp +.Fn getnetent +関数はファイルの次の行を読み込みます。 +この際、必要ならば目的のファイルをオープンします。 +.Pp +.Fn setnetent +関数は、目的のファイルをオープンしリワインドします。 +.Fa stayopen +フラグが 0 でなければ +.Fn getnetbyname +または +.Fn getnetbyaddr +それぞれの呼び出しの後に、ネットデータベースはクローズされません。 +.Pp +.Fn endnetent +関数はファイルをクローズします。 +.Pp +.Fn getnetbyname +関数および +.Fn getnetbyaddr +は、適合するネット名またはネットアドレスおよびタイプが見つかるか、または +.Dv EOF +に達するまで、ファイルを最初から順次検索します。 +.Fa type +は +.Dv AF_INET +でなければなりません。 +ネットワーク番号はホストオーダで規定されます。 +.Pp +.Sh 関連ファイル +.Bl -tag -width /etc/networks -compact +.It Pa /etc/networks +.El +.Sh 診断 +.Dv EOF +またはエラーの場合は、 +ヌルポインタ (0) が返ります。 +.Sh 関連項目 +.Xr networks 5 +.Pp +.%T RFC 1101 +.Sh 歴史 +.Fn getnetent , +.Fn getnetbyaddr , +.Fn getnetbyname , +.Fn setnetent , +.Fn endnetent +関数は、 +.Bx 4.2 +で最初に取り入れられました。 +.Sh バグ +これらの関数で使用されるデータ空間は静的です。 +後でこのデータを使う必要がある場合は、 +以後のこれら関数の呼び出しでデータを上書きする前に、 +コピーして保存する必要があります。 +データとして受け入れられるのは現在、インターネットネットワーク番号だけです。 +ネットワーク番号が 32 ビットを超えない範囲に収まるというのは、 +おそらく素朴な考えです。 diff --git a/ja_JP.eucJP/man/man3/getnetgrent.3 b/ja_JP.eucJP/man/man3/getnetgrent.3 new file mode 100644 index 0000000000..12fdcb7228 --- /dev/null +++ b/ja_JP.eucJP/man/man3/getnetgrent.3 @@ -0,0 +1,129 @@ +.\" Copyright (c) 1992, 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. +.\" +.\" @(#)getnetgrent.3 8.1 (Berkeley) 6/4/93 +.\" +.Dd June 4, 1993 +.Dt GETNETGRENT 3 +.Os +.Sh 名称 +.Nm getnetgrent , +.Nm innetgr , +.Nm setnetgrent , +.Nm endnetgrent +.Nd ネットグループデータベースの操作 +.Sh 書式 +.Ft int +.Fn getnetgrent "char **host" "char **user" "char **domain" +.Ft int +.Fn innetgr "const char *netgroup" "const char *host" "const char *user" "const char *domain" +.Ft void +.Fn setnetgrent "const char *netgroup" +.Ft void +.Fn endnetgrent void +.Sh 解説 +これらの関数はいずれも、 +.Xr netgroup 5 +に記述されたネットグループデータベースのファイル +/etc/netgroup +を操作します。データベースはネットグループの集合を定義しますが、 +ネットグループはぞれぞれ、1 つまたは複数の次のような 3 つ組で構成されます。 +.Bd -literal -offset indent +(host, user, domain) +.Ed +それぞれ、ホスト、ユーザおよびドメインの組み合わせを定義します。 +3 つのフィールドのどれにも、あらゆるストリングに適合する +`'ワイルドカード' を指定可能です。 +.Pp +関数 +.Fn getnetgrent +は、現在のネットグループの次のメンバの、文字列に対する +3 つのポインタ引数を設定します。文字列ポインタのどれかが +.Sy (char *)0 +だと、そのフィールドはワイルドカードと見なされます。 +.Pp +関数 +.Fn setnetgrent +は現在のネットグループを設定し、 +.Fn endnetgrent +は現在のネットグループを終了します。 +前の呼び出しとは違うネットグループに対して +.Fn setnetgrent +が呼び出された場合、暗黙に +.Fn endnetgrent +が実行されます。 +.Fn setnetgrent +はまた、ネットグループの最初のメンバのオフセットを設定します。 +.Pp +関数 +.Fn innetgr +は適合するものがあるかどうか、指定したグループにあるすべての +フィールドを検索します。 +.Sy host +.Sy user +.Sy domain +引数のどれかが +.Sy (char *)0 +の場合、そのフィールドは指定されたネットグループメンバのあらゆる +文字列値に適合します。 +.Sh 戻り値 +関数 +.Fn getnetgrent +は ``それ以上ネットグループメンバがない'' 場合には 0 を返し、 +その他の場合は 1 を返します。 +関数 +.Fn innetgr +は、適合するフィールドがあった場合は 1 を、 +その他の場合は 0 を返します。 +関数 +.Fn setnetgrent +および +.Fn endnetgrent +には戻り値がありません。 +.Sh 関連ファイル +.Bl -tag -width /etc/netgroup -compact +.It Pa /etc/netgroup +ネットグループデータベースファイル +.El +.Sh 関連項目 +.Xr netgroup 5 +.Sh 互換性 +ネットグループメンバには、他のベンダによる実装との互換性を維持するために +3 つの文字列フィールドがありますが、 +.Sy domain +文字列の BSD 内での使用法が明らかではありません。 +.Sh バグ +関数 +.Fn getnetgrent +は、動的に割り振られたデータ領域のポインタを返しますが、 +関数 +.Fn endnetgrent +が呼び出されるとそのデータ領域は解放されます。 diff --git a/ja_JP.eucJP/man/man3/getobjformat.3 b/ja_JP.eucJP/man/man3/getobjformat.3 new file mode 100644 index 0000000000..2e665f9552 --- /dev/null +++ b/ja_JP.eucJP/man/man3/getobjformat.3 @@ -0,0 +1,133 @@ +.\" Copyright (c) 1998 John D. Polstra +.\" 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. +.\" +.\" $Id: getobjformat.3,v 1.1.1.1 1999-12-09 16:26:03 kuriyama Exp $ +.\" +.Dd September 7, 1998 +.Dt GETOBJFORMAT 3 +.Os FreeBSD +.Sh 名称 +.Nm getobjformat +.Nd 優先オブジェクトファイルフォーマットの取得 +.Sh 書式 +.Fd #include +.Ft int +.Fn getobjformat "char *buf" "size_t bufsize" "int *argcp" "char **argv" +.Sh 解説 +.Fn getobjformat +はいくつかの情報源に問い合わせて、 +優先オブジェクトファイルフォーマットを決め、呼び出し元によって設定された +バッファにその名前をコピーします。 +.Pp +オブジェクトファイルフォーマットは、次のように決定されます。 +.Va argv +が +.Dv NULL +でなく、 +.Fl aout +または +.Fl elf +のような明示的なコマンドライン引数が存在する場合は、 +その引数がオブジェクトファイルフォーマットを決めます。 +.Pp +そうでない場合、環境に変数 +.Ev OBJFORMAT +が設定されていれば、 +その変数の値からオブジェクトファイルフォーマットがとられます。 +.Pp +そうでない場合、ファイル +.Pa /etc/objformat +の読み取りが可能で、 +.Ql OBJFORMAT=xxx +という形式の行が含まれていれば、オブジェクトファイルフォーマット +はそこからとられます。 +.Pp +そうでない場合、 +組み込みのシステムデフォルトのオブジェクトファイルフォーマットが返ります。 +.Pp +.Va buf +は、オブジェクトファイルフォーマットの名前がそこにコピーされる、 +ユーザ指定のバッファを示します。 +.Va bufsize +は、バッファの大きさをバイト数で与えます。 +.Va buf +に置かれる文字列は常にヌルで終わります。 +ヌルで終わるバッファ名を保持するためにはバッファが小さすぎる場合、 +エラーになります。 +.Pp +.Va argv +は、オブジェクトフォーマットのオプションがスキャンされる、 +.Dv NULL +で終わる引数ベクトルを示します。引数ベクトルがスキャンしない場合は、 +.Va argv +を +.Dv NULL +にすることができます。 +.Pp +.Va argcp +が +.Dv NULL +でなければ、すべてのオブジェクトフォーマットオプションは引数 +ベクトルから削除され、更新された引数カウントが、 +.Va argcp +で参照される整数に格納されます。 +.Va argcp +が +.Dv NULL +ならば、引数ベクトルは変更されないでそのまま残ります。 +.Sh 戻り値 +成功した場合 +.Fn getobjformat +は、終わりのヌルを含まない +オブジェクトファイルフォーマット名の長さを返します。 +オブジェクトファイルフォーマットおよび終わりのヌルを保持するためには、 +指定のバッファが小さすぎる場合、 +.Fn getobjformat +は -1 を返します。 +その場合 +バッファおよび、呼び出し元によって指定された引数ベクトルの内容は不定です。 +.Sh 環境変数 +.Bl -tag -width OBJFORMAT +.It Ev OBJFORMAT +環境変数 +.Ev OBJFORMAT +が設定されると、デフォルトのオブジェクトファイルフォーマットに優先します。 +.Ev OBJFORMAT +は +.Pa /etc/objformat +に優先します。 +.Sh 関連ファイル +.Bl -tag -width /etc/objformat -compact +.It Pa /etc/objformat +存在すればこれが、使用するオブジェクトファイルフォーマットを指定します。構文は +.Ql OBJFORMAT=xxx +です。 +.Sh 関連項目 +.Xr objformat 1 +.Pp +.Sh 歴史 +.Fn getobjformat +関数は +.Fx 3.0 +で最初に取り入れられました。 diff --git a/ja_JP.eucJP/man/man3/getopt.3 b/ja_JP.eucJP/man/man3/getopt.3 new file mode 100644 index 0000000000..5cb2d5b650 --- /dev/null +++ b/ja_JP.eucJP/man/man3/getopt.3 @@ -0,0 +1,249 @@ +.\" Copyright (c) 1988, 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. +.\" +.\" @(#)getopt.3 8.5 (Berkeley) 4/27/95 +.\" +.Dd April 27, 1995 +.Dt GETOPT 3 +.Os BSD 4.3 +.Sh 名称 +.Nm getopt +.Nd コマンドラインの引数リストからのオプション文字の取得 +.Sh 書式 +.Fd #include +.Vt extern char *optarg; +.Vt extern int optind; +.Vt extern int optopt; +.Vt extern int opterr; +.Vt extern int optreset; +.Ft int +.Fn getopt "int argc" "char * const *argv" "const char *optstring" +.Sh 解説 +.Fn getopt +関数はコマンドラインの引数リスト +.Fa argv +を逐次的に解析して、次の +.Em 既知 +オプション文字を返します。受け入れオプション文字集合の文字列 +.Fa optstring +に指定されていた場合、そのオプション文字は +.Em 既知 +です。 +.Pp +オプション文字列 +.Fa optstring +は次の要素含み得ます。それは、個々の文字と、後にコロンが付いた文字です。 +コロン付きの文字は後にオプションの引数が続くことを意味します。たとえば、 +オプション文字列 +.Li "\&""x"" +はオプション +.Dq Fl x +を受け入れ、 +オプション文字列 +.Li "\&""x:"" +はオプションと引数 +.Dq Fl x argument +を受け入れます。後に続く引数の頭に余白があっても、 +.Fn getopt +は構いません。 +.Pp +.Fn getopt +からの戻ると、 +.Va optarg +はそれが予期されていればオプションの引数を示し、変数 +.Va optind +には以後の +.Fn getopt +呼び出しで使用する、次の +.Fa argv +引数のインデックスが含まれます。また変数 +.Va optopt +は、 +.Fn getopt +によって返された最後の +.Em 既知 +オプション文字を保存します。 +.Pp +変数 +.Va opterr +および +.Va optind +はどちらも 1 に初期化されます。多かれ少なかれ +.Fa argv +エントリを飛び越すための +.Fn getopt +呼び出しの設定前ならば、 +.Va optind +変数は別の値に設定できます。 +.Pp +複数セットの引数の評価または、1 つの引数セットの複数回評価のために +.Fn getopt +を使用する場合、2 回目以降の +.Fn getopt +各追加呼び出し設定前に変数 +.Va optreset +は 1 に設定し、変数 +.Va optind +は再初期化する必要があります。 +.Pp +.Fn getopt +関数は引数リストを使い果たした場合 \-1 を、受け入れられない +オプションに出会った場合は +.Ql ? +を返します。引数リストにあるオプションの解釈は、オプション +.Ql -- +(2 重のダッシュ) によって取り消すことができます。 +このオプションによって、 +.Fn getopt +は引数処理の終わりを伝え、\-1 を返します。 +すべてのオプションの処理が終わると +(すなわち、最初の非オプション引数に出会うと) +.Fn getopt +は \-1 を返します。 +.Sh 診断 +文字列 +.Va optarg +にない文字に出会うか、またはオプション引数の欠落を検出すると、 +.Fn getopt +関数はエラーメッセージを +.Em stderr +に書き出して +.Ql ? +を返します。 +.Va opterr +を 0 に設定すると、これらのエラーメッセージは無効になります。 +.Fa optstring +の頭に +.Ql \&: +を付ければ、オプション引数に +欠落があった場合、あらゆるエラーメッセージを抑制した上で +.Ql \&: +が返ります。 +.Pp +オプション引数を +.Dq Li \- +で開始可能です。これは合理的ですが、反面で +可能なエラーチェック回数を減らすという不利があります。 +.Sh 拡張 +.Fn getopt +関数の複数回呼び出しを可能にするため、 +.Va optreset +変数が追加されました。これは +.St -p1003.2 +規格への拡張です。 +.Sh 使用例 +.Bd -literal -compact +extern char *optarg; +extern int optind; +int bflag, ch, fd; + +bflag = 0; +while ((ch = getopt(argc, argv, "bf:")) != -1) + switch (ch) { + case 'b': + bflag = 1; + break; + case 'f': + if ((fd = open(optarg, O_RDONLY, 0)) < 0) { + (void)fprintf(stderr, + "myname: %s: %s\en", optarg, strerror(errno)); + exit(1); + } + break; + case '?': + default: + usage(); + } +argc -= optind; +argv += optind; +.Ed +.Sh 歴史 +.Fn getopt +関数は +.Bx 4.3 +で最初に取り入れられました。 +.Sh バグ +.Fn getopt +関数はいったん、\-1 の代わりに +.Dv EOF +を返すように指定されました。これは、 +.Fn getopt +を +.Aq Pa stdio.h +から切り離すことで、 +.St -p1003.2-92 +により変更されました。 +.Pp +.Fa optstring +の文字として単一ダッシュ +.Dq Li - +も指定できますが、 +関連する引数を持つことは +.Em 決して +許されません。このため、オプションフラグとして +.Dq Li - +が予期されるプログラムでも、 +.Fn getopt +を使用可能です。しかし、これは間違いです。 +現在のどのようなプログラム開発でもこれは使うべきではありません。 +下位互換のため +.Em だけ +に存在します。 +デフォルトで単一ダッシュは、 +.Fn getopt +に \-1 を返させます。これは System V と互換であるはずです。 +.Pp +オプション文字として数字も使えます。このため、オプションとして数字 +.Pq Dq Li \&-\&3 +が予期されるプログラムでも +.Fn getopt +を使用可能です。しかし、これは間違いです。 +現在のどのようなプログラム開発でもこれは使うべきではありません。 +下位互換のため +.Em だけ +に存在します。 +次のコードフラグメントが、ほとんどの場合に動作します。 +.Bd -literal -offset indent +int length; +char *p; + +while ((ch = getopt(argc, argv, "0123456789")) != -1) + switch (ch) { + case '0': case '1': case '2': case '3': case '4': + case '5': case '6': case '7': case '8': case '9': + p = argv[optind - 1]; + if (p[0] == '-' && p[1] == ch && !p[2]) + length = atoi(++p); + else + length = atoi(argv[optind] + 1); + break; + } +.Ed diff --git a/ja_JP.eucJP/man/man3/getpagesize.3 b/ja_JP.eucJP/man/man3/getpagesize.3 new file mode 100644 index 0000000000..10467b12df --- /dev/null +++ b/ja_JP.eucJP/man/man3/getpagesize.3 @@ -0,0 +1,60 @@ +.\" Copyright (c) 1983, 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. +.\" +.\" @(#)getpagesize.3 8.1 (Berkeley) 6/4/93 +.\" +.Dd June 4, 1993 +.Dt GETPAGESIZE 3 +.Os BSD 4.2 +.Sh 名称 +.Nm getpagesize +.Nd システムのページサイズを取得 +.Sh 書式 +.Fd #include +.Ft int +.Fn getpagesize void +.Sh 解説 +.Fn getpagesize +は +1 ページのバイト数を返します。ページの細分性は、多くの +メモリ管理呼び出しの細分性です。 +.Pp +ページサイズはシステムのページサイズで、基礎となるハードウェアの +ページサイズとは異なる場合があります。 +.Sh 関連項目 +.Xr pagesize 1 +、 +.Xr sbrk 2 +.Sh 歴史 +.Fn getpagesize +関数の呼び出しは、 +.Bx 4.2 +で最初に取り入れられました。 diff --git a/ja_JP.eucJP/man/man3/getpass.3 b/ja_JP.eucJP/man/man3/getpass.3 new file mode 100644 index 0000000000..e23a10fc62 --- /dev/null +++ b/ja_JP.eucJP/man/man3/getpass.3 @@ -0,0 +1,95 @@ +.\" Copyright (c) 1989, 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. +.\" +.\" @(#)getpass.3 8.1 (Berkeley) 6/4/93 +.\" +.Dd June 4, 1993 +.Dt GETPASS 3 +.Os +.Sh 名称 +.Nm getpass +.Nd パスワードを取得 +.Sh 書式 +.Fd #include +.Fd #include +.Ft char * +.Fn getpass "const char *prompt" +.Sh 解説 +.Fn getpass +関数は +.Pa /dev/tty +にプロンプトを表示し、パスワードをそこから読み +込みます。ファイルにアクセスできない場合、 +.Fn getpass +はプロンプトを標準 +エラー出力に表示し、標準入力からパスワードを読み込みます。 +.Pp +パスワードの長さは最大 +_PASSWORD_LEN (現在 +128) +キャラクタまで可能です。 +それを超えるキャラクタと終端の改行キャラクタは廃棄されます。 +.Pp +パスワードの読み込み中、 +.Fn getpass +関数はキャラクタのエコーをオフにします。 +.Pp +.Sh 戻り値 +.Fn getpass +関数は、 +null +で終わるパスワードのポインタを返します。 +.Sh 関連ファイル +.Bl -tag -width /dev/tty -compact +.It Pa /dev/tty +.El +.Sh 関連項目 +.Xr crypt 3 +.Sh 歴史 +.Fn getpass +関数は、 +.At v7 +で最初に取り入れられました。 +.Sh バグ +.Fn getpass +関数は内部静的オブジェクトに処理結果を残し、オブジェクトの +ポインタを返します。以後の +.Fn getpass +呼び出しが同じオブジェクトを改変します。 +.Pp +クリアテキストパスワードが、この処理のアドレス空間に可視の状態で残るのを +回避するためには、この関数の呼び出し処理によってできるだけ早くパスワードを +ゼロにする必要があります。 +.Pp +SIGTSTP +を受け取ると入力バッファはフラッシュされます。したがって処理を +継続する場合は、一部タイプ指定したパスワードはすべて再入力する +必要があります。 diff --git a/ja_JP.eucJP/man/man3/getprotoent.3 b/ja_JP.eucJP/man/man3/getprotoent.3 new file mode 100644 index 0000000000..e2e837d840 --- /dev/null +++ b/ja_JP.eucJP/man/man3/getprotoent.3 @@ -0,0 +1,142 @@ +.\" Copyright (c) 1983, 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. +.\" +.\" @(#)getprotoent.3 8.1 (Berkeley) 6/4/93 +.\" +.Dd June 4, 1993 +.Dt GETPROTOENT 3 +.Os BSD 4.2 +.Sh 名称 +.Nm getprotoent , +.Nm getprotobynumber , +.Nm getprotobyname , +.Nm setprotoent , +.Nm endprotoent +.Nd プロトコルエントリを取得 +.Sh 書式 +.Fd #include +.Ft struct protoent * +.Fn getprotoent void +.Ft struct protoent * +.Fn getprotobyname "const char *name" +.Ft struct protoent * +.Fn getprotobynumber "int proto" +.Ft void +.Fn setprotoent "int stayopen" +.Ft void +.Fn endprotoent void +.Sh 解説 +.Fn getprotoent +、 +.Fn getprotobyname +および +.Fn getprotobynumber +関数はそれぞれ、 +次に示す構造体を持つオブジェクトのポインタを返します。構造体には、 +ネットワークプロトコルデータベース +.Pa /etc/protocols +にある行の内訳フィールド +が含まれます。 +.Bd -literal -offset indent +.Pp +struct protoent { + char *p_name; /* プロトコルのオフィシャル名 */ + char **p_aliases; /* エイリアスリスト */ + int p_proto; /* プロトコル番号 */ +}; +.Ed +.Pp +この構造体のメンバは次のとおりです。 +.Bl -tag -width p_aliases +.It Fa p_name +プロトコルのオフィシャル名。 +.It Fa p_aliases +プロトコルのゼロで終わる別名 +(エイリアス) +リスト。 +.It Fa p_proto +プロトコル番号。 +.El +.Pp +.Fn getprotoent +関数は、必要ならばファイルをオープンして次の行を読み +込みます。 +.Pp +.Fn setprotoent +関数は、ファイルをオープンしてリワインドします。 +.Fa stayopen +フラグがゼロでなければ、 +.Fn getprotobyname +または +.Fn getprotobynumber +の各呼び出しの後、ネットデータベースはクローズされません。 + +.Fn endprotoent +関数はファイルをクローズします。 +.Pp +.Fn getprotobyname +および +.Fn getprotobynumber +関数は、適合する +プロトコル名またはプロトコル番号が見付かるか、または +.Dv EOF +に出会うまでファイルを順次検索します。 +.Sh 戻り値 +.Dv EOF +またはエラーで +Null +ポインタ +(0) +が返ります。 +.Sh 関連ファイル +.Bl -tag -width /etc/protocols -compact +.It Pa /etc/protocols +.El +.Sh 関連項目 +.Xr protocols 5 +.Sh 歴史 +.Fn getprotoent +、 +.Fn getprotobynumber +、 +.Fn getprotobyname +、 +.Fn setprotoent +および +.Fn endprotoent +関数は +.Bx 4.2 +で最初に取り入れられました。 +.Sh バグ +これらの関数は静的データ空間を使用します。後で使用する必要があれば、以後の +呼び出しで上書きする前にデータをコピーして保存する必要があります。なお、 +プロトコルデータとして受け入れるのは現在、インターネットプロトコル +だけです。 diff --git a/ja_JP.eucJP/man/man3/getpw.3 b/ja_JP.eucJP/man/man3/getpw.3 new file mode 100644 index 0000000000..bd0ce2ad34 --- /dev/null +++ b/ja_JP.eucJP/man/man3/getpw.3 @@ -0,0 +1,90 @@ +.\" 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. +.\" +.\" @(#)getpw.3 8.1 (Berkeley) 6/4/93 +.\" +.Dd June 4, 1993 +.Dt GETPW 3 +.Os +.Sh 名称 +.Nm getpw +.Nd uidからユーザ名を取得 +.Sh 書式 +.Fd #include +.Ft int +.Fn getpw "uid_t uid" "char *buf" +.Sh 解説 +.Bf -symbolic +getpw 関数は、getpwuid(3) +の登場によって廃止されています。 +.br +互換性ライブラリ +libcompat +で利用できます。 +.Ef +.Pp +.Fn getpw +関数はファイル +.Pa /etc/passwd +を読み出し、指定 +.Fa uid +が見付かればその +パスワードエントリ行を、 +.Fa buf +によって示されるストリングにコピーします。 +パスワードデータベースからコピーするエントリ行が +null +で終わっている場合は、 +.Dv NUL +キャラクタを後に付加します。 +.Sh 戻り値 +.Fn getpw +関数は、処理が無事に完了した場合ゼロを返します。エントリが +存在しないなど、その他の場合は非ゼロを返します。 +.Sh 関連ファイル +.Bl -tag -width /etc/passwd - compact +.It Pa /etc/passwd +.El +.Sh 関連項目 +.Xr getpwent 3 +、 +.Xr passwd 5 +.Sh 歴史 +.Fn getpw +関数は、 +.At v6 +で最初に取り入れられました。 +.Sh バグ +.Fa buf +で示された領域は、ユーザ名を保持するのに十分な大きさの必要があります。 + +.Xr getpwent 3 +に関するバグはすべてこの関数でも有効です。 diff --git a/ja_JP.eucJP/man/man3/getpwent.3 b/ja_JP.eucJP/man/man3/getpwent.3 new file mode 100644 index 0000000000..13098b3bd0 --- /dev/null +++ b/ja_JP.eucJP/man/man3/getpwent.3 @@ -0,0 +1,237 @@ +.\" Copyright (c) 1988, 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. +.\" +.\" From: @(#)getpwent.3 8.2 (Berkeley) 12/11/93 +.\" +.Dd September 20, 1994 +.Dt GETPWENT 3 +.Os +.Sh 名称 +.Nm getpwent , +.Nm getpwnam , +.Nm getpwuid , +.Nm setpassent , +.Nm setpwent , +.Nm endpwent +.Nd パスワードデータベースを操作 +.Sh 書式 +.Fd #include +.Fd #include +.Ft struct passwd * +.Fn getpwent void +.Ft struct passwd * +.Fn getpwnam "const char *login" +.Ft struct passwd * +.Fn getpwuid "uid_t uid" +.Ft int +.Fn setpassent "int stayopen" +.Ft void +.Fn setpwent void +.Ft void +.Fn endpwent void +.Sh 解説 +これらの関数は、 +.Xr passwd 5 +に記述されたパスワードデータベースファイルを +操作します。データベースの各エントリは、インクルードファイル +.Aq Pa pwd.h +にある +構造体 +.Ar passwd +によって定義されます。次のとおりです。 +.Bd -literal -offset indent +struct passwd { + char *pw_name; /* ユーザ名 */ + char *pw_passwd; /* 暗号化パスワード */ + uid_t pw_uid; /* ユーザ uid */ + gid_t pw_gid; /* ユーザ gid */ + time_t pw_change; /* パスワードの変更時期 */ + char *pw_class; /* ユーザアクセスクラス */ + char *pw_gecos; /* ハネウエルログイン情報 */ + char *pw_dir; /* ホームディレクトリ */ + char *pw_shell; /* デフォルトのシェル */ + time_t pw_expire; /* アカウント有効期限 */ + int pw_fields; /* 内部 : 充てんフィールド */ +}; +.Ed +.Pp +関数 +.Fn getpwnam +は与えられたログイン名を、 +.Fn getpwuid +は与えられたユーザ +uid +を、それぞれパスワードデータベースで検索し、常に最初に出会った +エントリを返します。 +.Pp +.Fn getpwent +関数はパスワードデータベースを順次読み込みます。ユーザの完全 +リストを処理したいプログラム向きです。 +.Pp +.Fn setpassent +関数は +2 つの目的を遂行します。まず +.Fn getpwent +にデータベースの最初へ +``rewind'' (リワインド) +させます。さらに +.Fa stayopen +がゼロ +でなければ、ファイル記述子をオープンしたままにします。これらルーチン +すべての以後のアクセスが、このためきわめて高速化されます。 +(ただし +.Fn getpwent +の場合、デフォルトで記述子をクローズしないので後者の機能性は +不要です。) +.Pp +プログラム実行中に更新されるとデータベースが古くなるので、長時間実行 +プログラムでファイル記述子をオープンしたままにすることは危険です。 +.Pp +.Fn setpwent +関数は、引数ゼロを持つ +.Fn setpassent +と同じです。 +.Pp +.Fn endpwent +関数は、オープンしているファイルをすべてクローズします。 +.Pp +これらのルーチンは、パスワードファイルを +``shadow'' (シャドウ) +する目的で +書かれました。たとえば、暗号化パスワードにアクセスできるプログラムが +限定できるようにです。たとえば、これらを呼び出す処理の +uid +が有効な +0 ならばパスワードを返し、その他の場合は構造体のパスワードフィールドに、 +ストリング +.Ql * +を示して返します。 +.Sh YP/NIS の相互作用 +.Xr yp 4 +パスワード +データベースが使用可能な場合、ローカルのデータベースに +要求されたパスワードエントリが見付からないと、 +.Fn getpwnam +および +.Fn getpwuid +関数はそれぞれ、 +YP +マップ +.Dq Li passwd.byname +および +.Dq Li passwd.byuid +を使用します。 +.Xr passwd 5 +で記述されたとおりに全体マップが使用可能ならば、 +.Fn getpwent +関数は +YP +マップ +.Dq Li passwd.byname +を通ります。 +.Sh 戻り値 +関数 +.Fn getpwent +、 +.Fn getpwnam +および +.Fn getpwuid +は、いずれも成功すると、 + passwd +構造体の有効なポインタを返します。エンドオブファイルに到達するか +エラーが発生した場合は、 +null +ポインタが返ります。 +.Fn setpassent +関数は失敗した +場合は +0 を、成功した場合は +1 を返します。 +.Fn endpwent +および +.Fn setpwent +関数の戻り値はありません。 +.Sh 関連ファイル +.Bl -tag -width /etc/master.passwd -compact +.It Pa /etc/pwd.db +安全ではないパスワードデータベースファイル +.It Pa /etc/spwd.db +安全なパスワードデータベースファイル +.It Pa /etc/master.passwd +現在のパスワードファイル +.It Pa /etc/passwd +Version 7 +形式のパスワードファイル +.El +.Sh 関連項目 +.Xr getlogin 2 +、 +.Xr getgrent 3 +、 +.Xr yp 4 +、 +.Xr passwd 5 +、 +.Xr pwd_mkdb 8 +、 +.Xr vipw 8 +.Sh 歴史 +.Fn getpwent +、 +.Fn getpwnam +、 +.Fn getpwuid +、 +.Fn setpwent +および +.Fn endpwent +関数は、 +.At v7 +で最初に取り入れられました。 +.Fn setpassent +関数は +.Bx 4.3-Reno +で最初に取り入れられました。 +.Sh 互換性 +代替パスワードデータベースの規格を許した歴史的な関数 +.Xr setpwfile 3 +は、 +これまで非難されてきましたが、もはや使用できません。 +.Sh バグ +関数 +.Fn getpwent +、 +.Fn getpwnam +および +.Fn getpwuid +は、それぞれの結果を内部の +静的オブジェクトに残し、そのオブジェクトのポインタを返します。後に続く同じ +関数の呼び出しは、この同じオブジェクトを改変します。 diff --git a/ja_JP.eucJP/man/man3/getrpcent.3 b/ja_JP.eucJP/man/man3/getrpcent.3 new file mode 100644 index 0000000000..3498211294 --- /dev/null +++ b/ja_JP.eucJP/man/man3/getrpcent.3 @@ -0,0 +1,91 @@ +.\" @(#)getrpcent.3n 2.2 88/08/02 4.0 RPCSRC; from 1.11 88/03/14 SMI +.Dd December 14, 1987 +.Dt GETRPCENT 3 +.Os +.Sh 名称 +.Nm getrpcent , +.Nm getrpcbyname , +.Nm getrpcbynumber , +.Nm endrpcent , +.Nm setrpcent +.Nd RPC エントリを取得 +.Sh 書式 +.Fd #include +.Ft struct rpcent * +.Fn getrpcent void +.Ft struct rpcent * +.Fn getrpcbyname "char *name" +.Ft struct rpcent * +.Fn getrpcbynumber "int number" +.Ft void +.Fn setrpcent "int stayopen" +.Ft void +.Fn endrpcent void +.Sh 解説 +.Fn getrpcent +、 +.Fn getrpcbyname +および +.Fn getrpcbynumber +関数はそれぞれ、次に +示す構造体を持つオブジェクトのポインタを返します。構造体には +rpc +プログラム番号データベース +.Pa /etc/rpc +にある、行の内訳フィールドが +含まれます。 +.Bd -literal +struct rpcent { + char *r_name; /* この rpc プログラムのサーバ名 */ + char **r_aliases; /* エイリアスリスト */ + long r_number; /* rpc プログラム番号 */ +}; +.Ed +.Pp +この構造体のメンバは次のとおりです。 +.Bl -tag -width r_aliasesxxx +.It Fa r_name +この rpc プログラムのサーバ名。 +.It Fa r_aliases +rpc プログラムの、ゼロで終わる別名 (エイリアス) リスト。 +.It Fa r_number +このサービスの rpc プログラム番号。 +.El +.Pp +.Fn getrpcent +関数は、必要ならばファイルをオープンして次の行を読み込みます。 +.Nm getrpcent +関数はファイルをオープンしリワインドします。 +.Fa stayopen +フラグがゼロでなければ、 (直接呼び出しかまたは、ほかの +.Fn getrpcent +関数ファミリの 1 つを介しての間接呼び出しかにかかわらず) 、 +.Fn getrpcent +の各呼び出しの後でネットデータベースはクローズされません。 +.Pp +.Fn endrpcent +はファイルをクローズします。 +.Pp +.Fn getrpcbyname +および +.Fn getrpcbynumber +関数は、適合する +rpc +プログラム名またはプログラム番号が見付かるか、またはエンドオブファイルに +出会うまで、最初から順次ファイルを検索します。 +.Sh 関連ファイル +.Bl -tag -width /etc/rpc -compact +.It Pa /etc/rpc +.El +.Sh 関連項目 +.Xr rpc 5 , +.Xr rpcinfo 8 , +.Xr ypserv 8 +.Sh 診断 +.Dv EOF +またはエラーの場合 +.Dv NULL +ポインタが返ります。 +.Sh バグ +すべての情報は静的領域に含まれるので、保存が必要な場合はコピー +しなければなりません。 diff --git a/ja_JP.eucJP/man/man3/getrpcport.3 b/ja_JP.eucJP/man/man3/getrpcport.3 new file mode 100644 index 0000000000..8b01804908 --- /dev/null +++ b/ja_JP.eucJP/man/man3/getrpcport.3 @@ -0,0 +1,35 @@ +.\" @(#)getrpcport.3r 2.2 88/08/02 4.0 RPCSRC; from 1.12 88/02/26 SMI +.Dd October 6, 1987 +.Dt GETRPCPORT 3 +.Os +.Sh 名称 +.Nm getrpcport +.Nd RPC ポート番号を取得 +.Sh 書式 +.Ft int +.Fn getrpcport "char *host" "int prognum" "int versnum" "int proto" +.Sh 解説 +.Fn getrpcport +関数は、プロトコル +.Fa proto +を使用して +.Fa host +で実行している +RPC +プログラム +.Fa prognum +の、バージョン +.Fa versnum +用ポート番号を返します。 +ポートマッパにコンタクトできない場合、または +.Fa prognum +が登録されていなければ +0 が返ります。 +.Fa prognum +が登録されていれば、たとえバージョン +.Fa versnum +がなくてもやはりポート番号 +(そのプログラムの適当なバージョン用) +が返り、 +プログラムの登録が示されます。バージョンの不適合は、サービスの最初の呼び +出しで検出されます。 diff --git a/ja_JP.eucJP/man/man3/getservent.3 b/ja_JP.eucJP/man/man3/getservent.3 new file mode 100644 index 0000000000..a27d9d78d0 --- /dev/null +++ b/ja_JP.eucJP/man/man3/getservent.3 @@ -0,0 +1,153 @@ +.\" Copyright (c) 1983, 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. +.\" +.\" From: @(#)getservent.3 8.3 (Berkeley) 1/12/94 +.\" $Id: getservent.3,v 1.1.1.1 1999-12-09 16:26:03 kuriyama Exp $ +.\" +.Dd July 9, 1995 +.Dt GETSERVENT 3 +.Os BSD 4.2 +.Sh 名称 +.Nm getservent , +.Nm getservbyport , +.Nm getservbyname , +.Nm setservent , +.Nm endservent +.Nd サービスエントリを取得 +.Sh 書式 +.Fd #include +.Ft struct servent * +.Fn getservent +.Ft struct servent * +.Fn getservbyname "const char *name" "const char *proto" +.Ft struct servent * +.Fn getservbyport "int port" "const char *proto" +.Ft void +.Fn setservent "int stayopen" +.Ft void +.Fn endservent void +.Sh 解説 +.Fn getservent +、 +.Fn getservbyname +および +.Fn getservbyport +関数はそれぞれ、次に +示す構造体を持つオブジェクトのポインタを返します。構造体には +ネットワークサービスデータベース +.Pa /etc/services +にある、行の内訳フィールドが +含まれます。 +.Bd -literal -offset indent +struct servent { + char *s_name; /* サービスのオフィシャル名 */ + char **s_aliases; /* エイリアスリスト */ + int s_port; /* サービスが常駐するポート */ + char *s_proto; /* 使用するプロトコル */ +}; +.Ed +この構造体のメンバは次のとおりです。 +.Bl -tag -width s_aliases +.It Fa s_name +サービスのオフィシャル名。 +.It Fa s_aliases +サービスのゼロで終わる別名 +(エイリアス) +リスト。 +.It Fa s_port +サービスが常駐するポート番号。ポート番号は +ネットワークバイト順で返されます。 +.It Fa s_proto +サービスとのコンタクト中に使用するプロトコル名。 +.El +.Pp +.Fn getservent +関数は、必要ならばファイルをオープンして次の行を読み込みます。 +.Pp +.Fn setservent +関数はファイルをオープンしリワインドします。 +.Fa stayopen +フラグがゼロでなければ、 +.Fn getservbyname +または +.Fn getservbyport +の各呼び出し後に、 +ネットデータベースはクローズされません。 +.Pp +.Fn endservent +関数はファイルをクローズします。 +.Pp +適合するプロトコル名またはポート番号が見付かるか、さもなければ +.Dv EOF +に +出会うまで、 +.Fn getservbyname +および +.Fn getservbyport +関数は最初から順次 +ファイルを検索します。プロトコル名が供給されていても( +.Dv NULL +でなくても) +、検索は適合するプロトコルが見付かるまで続けられます。 +.ne 1i +.Sh 関連ファイル +.Bl -tag -width /etc/services -compact +.It Pa /etc/services +.El +.Sh 診断 +.Dv EOF +またはエラーの場合、 +Null +ポインタ +(0) +が返ります。 +.Sh 関連項目 +.Xr getprotoent 3 +、 +.Xr services 5 +.Sh 歴史 +.Fn getservent +、 +.Fn getservbyport +、 +.Fn getservbyname +、 +.Fn setservent +および +.Fn endservent +関数は、 +.Bx 4.2 +で最初に取り入れられました。 +.Sh バグ +これらの関数は静的データストレージを使用します。後で使用する必要があれば、 +以後の呼び出しで上書きする前にデータをコピーして保存する必要があります。 +ポート番号がすべて +32 ビットに適合すると考えるのは、たぶん素朴過ぎます。 diff --git a/ja_JP.eucJP/man/man3/getsubopt.3 b/ja_JP.eucJP/man/man3/getsubopt.3 new file mode 100644 index 0000000000..ecd2ce58e4 --- /dev/null +++ b/ja_JP.eucJP/man/man3/getsubopt.3 @@ -0,0 +1,154 @@ +.\" Copyright (c) 1990, 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. +.\" +.\" @(#)getsubopt.3 8.1 (Berkeley) 6/9/93 +.\" +.Dd June 9, 1993 +.Dt GETSUBOPT 3 +.Os +.Sh 名称 +.Nm getsubopt +.Nd 引数からサブオプションを取得 +.Sh 書式 +.Fd #include +.Vt extern char *suboptarg +.Ft int +.Fn getsubopt "char **optionp" "char * const *tokens" "char **valuep" +.Sh 解説 +.Fn getsubopt +関数は、 +1 つまたは複数のタブ、スペースまたはコンマ +.Pq Ql \&, +キャラクタによって区切られた、トークンが含まれるストリングを解析します。 +ユーティリティコマンドラインの一部として提供される、オプション引数グループ +の解析に使用するのが目的です。 +.Pp +引数 +.Fa optionp +は、ストリングのポインタを示すポインタです。引数 +.Fa tokens +は、 +ストリングのポインタの +.Dv NULL +で終わる配列を示すポインタです。 +.Pp +.Fn getsubopt +関数は、ストリングの最初のトークンに適合するストリングを、 +参照するポインタのゼロベースオフセットを返します。ストリングにトークンが +一切含まれない、または +.Fa tokens +に適合するストリングか含まれない場合には、 +\-1 を返します。 +.Pp +トークンの形式が +``name=value'' +である場合、 +.Fa valuep +で参照される位置は、トークンの +``値'' +部分の開始を示すように設定されます。 +.Pp +.Fn getsubopt +からの戻りでは、 +.Fa optionp +がストリングの次のトークンの開始を +示すように設定されます。または、それ以上のストリングがない場合には、 +ストリングの終わりに +null +を示します。外部変数 +.Fa suboptarg +は、現在のトークン +の開始を示すように設定されます。トークンがなかった場合は、 +.Dv NULL +を示します。 +引数 +.Fa valuep +は、トークンの +``値'' +部分を示すように設定されます。または、 +``値'' +部分がなかった場合は +.Dv NULL +を示します。 +.Sh 例 +.Bd -literal -compact +char *tokens[] = { + #define ONE 0 + "one", + #define TWO 1 + "two", + NULL +}; + +\&... + +extern char *optarg, *suboptarg; +char *option, *value; + +while ((ch = getopt(argc, argv, "ab:")) != -1) { + switch(ch) { + case 'a': + /* ``a'' オプションを処理 */ + break; + case 'b': + option = optarg; + while (*option) { + switch(getsubopt(&option, tokens, &value)) { + case ONE: + /* ``one'' サブオプションを処理 */ + break; + case TWO: + /* ``two'' サブオプションを処理 */ + if (!value) + error("no value for two"); + i = atoi(value); + break; + case \-1: + if (suboptarg) + error("illegal sub option %s", + suboptarg); + else + error("missing sub option"); + break; + } + break; + } + +.Ed +.Sh 関連項目 +.Xr getopt 3 +、 +.Xr strsep 3 +.Sh 歴史 +.Fn getsubopt +関数は +.Bx 4.4 +で最初に取り入れられました。 diff --git a/ja_JP.eucJP/man/man3/getttyent.3 b/ja_JP.eucJP/man/man3/getttyent.3 new file mode 100644 index 0000000000..cc7fddfb02 --- /dev/null +++ b/ja_JP.eucJP/man/man3/getttyent.3 @@ -0,0 +1,238 @@ +.\" Copyright (c) 1989, 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. +.\" +.\" @(#)getttyent.3 8.1 (Berkeley) 6/4/93 +.\" +.Dd November 17, 1996 +.Dt GETTTYENT 3 +.Os BSD 4.3 +.Sh 名称 +.Nm getttyent , +.Nm getttynam , +.Nm setttyent , +.Nm endttyent +.Nd ttys ファイルエントリを取得 +.Nm isdialuptty , +.Nm isnettty +.Nd ファイルエントリから tty タイプを決める +.Sh 書式 +.Fd #include +.Ft struct ttyent * +.Fn getttyent void +.Ft struct ttyent * +.Fn getttynam "const char *name" +.Ft int +.Fn setttyent void +.Ft int +.Fn endttyent void +.Ft int +.Fn isdialuptty "const char *name" +.Ft int +.Fn isnettty "const char *name" +.Sh 解説 +.Fn getttyent +および +.Fn getttynam +関数はそれぞれ、次に示す構造体を持つ +オブジェクトのポインタを返します。構造体には、 +tty +記述ファイルにある行の +内訳フィールドが含まれます。 +.Bd -literal +struct ttyent { + char *ty_name; /* 端末デバイス名 */ + char *ty_getty; /* 実行するコマンド、通常は getty */ + char *ty_type; /* termcap の端末タイプ */ +#define TTY_ON 0x01 /* ログインの有効化 (ty_getty +プログラムの開始) */ +#define TTY_SECURE 0x02 /* uid 0 でのログイン許可 */ +#define TTY_DIALUP 0x04 /* ダイアルアップ tty */ +#define TTY_NETWORK 0x08 /* ネットワーク tty */ + int ty_status; /* ステータスフラグ */ + char *ty_window; /* ウィンドウマネージャ起動コマンド */ + char *ty_comment; /* コメントフィールド */ + char *ty_group; /* tty グループ名 */ +}; +.Ed +.Pp +フィールドは次のとおりです。 +.Bl -tag -width ty_comment +.It Fa ty_name +キャラクタ +- +特殊ファイル名。 +.It Fa ty_getty +tty +回線特性の初期化のため、 +.Xr init 8 +によって呼び出す +コマンド名。 +.It Fa ty_type +この +tty +回線に接続されたデフォルト端末のタイプ名。 +.It Fa ty_status +この +tty +回線で許されるさまざまな機能を示す、 +ビットフィールドのマスク。 +可能なフラグは次のとおりです。 +.Bl -tag -width TTY_NETWORK +.It Dv TTY_ON +ログインを有効化します +(すなわち、このエントリの +.Fa ty_getty +で参照されるコマンドを、 +.Xr init 8 +が起動します)。 +.It Dv TTY_SECURE +ユーザは uid 0 でこの端末にログインできます。 +.It Dv TTY_DIALUP +ユーザは +uid 0 +でこの端末にログインできます。 +.It Dv TTY_DIALUP +tty +をダイアルイン回線として識別します。この +フラグが設定されると、 +.Fn isdialuptty +は非ゼロ値を返します。 +.It Dv TTY_NETWORK +ネットワーク接続に使用された +tty +を識別します。このフラグが設定されると、 +.Fn isnettty +は非ゼロ値を返します。 +.El +.It Fa ty_window +回線に関連するウィンドウシステムを実行するコマンドです。 +.It Fa ty_group +ttys +が所属するグループ名です。 +ttys +記述ファイルにグループの指定がない場合は、 +"none" +と呼ばれる無名グループにその +tty +が置かれます。 +.It Fa ty_comment +先頭にシャープ +(``#'') +が付くかまたは余白がある、終端の +コメントフィールドはすべて除去されます。 +.El +.Pp +キャラクタストリングを示すフィールドが未指定の場合、それらはすべて +null +ポインタとして返ります。指定されたフラグ値がない場合、フィールド +.Fa ty_status +はゼロになります。 +.Pp +このフィールドの意味および用法の詳細な説明については、 +.Xr ttys 5 +を参照してください。 +.Pp +.Fn getttyent +関数は、必要ならばオープンして +ttys +ファイルの次の行を読み込みます。 +.Fn setttyent +関数は、ファイルがオープンされていればリワインドし、 +オープンされていなければオープンします。 +.Fn endttyent +関数は、オープンされているファイルをすべてクローズします。 +.Pp +.Fn getttynam +関数は、適合する +.Fa name +が見付かる +(かまたは +.Dv EOF +に出会う) +まで、ファイルを最初から検索します。 +.Sh 戻り値 +ルーチン +.Fn getttyent +および +.Fn getttynam +は、 +.Dv EOF +またはエラーでいずれも +Null +ポインタを返します。 +.Fn setttyent +関数および +.Fn endttyent +関数は、いずれも失敗した場合は +0 を、成功した場合は +1 を返します。 +.Pp +ルーチン +.Fn isdialuptty +および +.Fn isnettty +は、パラメータによって指名された +tty +に関連する +tty +エントリに、ダイアルアップまたはネットワークフラグが +設定されていなければ非ゼロを返し、その他の場合はゼロを返します。 +.Sh 関連ファイル +.Bl -tag -width /etc/ttys -compact +.It Pa /etc/ttys +.El +.Sh 関連項目 +.Xr login 1 +、 +.Xr ttyslot 3 +、 +.Xr gettytab 5 +、 +.Xr termcap 5 +、 +.Xr ttys 5 +、 +.Xr getty 8 , +.Xr init 8 +.Sh 歴史 +.Fn getttyent +、 +.Fn getttynam +、 +.Fn setttyent +および +.Fn endttyent +関数は、 +.Bx 4.3 +で最初に取り入れられました。 +.Sh バグ +これらの関数は静的データ記憶域を使用します。後で使用するデータの場合は、 +以後の呼び出しで上書きする前にデータをコピーして保存する必要があります。 diff --git a/ja_JP.eucJP/man/man3/getusershell.3 b/ja_JP.eucJP/man/man3/getusershell.3 new file mode 100644 index 0000000000..f483ab019b --- /dev/null +++ b/ja_JP.eucJP/man/man3/getusershell.3 @@ -0,0 +1,99 @@ +.\" Copyright (c) 1985, 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. +.\" +.\" @(#)getusershell.3 8.1 (Berkeley) 6/4/93 +.\" +.Dd June 4, 1993 +.Dt GETUSERSHELL 3 +.Os BSD 4.3 +.Sh 名称 +.Nm getusershell , +.Nm setusershell , +.Nm endusershell +.Nd 正規ユーザシェルを取得 +.Sh 書式 +.Fd #include +.Ft char * +.Fn getusershell void +.Ft void +.Fn setusershell void +.Ft void +.Fn endusershell void +.Sh 解説 +.Fn getusershell +関数は、ファイル +.Pa /etc/shells +でシステムマネージャによって +定義された、正規ユーザシェルのポインタを返します。 +.Pa /etc/shells +が読み込めないかまたは存在しない場合、 +.Fn getusershell +は、あたかも +.Pa /bin/sh +および +.Pa /bin/csh +がファイルにリストされていたかのように挙動します。 +.Pp +.Fn getusershell +関数は +(必要ならばファイルをオープンして) +次の行を読み込みます。 +.Fn setusershell +関数はファイルをリワインドし、 +.Fn endusershell +関数はファイルをクローズします。 +.Sh 関連ファイル +.Bl -tag -width /etc/shells -compact +.It Pa /etc/shells +.El +.Sh 診断 +ルーチン +.Fn getusershell +は、 +.Dv EOF +で +null +ポインタ +(0) +を返します。 +.Sh 関連項目 +.Xr shells 5 +.Sh 歴史 +.Fn getusershell +関数は +.Bx 4.3 +で最初に取り入れられました。 +.Sh バグ +.Fn getusershell +関数は、処理結果を内部の静的オブジェクトに残し、その +オブジェクトのポインタを返します。以後の +.Fn getusershell +呼び出しは、同じオブジェクトを改変します。 diff --git a/ja_JP.eucJP/man/man3/getvfsbyname.3 b/ja_JP.eucJP/man/man3/getvfsbyname.3 new file mode 100644 index 0000000000..139c5d6720 --- /dev/null +++ b/ja_JP.eucJP/man/man3/getvfsbyname.3 @@ -0,0 +1,97 @@ +.\" Copyright (c) 1995 +.\" 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. +.\" +.\" @(#)kvm_getvfsbyname.3 8.3 (Berkeley) 5/4/95 +.\" +.Dd May 4, 1995 +.Dt GETVFSBYNAME 3 +.Os +.Sh 名称 +.Nm getvfsbyname +.Nd ファイルシステムについての情報を取得 +.Sh 書式 +.Fd #include +.Fd #include +.Ft int +.Fn getvfsbyname "const char *name" "struct vfsconf *vfc" +.Sh 解説 +.Fn getvfsbyname +関数によって、カーネルに構成されたファイルシステムモジュール +の、関連情報にアクセスできます。成功した場合は要求されたファイルシステム +.Fa vfsconf +が、 +.Fa vfc +の指す位置に返ります。構造体 +.Dq Li struct vfsconf +のフィールドは、次のように定義されます。 +.Pp +.Bl -tag -compact -width vfc_refcount +.It vfc_name +ファイルシステムの名前 +.It vfc_typenum +カーネルによって割り当てられた、ファイルシステムの +タイプ番号 +.It vfc_refcount +ファイルシステムを使用する、アクティブ実装ポイントの番号 +.It vfc_flags +ファイルシステムを使用する、新たな実装ポイントの初期化 +フラグビット +.El +.Sh 戻り値 +.Nm getvfsbyname +の呼び出しに成功した場合は +0 が、その他の場合は +\-1 が返り、 +.Va errno +がそれぞれのエラーに対応して設定されます。 +.Sh エラー +次のエラーが報告される場合があります。 +.Bl -tag -width Er +.It Bq Er EFAULT +.Fa vfc +ポインタに無効なアドレスが含まれています。 +.It Bq Er ENOENT +ファイルシステムを指定する +.Fa name +が未知か、またはカーネルに構成されていません。 +.Sh 関連項目 +.Xr sysctl 1 +、 +.Xr mount 2 +、 +.Xr sysctl 3 +、 +.Xr mount 8 +.Sh 歴史 +.Fn getvfsbyname +関数の変形は、 +.Fx 2.0 +で最初に取り入れられました。 diff --git a/ja_JP.eucJP/man/man3/getvfsent.3 b/ja_JP.eucJP/man/man3/getvfsent.3 new file mode 100644 index 0000000000..cb013ecb81 --- /dev/null +++ b/ja_JP.eucJP/man/man3/getvfsent.3 @@ -0,0 +1,236 @@ +.\" $Id: getvfsent.3,v 1.1.1.1 1999-12-09 16:26:03 kuriyama Exp $ +.\" Written by Garrett A. Wollman, September 1994. +.\" This manual page is in the public domain. +.\" +.Dd September 24, 1994 +.Dt GETVFSENT 3 +.Os +.Sh 名称 +.Nm getvfsent , +.Nm setvfsent , +.Nm endvfsent , +.Nm vfsisloadable , +.Nm vfsload +.Nd 仮想ファイルシステムモジュールを管理 +.Sh 書式 +.Fd #include +.Fd #include +.Ft struct ovfsconf * +.Fn getvfsent "void" +.Ft void +.Fn setvfsent "int cachelist" +.Ft void +.Fn endvfsent "void" +.Ft int +.Fn vfsisloadable "const char *name" +.Ft int +.Fn vfsload "const char *name" +.Sh 解説 +.Fn getvfsent +関数によって、カーネルが管理する仮想ファイルシステムモジュール +の実装リストに、簡単にアクセスできます。リストのファイルシステムを +1 回に +1 つづつ段階的に処理します。利用できるデータがそれ以上なくなると、 +null +ポインタが返ります。構造体 +.Dq Li struct ovfsconf +のフィールドは次のとおりです。 +.Pp +.Bl -tag -compact -width vfc_refcount +.It vfc_name +ファイルシステムの名前。 +.It vfc_index +カーネルによって割り当てられ +.Xr mount 2 +の呼び出しに使用された、ファイルシステムのタイプ番号。 +.It vfc_refcount +このファイルシステムの参照数 +(通常は実装数ですが、 +アンロードできないファイルシステム、または静的にこのカーネルにリンク +されているファイルシステムなどがあると、実装数を上回ります) +。 +.It vfc_flags +現在なにも定義されていないフラグビット。 +.El +.Pp +.Fn setvfsent +および +.Fn endvfsent +関数は、 +.Xr sysctl 3 +のよってカーネル +からまとめて取得されるファイルシステムリストの、キャッシング制御に +使用されます。 +.Fn setvfsent +の +.Fa cachelist +パラメータがゼロでなければ、これら +検索関数のどれかを最初に呼び出した時点でリストはただ +1 回だけ取り出され、 +キャッシュをクリアするために +.Fn endvfsent +が呼び出されるまで保持されます。 +一般に +.Fn setvfsent 1 +は、 +.Fn getvfsent +を使用するプログラムによって呼び出される必要があり、 +.Fn setvfsent 0 +は +(これもデフォルトの状態で) +、 +.Fn vfsload +関数を使用するプログラムによって呼び出される必要があります。 +.Pp +.Fn vfsisloadable +関数は、後で +.Fn vfsload name +の呼び出しが続きそうだと非ゼロ値を返します。ここで +「そう」と言うのは、 +.Fn vfsisloadable +によってチェックされる条件だけが、 +.Fn vfsload +が後続するために必要な条件の小さな +サブセットだからです。詳しく説明すれば、 +.Fn vfsisloadable +は +.Pa /dev/lkm +が +存在するか、書き込みのためにオープンできるか、また +LKM +(ロード可能カーネルモジュール) +用に指定したディレクトリの +1 つで、 +.Pa Ns Fa name Ns _mod.o +が +見付かるかなどをチェックします。 +.Pp +.Fn vfsload +関数は、ファイルシステム +.Fa name +の実装カーネルモジュールをロード +しようと試みます。ファイルシステムモジュールを無事に突き止めてロードした +場合はゼロが、その他の場合は非ゼロが返ります。この関数を呼び出せるのは次に +示す状況だけです。 +.Bl -enum +.It +.Fn getvfsbyname +を呼び出して非ゼロ値が返った場合。 +.It +.Fn vfsisloadable +を呼び出して非ゼロ値が返った場合。 +.It +十分な一時ファイル空間が利用でき、 +.No Ns \&${ Ns Ev TMPDIR Ns \&} +の +.Pa /var/tmp +または +.Pa /tmp +の +1 つに +書き込みもできる場合。 +.El +.Pp +.Xr mount_cd9660 8 +のソースから取った使用例を次に示します。 +.Bd -literal -offset indent +struct vfsconf *vfc; +int error; + +/* ここにセットアップコードが入る */ + +error = getvfsbyname("cd9660", &vfc); +if (error && vfsisloadable("cd9660")) { + if (vfsload("cd9660")) + err(EX_OSERR, "vfsload(cd9660)"); + endvfsent(); /* flush cache */ + error = getvfsbyname("cd9660", &vfc); +} +if (error) + errx(1, "cd9660 filesystem is not available"); + +if (mount(vfc.vfc_name, dir, mntflags, &args) < 0) + err(1, NULL); + +.Ed +.Sh 戻り値 +.Fn getvfsent +ルーチンは、成功すると静的データ構造体のポインタを、失敗すると +null +ポインタを返します。原因が +.Xr sysctl 3 +または +.Xr malloc 3 +で失敗した場合は、 +.Va errno +がそれら関数用にドキュメントされた値の +1 つに +設定されることがあります。その他の場合 +.Va errno +は改変されません。 +.Pp +.Fn vfsload +関数は失敗すると非ゼロ値を、成功するとゼロを返します。 +.Fn vfsload +が失敗した場合、 +.Va errno +がフォーク +.Xr fork 2 +、 +.Xr waitpid 2 +、 +.Xr chdir 2 +、 +または +.Xr execlp 3 +用としてドキュメントされた値の +1 つに設定されるか、または、 +現在特に有用ではないにしても結局は便利な +.Xr modload 8 +プログラムの、 +ステータスを返す可能性があります。さらに、もし +.Xr modload 8 +が信号上に存在する場合、 +.Fn vfsload +は失敗し +.Va errno +を +.Er EINVAL +に設定します。 +.Sh 環境変数 +.Bl -tag -compact -width TMPDIRx +.It Ev TMPDIR +.Fn vfsload +に代わって +.Xr modload 8 +によって作成された一時ファイルの位置。 +.It Ev LKMDIR +ロード可能モジュールを検索する +.Fn vfsisloadable +および +.Fn vfsload +用の代替ディレクトリ。 +.Sh 関連項目 +.Xr mount 2 +、 +.Xr modload 8 +、 +.Xr mount 8 +.Sh バグ +.Xr modload 8 +コマンドの戻り値は、 +.Va errno +値として解釈する場合 +(もっと言えば、ほかのどんなものとして解釈する場合も)、 +特に有用ではありません。 +.Sh 作者 +このロード可能ファイルシステムサポートは、 +.An Terry Lambert +による汎用のロード可能カーネルモジュールサポートをベースに、 +.An Garrett A. Wollman +によって書かれました。 +.Sh 歴史 +.Fn getvfsent +関数ファミリは +.Fx 2.0 +で最初に取り入れられました。 diff --git a/ja_JP.eucJP/man/man3/glob.3 b/ja_JP.eucJP/man/man3/glob.3 new file mode 100644 index 0000000000..fe9d225d90 --- /dev/null +++ b/ja_JP.eucJP/man/man3/glob.3 @@ -0,0 +1,458 @@ +.\" Copyright (c) 1989, 1991, 1993, 1994 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" This code is derived from software contributed to Berkeley by +.\" Guido van Rossum. +.\" 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. +.\" +.\" @(#)glob.3 8.3 (Berkeley) 4/16/94 +.\" +.Dd April 16, 1994 +.Dt GLOB 3 +.Os +.Sh 名称 +.Nm glob , +.Nm globfree +.Nd パターンに適合するパス名を生成 +.Sh 書式 +.Fd #include +.Ft int +.Fn glob "const char *pattern" "int flags" "int (*errfunc)(const char *, int)" "glob_t *pglob" +.Ft void +.Fn globfree "glob_t *pglob" +.Sh 解説 +.Fn glob +関数は、シェルによって使用されるファイル名パターンの、適合規則を +実装するパス名ジェネレータです。 +.Pp +インクルードファイル +.Pa glob.h +は、少なくとも次に示すフィールドが含まれる +構造体タイプ +.Fa glob_t +を定義します。 +.Bd -literal +typedef struct { + int gl_pathc; /* これまでの合計パスカウント */ + int gl_matchc; /* パターンに適合するパスカウント */ + int gl_offs; /* gl_pathvの最初に予約されるフィールド */ + int gl_flags; /* 返されるフラグ */ + char **gl_pathv; /* パターンに適合するパスのリスト */ +} glob_t; +.Ed +.Pp +引数 +.Fa pattern +は展開するパス名パターンのポインタです。 +.Fn glob +引数はその +パターンに対して、アクセス可能なすべてのパス名を突き合わせ +( +マッチング +) +、 +適合するパス名リストを作成します。パス名にアクセスするため +.Fn glob +は、パス +の各構成要素 +( +最終要素を除く +) +での検索許可と、特殊キャラクタ +.Ql * +, +.Ql ? +または +.Ql [ +などを含む +.Fa pattern +の、すべてのファイル名構成要素ディレクトリの読み +込み許可を要求します。 +.Pp +.Fn glob +引数は、適合パス名の数を +.Fa gl_pathc +フィールドに、パス名ポインタリスト +のポインタを +.Fa gl_pathv +フィールドにそれぞれ保存します。最終パス名の後の +最初のポインタは +.Dv NULL +です。パターンに適合するパス名が皆無だった場合、 +返される適合パスの数はゼロに設定されます。 +.Pp +.Fa pglob +で示される構造体は呼び出し元が作成します。 +.Fa gl_pathv +で示されるメモリ +などほかの空間は、 +.Fn glob +関数が必要に応じて割り振ります。 +.Pp +引数 +.Fa flags +は、 +.Fn glob +の挙動を変更するために使用します。 +.Fa flags +の値は、 +.Pa glob.h +で定義されている次に示す値のそれぞれビットごとの包括的 +.Tn OR +です。 +.Bl -tag -width GLOB_ALTDIRFUNC +.It Dv GLOB_APPEND +生成されたパス名を、 +.Fn glob +に対する前の呼び出し ( 単数または複数 ) で生成されたパス名に追加します。 +.Fa gl_pathc +の値は、今回の呼び出しおよび前の呼び出し ( 単数または複数 ) での、 +適合パス名の合計になります。前の呼び出し ( 単数または複数 ) によって +返されたパス名に、今回生成されたパス名が追加されますが、 +マージ ( 併合 ) はされません。前の呼び出しと今回の呼び出しのあいだに、 +呼び出し元は +.Dv GLOB_DOOFFS +フラグを変えてはいけません。同様に、 +.Dv GLOB_DOOFFS +設定時の +.Fa gl_offs +の値も変えてはいけません。 +( もちろん ) +.Fa pglob +に影響する +.Fn globfree +の呼び出しも行ってはなりません。 +.It Dv GLOB_DOOFFS +.Fa gl_offs +フィールドを有効にします。このフラグを設定すると、 +.Fa gl_pathv +フィールドの前に付加する +.Dv NULL +ポインタの数が、 +.Fa gl_offs +によって指定できます。言い換えれば +.Fa gl_pathv +が +.Fa gl_offs +の +.Dv NULL +ポインタを示し、その後に +.Fa gl_pathc +パス名ポインタが続き、さらにその後に +.Dv NULL +ポインタが続きます。 +.It Dv GLOB_ERR +オープンまたは読み込みできないディレクトリに出会った場合、 +.Fn glob +をリターンさせます。通常は、 +.Fn glob +が適合パス名検索を続行します。 +.It Dv GLOB_MARK +.Fa pattern +に適合するディレクトリの各パス名に、スラッシュを +付加します。 +.It Dv GLOB_NOCHECK +.Fa pattern +に適合するパス名が皆無だった場合、 +.Fn glob +は +.Fa pattern +だけで構成されるリストを返します。パス名の合計数は 1 に、適合 +パス名の数は 0 に設定されます。 +.Dv GLOB_QUOTE +が設定されていれば、返されるパターンにその効果が反映されます。 +.It Dv GLOB_NOSORT +デフォルトでパス名は +.Tn ASCII +昇順にソートされます。このフラグはそうしたソート、すなわち高速化 +.Fn glob +機能を妨げます。 +.El +.Pp +次に示す値も +.Fa flags +に含まれることはありますが、これらは +.St -p1003.2 +の非標準拡張です。 +.Bl -tag -width GLOB_ALTDIRFUNC +.It Dv GLOB_ALTDIRFUNC +pglob +構造体の次に示す追加フィールドを、ディレクトリのオープン、読み込み、 +クローズおよび、それらディレクトリで見付かったパス名のステータス情報取得に +使用する、代替 glob 関数で初期化します。 +.Bd -literal +void *(*gl_opendir)(const char * name); +struct dirent *(*gl_readdir)(void *); +void (*gl_closedir)(void *); +int (*gl_lstat)(const char *name, struct stat *st); +int (*gl_stat)(const char *name, struct stat *st); +.Ed +.Pp +テープに保存されたディレクトリから、 +.Xr restore 8 +のようなプログラムによって +グロッビング ( ファイル名展開 ) できるように、 +この拡張が用意されています。 +.It Dv GLOB_BRACE +.Xr csh 1 +のような +.Ql {pat,pat,...} +ストリングを展開するために、 +パターンストリングを前処理します。パターン +.Ql {} +は歴史的理由 ( および +.Xr find 1 +パターンの入力を容易にするために、 +.Xr csh 1 +が同じことをするという理由 ) +から、未展開のまま残されます。 +.It Dv GLOB_MAGCHAR +パターンに +.Fn glob +用キャラクタが含まれていると、 +.Fn glob +関数によってこのフラグが設定されます。詳細は +.Fa gl_matchc +構造体メンバの、用法についての説明を参照してください。 +.It Dv GLOB_NOMAGIC +.Dv GLOB_NOCHECK +と同じですが、特殊キャラクタ ``*'', ``?'' +または ``['' がなにも含まれていない場合に、このフラグはただ +.Fa pattern +を後に付加するだけです。 +.Dv GLOB_NOMAGIC +は、歴史的な +.Xr csh 1 +によるグロッビング ( ファイル名展開 ) 挙動の実装を単純化するために +用意されています。その他の目的ではたぶん、 +どんな場合も使用すべきではありません。 +.It Dv GLOB_QUOTE +バックスラッシュ +.Pq Ql \e +キャラクタを引用符として +有効にします。パターンにバックスラッシュとそれに続くキャラクタがある場合、 +そのキャラクタを特別に解釈することなくそのままのキャラクタとして +置換します。 +.It Dv GLOB_TILDE +.Ql ~ +で始まるパターンを、ユーザ名のホームディレクトリに +展開します。 +.El +.Pp +検索においてオープンまたは読み込みできないディレクトリに出会った場合、 +.Fa errfunc +が +.Pf non- Dv NULL +でなければ、 +.Fn glob +は +.Fa (*errfunc)(path, errno) +を呼び出します。 +これは非直観的な場合があります。 +.Ql */Makefile +のようなパターンでは、 +.Ql foo +が +ディレクトでなくても +.Ql foo/Makefile +の +.Xr stat 2 +が試みられて、 +.Fa errfunc +を +呼び出す結果になるからです。 +.Dv ENOENT +および +.Dv ENOTDIR +のテストによって、 +エラールーチンはこの動作を抑制することができますが、 +それでもなおこうした場合には +.Dv GLOB_ERR +フラグがただちに +.Fn glob +をリターンさせます。 +.Pp +.Fa errfunc +から非ゼロが返ると +.Fn glob +は操作を停止して、すでに適合したすべての +パスを反映するために、 +.Fa gl_pathc +および +.Fa gl_pathv +を設定した後で +.Dv GLOB_ABEND +を返します。 +エラーが起こり +.Fa flags +に +.Dv GLOB_ERR +が設定されていれば、 +.Fa errfunc +を呼び出した場合その戻り値に関係なく、同じことが起こります。 +.Dv GLOB_ERR +を未設定で、 +.Fa errfunc +が +.Dv NULL +かまたは +.Fa errfunc +がゼロを返した場合、エラーは無視されます。 +.Pp +.Fn globfree +関数は、前の +.Fn glob +呼び出しによって +.Fa pglob +と +関連した、すべての空間を解放します。 +.Sh 戻り値 +無事に完了した場合 +.Fn glob +はゼロを返します。さらに、 +.Fa pglob +の各フィールド +には次に示す値が含まれます。 +.Bl -tag -width GLOB_NOCHECK +.It Fa gl_pathc +これまでの適合パス名の合計数が含まれます。 +.Dv GLOB_APPEND +が指定されている場合は、前の +.Fn glob +起動で得られたほかの適合パス名の数も、 +この合計には含れます。 +.It Fa gl_matchc +現在の +.Fn glob +起動によって得られた適合パス名の数が +含まれます。 +.It Fa gl_flags +.Fa pattern +に特殊キャラクタ ``*'', ``?'', または ``['' のどれかが含まれている場合は、 +.Dv GLOB_MAGCHAR +が設定したビットを持つ +.Fa flags +パラメータの +コピーが含まれます。特殊キャラクタが含まれていない場合、このフィールドの +内容はクリアされます。 +.It Fa gl_pathv +適合パス名の +.Dv NULL +で終わるリストのポインタが含まれます。 +ただし、もし +.Fa gl_pathc +がゼロならば、 +.Fa gl_pathv +の内容は定義されません。 +.El +.Pp +エラーのため終了すると +.Fn glob +は +errno +を設定して、次に示す非ゼロ定数の +1 つを返します。これらの定数は、インクルードファイル +.Aq Pa glob.h +で定義されます。 +.Bl -tag -width GLOB_NOCHECK +.It Dv GLOB_NOSPACE +メモリ割り当ての試みが失敗しました。 +.It Dv GLOB_ABEND +エラーが発生した上に +.Dv GLOB_ERR +が設定されていたか、または +.Fa (*errfunc)() +が非ゼロを返したので、 +.Fn glob +はパス名の走査を停止しました。 +.El +.Pp +引数 +.Fa pglob\->gl_pathc +および +.Fa pglob\->gl_pathv +は依然として、上で +指定のとおりに設定されたままです。 +.Sh 例 +.Ql "ls -l *.c *.h" +の大体の等価は、次に示すコードで取得することができます。 +.Bd -literal -offset indent +glob_t g; + +g.gl_offs = 2; +glob("*.c", GLOB_DOOFFS, NULL, &g); +glob("*.h", GLOB_DOOFFS | GLOB_APPEND, NULL, &g); +g.gl_pathv[0] = "ls"; +g.gl_pathv[1] = "-l"; +execvp("ls", g.gl_pathv); +.Ed +.Sh 関連項目 +.Xr sh 1 , +.Xr fnmatch 3 , +.Xr regexp 3 +.Sh 規格 +.Fn glob +関数には次に示す例外を除いて、 +.St -p1003.2 +との互換性が期待されています。例外はフラグ +.Dv GLOB_ALTDIRFUNC, +.Dv GLOB_BRACE +.Dv GLOB_MAGCHAR, +.Dv GLOB_NOMAGIC, +.Dv GLOB_QUOTE, +および +.Dv GLOB_TILDE, +それにフィールド +.Fa gl_matchc +および +.Fa gl_flags +などを、厳正な +.Tn POSIX +準拠を争うアプリケーションでは使用すべきではないということです。 +.Sh 歴史 +.Fn glob +および +.Fn globfree +関数は、 +.Bx 4.4 +で最初に取り入れられました。 +.Sh バグ +.Dv MAXPATHLEN +よりも長いパターンは、無検査エラーの原因となる可能性があります。 +.Pp +.Fn glob +引数は失敗して、ライブラリルーチン +.Xr stat 2 , +.Xr closedir 3 , +.Xr opendir 3 , +.Xr readdir 3 , +.Xr malloc 3 , +および +.Xr free 3 +用に指定したエラーのどれかに、 errno を設定することがあります。 diff --git a/ja_JP.eucJP/man/man3/hash.3 b/ja_JP.eucJP/man/man3/hash.3 new file mode 100644 index 0000000000..13352da2b6 --- /dev/null +++ b/ja_JP.eucJP/man/man3/hash.3 @@ -0,0 +1,166 @@ +.\" 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. +.\" +.\" @(#)hash.3 8.6 (Berkeley) 8/18/94 +.\" +.TH HASH 3 "August 18, 1994" +.UC 7 +.SH 名称 +hash \- hash データベース アクセス方式 +.SH 書式 +.nf +.ft B +#include +#include +.ft R +.fi +.SH 解説 +.I dbopen +ルーチンは、データベースファイルへのライブラリインタフェースです。 +サポート対象のファイル形式の一つは +.I hash +ファイルです。本マニュアルの +.IR dbopen (3) +にあるデータベースアクセス方式の一般的な解説は +に書かれており、 +.I hash +固有の情報だけを説明しています。 +.PP +.I hash +データ構造は拡張可能な動的ハッシュスキーマです。 +.PP +dbopn に与えられるアクセス方式固有のデータ構造体は +インクルードファイル で以下のように定義されます。 +.sp +typedef struct { +.RS +u_int bsize; +.br +u_int ffactor; +.br +u_int nelem; +.br +u_int cachesize; +.br +u_int32_t (*hash)(const void *, size_t); +.br +int lorder; +.RE +} HASHINFO; +.PP +この構造体のフィールドは以下になります。 +.TP +bsize +.I bsize +は、ハッシュ表のバケットサイズを定義し、デフォルト値で 256 バイトです。 +ディスク常駐テーブルと大型データ項目については、 +ページサイズを拡大したほうが望ましいかもしれません。 +.TP +ffactor +.I ffactor +は +.I hash +表内の望ましい密度を表示します。 +これは一つのバケット内に累積可能なキー数の概算であり、 +いつハッシュ表の拡大や縮小を行なうべきかを決定します。 +デフォルト値は 8 です。 +.TP +nelem +.I nelem +は +ハッシュ表の最終サイズの推測値です。 +未設定あるいは低い値に設定されると、わずかな性能劣化が見られる +かもしれませんが、ハッシュ表はキー入力に応じて円滑に拡張されます。 +デフォルト値は 1 です。 +.TP +cachesize +メモリキャッシュの推奨最大バイトサイズです。 +この値は単なる提言であり、このアクセス方式は、 +失敗するよりはメモリを余計に割り当てるでしょう。 +.TP +hash +.I hash +はユーザ定義のハッシュ関数です。 +可能なデータすべてに対して等しく性能の良いハッシュ関数はないため、 +ユーザは、組み込みハッシュ関数が特定データセットに充分な性能が出ないことに +気がつくことがあるかもしれません。 +ユーザ指定ハッシュ関数は 2 個の引数 (文字列へのポインタと長さ) を取り、 +ハッシュ値として使われる 32 ビット量を返します。 +.TP +lorder +保存されたデータベースメタデータ +内の整数のバイトオーダです。 +数字は整数としての順序を表していなければなりません。 +例えば、ビッグエンディアンの順序は 4,321 になります。 +.I lorder +が +0 (順序指定なし) の時は現行のホストのオーダーが使われます。 +ファイルがあらかじめ存在していれば、指定値が無視されて、 +ツリーが構築された時に指定された値が使われます。 +.PP +ファイルがあらかじめ存在し、(かつ O_TRUNC フラグが指定されてないと) 、 +bsize, ffactor, lorder, nelem の各パラメータに指定された値は無視され、 +ツリーの構築時に指定された値が使われます。 +.PP +ハッシュ関数が指定されていると、 +.I hash_open +は指定されたハッシュ関数がデータベース作成時と同じものであるかを判別し、 +異なっていれば open に失敗します。 +.PP +旧 +.I dbm +および旧 +.I ndbm +ルーチンへの下位互換インタフェースが提供されていますが、 +これらのインタフェースは従来のファイルフォーマットとは互換ではありません。 +.SH エラー +ライブラリルーチン +.IR dbopen (3) +で指定されている任意のエラーに対し、 +.I hash +アクセス方式ルーチンが失敗すると、 +.I errno +をセットします。 +.SH 関連項目 +.IR btree (3) +.IR dbopen (3) +.IR mpool (3) +.IR recno (3) +.sp +.sp +.IR "Dynamic Hash Tables" , +Per-Ake Larson, Communications of the ACM, April 1988. +.sp +.IR "A New Hash Package for UNIX" , +Margo Seltzer, USENIX Proceedings, Winter 1991. +.SH バグ +バイトオーダとして、ビッグエンディアンとリトルエンディアンだけが +サポートされています。 diff --git a/ja_JP.eucJP/man/man3/hypot.3 b/ja_JP.eucJP/man/man3/hypot.3 new file mode 100644 index 0000000000..98127844fa --- /dev/null +++ b/ja_JP.eucJP/man/man3/hypot.3 @@ -0,0 +1,134 @@ +.\" Copyright (c) 1985, 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. +.\" +.\" from: @(#)hypot.3 6.7 (Berkeley) 5/6/91 +.\" $Id: hypot.3,v 1.1.1.1 1999-12-09 16:26:03 kuriyama Exp $ +.\" +.Dd May 6, 1991 +.Dt HYPOT 3 +.Os BSD 4 +.Sh 名称 +.Nm hypot , +.Nm hypotf , +.Nm cabs , +.Nm cabsf +.Nd ユークリッド距離と複素絶対値関数 +.Sh 書式 +.Fd #include +.Ft double +.Fn hypot "double x" "double y" +.Ft float +.Fn hypotf "float x" "float y" +.Fd struct {double x, y;} z; +.Ft double +.Fn cabs z +.Fd struct {float x, y;} z; +.Ft float +.Fn cabsf z +.Sh 解説 +.Fn hypot , +.Fn hypotf , +.Fn cabs , +および +.Fn cabsf +関数は、アンダーフローが +起きず、最終結果でオーバーフローが起こる場合のみオーバーフローする方法で +sqrt(x*x+y*y) +を計算します。 +.Pp +.Fn hypot "\*(If" "v" +あるいは +.Fn hypot "v" "\*(If" +は、全ての +.Ar v +に対して、\*(Na を含む +\*(If になります。 +.Sh 誤差 ( Roundoff 等に基づく ) +0.97 +.Em ulps +以下。 +その結果、 +完全な +.Fn hypot "5.0" "12.0" += 13.0 +となる。通常、hypot と cabs は整数値が求められる時には必ず整数を返します。 +.Pp +cabs.c の注釈にある短縮、かつ高速版の hypot と cabs については例外となり、 +誤差は 1.2 +.Em ulps +を超すことがあります。 +.Sh 注 +想定通り、 +.Fn hypot "v" "\*(Na" +と +.Fn hypot "\*(Na" "v" +は +.Em 全有限数 +.Ar v +に対して +\*(Na +となります。 +"reserved operand" が "\*(Na" に置き換われば、 +.Tn VAX +でも同じ結果になります。 +.Tn VAX +以外のマシン ( もし無限数が無ければ ) のプログラマは +.Fn hypot "\(+-\*(If" "\*(Na" += +\*(If +に初めは驚くかもしれません。 +これは意図的なものであり、無限、有限に関係なく、 +.Em すべての +.Ar v +について +.Fn hypot "\*(If" "v" += +\*(If +であるために起こります。 +したがって、 +.Fn hypot "\*(If" "v" +は、 +.Ar v +とは独立した値です。 +.Tn VAX +での reserved operand fault とは異なり、 +.Tn IEEE +\*(Na は +.Fn hypot "\*(If" "\*(Na" +において同様に、無関係になると +消失します。 +.Sh 関連項目 +.Xr math 3 , +.Xr sqrt 3 +.Sh 歴史 +.Fn hypot +関数と +.Fn cabs +関数はどちらも +.At v7 +から登場しました。 diff --git a/ja_JP.eucJP/man/man3/ieee.3 b/ja_JP.eucJP/man/man3/ieee.3 new file mode 100644 index 0000000000..d7fc980c7a --- /dev/null +++ b/ja_JP.eucJP/man/man3/ieee.3 @@ -0,0 +1,191 @@ +.\" Copyright (c) 1985, 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. +.\" +.\" from: @(#)ieee.3 6.4 (Berkeley) 5/6/91 +.\" $Id: ieee.3,v 1.1.1.1 1999-12-09 16:26:03 kuriyama Exp $ +.\" +.Dd Feb 25, 1994 +.Dt IEEE 3 +.Os +.Sh 名称 +.Nm copysign , +.Nm copysignf , +.Nm finite , +.Nm finitef , +.Nm ilogb , +.Nm ilogbf , +.Nm nextafter , +.Nm nextafterf , +.Nm remainder , +.Nm remainderf , +.Nm scalbn , +.Nm scalbnf +.Nd IEEE論理演算 +.Sh 書式 +.Fd #include +.Ft double +.Fn copysign "double x" "double y" +.Ft float +.Fn copysignf "float x" "float y" +.Ft int +.Fn finite "double x" +.Ft int +.Fn finitef "float x" +.Ft int +.Fn ilogb "double x" +.Ft int +.Fn ilogbf "float x" +.Ft double +.Fn nextafter "double x" "double y" +.Ft float +.Fn nextafterf "float x" "float y" +.Ft double +.Fn remainder "double x" "double y" +.Ft float +.Fn remainderf "float x" "float y" +.Ft double +.Fn scalbn "double x" "int n" +.Ft float +.Fn scalbnf "float x" "int n" +.Sh 解説 +これらの関数は +.St -ieee754 +により要求または推奨されています。 +.Pp +.Fn copysign +と +.Fn copysignf +は +.Fa x +の符号を +.Fa y +の符号に置き換えて +.Fa x +を返します。 +.Pp +\-\*(If \*(Lt +.Fa x +\*(Lt +\*(If +のとき、 +.Fn finite +と +.Fn finitef +は値 1 を返します。 +その他 +( +.Pf \\*(Ba Ns Fa x Ns \\*(Ba += \*(If +または +.Fa x +が \*(Na の時 ) +はゼロを返します。 +.Pp +.Fn ilogb +と +.Fn ilogbf +は +.Fa x +の +.Fa n +乗を整数値で返します。 +.Fn ilogb \*(Pm\*(If +は +.Dv INT_MAX +を戻し、 +.Fn ilogb 0 +は +.Dv INT_MIN +を返します。 +.Pp +.Fn nextafter +と +.Fn nextafterf +は次のマシン表示可能な数を +.Fa x +から +.Fa y +方向に返します。 +.Pp +.Fn remainder +と +.Fn remainderf +は剰余 +.Fa r +:= +.Fa x +\- +.Fa n\(**y +を返します。このとき +.Fa n +は +.Bk -words +.Fa x Ns / Ns Fa y +.Ek +の完全な値に最も近似の整数です。さらに、 +.Pf \\*(Ba Fa n +\- +.Sm off +.Fa x No / Fa y No \\*(Ba +.Sm on += +1/2 +ならば、 +.Fa n +は偶数です。 +この結果、剰余は完全に計算されて、 +.Sm off +.Pf \\*(Ba Fa r No \\*(Ba +.Sm on +\*(Le +.Sm off +.Pf \\*(Ba Fa y No \\*(Ba/2 +.Sm on +になります。しかし、 +.Fn remainder x 0 +と +.Fn remainder \*(If 0 +は \*(Na を作る無効の演算です。 +.Pp +.Fn scalbn +と +.Fn scalbnf +は指数操作で計算される +.Fa x Ns \(**(2** Ns Fa n ) +を返します。 +.Sh 関連項目 +.Xr math 3 +.Sh 歴史 +.Nm ieee +関数は +.Bx 4.3 +から登場しました。 +.Sh 規格 +.St -ieee754 diff --git a/ja_JP.eucJP/man/man3/ieee_test.3 b/ja_JP.eucJP/man/man3/ieee_test.3 new file mode 100644 index 0000000000..051805d87f --- /dev/null +++ b/ja_JP.eucJP/man/man3/ieee_test.3 @@ -0,0 +1,117 @@ +.\" Copyright (c) 1985, 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. +.\" +.\" from: @(#)ieee.3 6.4 (Berkeley) 5/6/91 +.\" $Id: ieee_test.3,v 1.1.1.1 1999-12-09 16:26:03 kuriyama Exp $ +.\" +.Dd March 10, 1994 +.Dt IEEE_TEST 3 +.Os +.Sh 名称 +.Nm logb , +.Nm logbf , +.Nm scalb , +.Nm scalbf , +.Nm significand , +.Nm significandf +.Nd IEEEテスト関数 +.Sh 書式 +.Fd #include +.Ft double +.Fn logb "double x" +.Ft float +.Fn logbf "float x" +.Ft double +.Fn scalb "double x" "double n" +.Ft float +.Fn scalbf "float x" "float n" +.Ft double +.Fn significand "double x" +.Ft float +.Fn significandf "float x" +.Sh 解説 +これらの関数でユーザは +.St -ieee754 +への適合性のテストができます。 +それ以外の目的での使用は推奨されません。 +.Pp +.Fn logb x +と +.Fn logbf x +は、 +.Fa x +の +.Fa n +乗で符号付き整数を倍精度浮動小数点に変換して返します。 +.Fn logb \*(Pm\*(If += +\*(If; +.Fn logb 0 += -\*(If +ゼロ除算による例外が発生します。 +.Pp +.Fn scalbn x n +と +.Fn scalbnf x n +は +指数操作により計算される +.Fa x Ns \(**(2** Ns Fa n ) +を返します。 +.Pp +.Fn significand x +と +.Fn significandf x +は +1 \(<= +.Fa sig +< 2 の範囲のとき +.Fa sig +を返します。このとき、 +.Fa x +:= +.Fa sig No \(** 2** Ns Fa n +です。 +.Fn significand x +と +.Fn significandf x +は +.Fa x +が +0, \*(Pm\*(If +または +\*(Na +のとき定義されません。 +.Pp +.Sh 関連項目 +.Xr ieee 3 , +.Xr math 3 + +.Sh 規格 +.St -ieee754 diff --git a/ja_JP.eucJP/man/man3/index.3 b/ja_JP.eucJP/man/man3/index.3 new file mode 100644 index 0000000000..3e667c3783 --- /dev/null +++ b/ja_JP.eucJP/man/man3/index.3 @@ -0,0 +1,79 @@ +.\" Copyright (c) 1990, 1991, 1993 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" This code is derived from software contributed to Berkeley by +.\" Chris Torek. +.\" 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. +.\" +.\" @(#)index.3 8.1 (Berkeley) 6/4/93 +.\" +.Dd June 4, 1993 +.Dt INDEX 3 +.Os +.Sh 名称 +.Nm index +.Nd 文字列中の文字位置の特定 +.Sh 書式 +.Fd #include +.Ft char * +.Fn index "const char *s" "int c" +.Sh 解説 +.Fn index +関数はナル文字で終了する文字列 +.Fa s +から +.Fa c +( +.Em char +型に変換 ) に一致する最初の文字位置を調べます。 +.Sh 戻り値 +該当する文字が発見された場合、該当する文字へのポインタを返し、 +見つからなければ +.Dv NULL +を返します。 +.Fa c +が '\e0' のとき、 +.Fn index +は文字列の最後に位置する '\e0' を調べます。 +.Sh 関連項目 +.Xr memchr 3 , +.Xr rindex 3 , +.Xr strchr 3 , +.Xr strcspn 3 , +.Xr strpbrk 3 , +.Xr strrchr 3 , +.Xr strsep 3 , +.Xr strspn 3 , +.Xr strstr 3 , +.Xr strtok 3 +.Sh 歴史 +.Fn index +関数は +.At v6 +で取り入れられました。 diff --git a/ja_JP.eucJP/man/man3/inet.3 b/ja_JP.eucJP/man/man3/inet.3 new file mode 100644 index 0000000000..3d4f2932bc --- /dev/null +++ b/ja_JP.eucJP/man/man3/inet.3 @@ -0,0 +1,192 @@ +.\" Copyright (c) 1983, 1990, 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. +.\" +.\" From: @(#)inet.3 8.1 (Berkeley) 6/4/93 +.\" $Id: inet.3,v 1.1.1.1 1999-12-09 16:26:03 kuriyama Exp $ +.\" +.Dd June 17, 1996 +.Dt INET 3 +.Os BSD 4.2 +.Sh 名称 +.Nm inet_aton , +.Nm inet_addr , +.Nm inet_network , +.Nm inet_ntoa , +.Nm inet_makeaddr , +.Nm inet_lnaof , +.Nm inet_netof +.Nd インターネットアドレス操作関数 +.Sh 書式 +.Fd #include +.Fd #include +.Fd #include +.Fd #include +.Ft int +.Fn inet_aton "const char *cp" "struct in_addr *pin" +.Ft unsigned long +.Fn inet_addr "const char *cp" +.Ft unsigned long +.Fn inet_network "const char *cp" +.Ft char * +.Fn inet_ntoa "struct in_addr in" +.Ft struct in_addr +.Fn inet_makeaddr "unsigned long net" "unsigned long lna" +.Ft unsigned long +.Fn inet_lnaof "struct in_addr in" +.Ft unsigned long +.Fn inet_netof "struct in_addr in" +.Sh 解説 +.Fn inet_aton , +.Fn inet_addr +および +.Fn inet_network +ルーチンはインターネット標準の +.Ql \&. +表記法で示される数値を表現するキャラクタ・ストリングを解釈します。 +.Fn inet_aton +ルーチンは指定キャラクタ・ストリングを +インターネット・アドレスと解釈し、アドレスを供給された構造体の中に +置きます。 +ストリングが正常に解釈されると同ルーチンは 1 を返し、ストリングが +無効のとき 0 を返します。 +.Fn inet_addr +と +.Fn inet_network +関数はそれぞれ、 +インターネット・アドレスとインターネット・ネットワーク番号として使うのに +適した数値を返します。 +.Fn inet_ntoa +ルーチンはインターネット・アドレスを取り込み、 +.Ql \&. +表記法のアドレスを示す +.Tn ASCII +ストリングを返します。 +.Fn inet_makeaddr +ルーチンはインターネット・ネットワーク番号と +ローカル・ネットワーク・アドレスを取り込み、 +それを基にインターネット・アドレスを生成します。 +.Fn inet_netof +と +.Fn inet_lnaof +ルーチンはインターネット・ホスト・アドレスを分割して、 +それぞれネットワーク番号とローカル・ネットワーク・アドレス部として返します。 +.Pp +すべてのインターネット・アドレスはネットワーク順序 ( 左から右への +バイト順 ) で返されます。 +ネットワーク番号とローカル・アドレス部はすべてマシン形式の整数値で +返されます。 +.Pp +.Sh インターネット・アドレス +.Ql \&. +表記法で指定される値は次のどれか一つの形式を取ります。 +.Bd -literal -offset indent +a.b.c.d +a.b.c +a.b +a +.Ed +.Pp +4 個の部分アドレスが指定されると、各部分は 1 バイトのデータと解釈されて、 +左から右の順でインターネット・アドレスの 4 バイトに割り当てられます。 +インターネット・アドレスが +.Tn VAX +上で32 ビットの整数量であると見なされるとき、上記に該当するバイトは、 +.Dq Li d.c.b.a . +と表示されます。すなわち、 +.Tn VAX +のバイト順序は右から左順になります。 +.Pp +3 個の部分アドレスが指定されると、最後の部分が 16 ビット量と解釈されて、 +ネットワーク・アドレスの右端の 2 バイトになります。これは、 3 つの部分 +アドレス形式でも Class B ネットワーク・アドレスを +.Dq Li 128.net.host +として指定可能にする便宜操作です。 +.Pp +2 個の部分アドレスが供給されると、最後の部分アドレスが 24 ビット量として +解釈されて、ネットワーク・アドレスの右端の 3 バイトになります。 +これは 2 個の部分アドレス形式でも Class A ネットワーク・アドレスを +.Dq Li net.host . +として指定可能にする便宜操作です。 +.Pp +1 個の部分アドレスだけ指定されると、値はバイトの再調整なしに +直接ネットワーク・アドレスに保存されます。 +.Pp +.Ql \&. +表記法で +.Dq 部分 +として供給される数値はすべて、 C 言語で +指定される 10 進数、 8 進数、 16 進数のいづれかの形式を取ることができます + ( すなわち、先行の 0x または 0X は 16 進数、 +その他は先行する 0 が 8 進数、または数値が 10 進数と解釈されます ) 。 +.Pp +.Fn inet_aton +と +.Fn inet_ntoa +関数は +.Xr addr2ascii 3 +ファミリに妥協した完全に確立されていない関数です。 +しかし、これらの関数はまだ広く使用されていないため、 +当面は移植性のあるプログラムはこれらの存在に依存せずに +.Xr inet 3 +関数の使用を継続します。 +.Sh 診断 +.Fn inet_addr +と +.Fn inet_network +は形式違反の要求に +.Dv INADDR_NONE +定数を返します。 +.Sh 関連項目 +.Xr addr2ascii 3 , +.Xr gethostbyname 3 , +.Xr getnetent 3 , +.Xr hosts 5 , +.Xr networks 5 +.Sh 歴史 +ここで扱う関数は +.Bx 4.2 +で取り入れられました。 +.Pp +.Sh バグ +.Dv INADDR_NONE +(0xffffffff) 値は有効な同報通信アドレスですが、 +.Fn inet_addr +はエラー表示なしにこの値を返すことができません。 +新しい +.Fn inet_aton +関数はこの問題を解決しました。 +ホスト・バイト順序対ネットワーク・バイト順序の問題は混乱しがちです。 +.Fn inet_ntoa +が返すストリングはスタチック・メモリ領域に常駐します。 +.Pp +Inet_addr は +.Fa struct in_addr +を返す必要があります。 diff --git a/ja_JP.eucJP/man/man3/initgroups.3 b/ja_JP.eucJP/man/man3/initgroups.3 new file mode 100644 index 0000000000..208875e118 --- /dev/null +++ b/ja_JP.eucJP/man/man3/initgroups.3 @@ -0,0 +1,78 @@ +.\" Copyright (c) 1983, 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. +.\" +.\" @(#)initgroups.3 8.1 (Berkeley) 6/4/93 +.\" +.Dd June 4, 1993 +.Dt INITGROUPS 3 +.Os BSD 4.2 +.Sh 名称 +.Nm initgroups +.Nd グループ・アクセス・リストを初期化します。 +.Sh 書式 +.Fd #include +.Ft int +.Fn initgroups "const char *name" "int basegid" +.Sh 解説 +.Fn initgroups +関数は、 +.Fa name +で指定されるユーザのために +.Xr getgrouplist 3 +関数を使ってグループ・アクセス・リストを計算します。その後、グループ・リストは +.Xr setgroups 2 +を使い現行プロセス用に設定されます。 +.Fa basegid +は自動的に +グループ・リストに含まれます。この値はパスワード・ファイスから +グループ番号として与えられるのが一般的です。 +.Sh 戻り値 +.Fn initgroups +関数はスーパーユーザ以外が起動したとき、 \-1 を戻します。 +.Sh 関連項目 +.Xr setgroups 2 , +.Xr getgrouplist 3 +.Sh 歴史 +.Fn initgroups +関数は +.Bx 4.2 +で取り入れられました。 +.Sh バグ +.Fn initgroups +から呼び出される +.Fn getgrouplist +関数は +.Xr getgrent 3 +に基づく +ルーチンを使用します。このルーチンの中から起動プログラムがどのルーチンを +使用しても、グループ構造は +.Fn initgroups +の呼出し中に上書きされます。 diff --git a/ja_JP.eucJP/man/man3/insque.3 b/ja_JP.eucJP/man/man3/insque.3 new file mode 100644 index 0000000000..04f32b5010 --- /dev/null +++ b/ja_JP.eucJP/man/man3/insque.3 @@ -0,0 +1,87 @@ +.\" Copyright (c) 1983, 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. +.\" +.\" @(#)insque.3 8.2 (Berkeley) 12/11/93 +.\" +.Dd December 11, 1993 +.Dt INSQUE 3 +.Os BSD 4.2 +.Sh 名称 +.Nm insque , +.Nm remque +.Nd 待ち行列に対してエレメントを挿入 / 削除します。 +.Sh 書式 +.Bd -literal +struct qelem { + struct qelem *q_forw; + struct qelem *q_back; + char q_data[]; +}; +.Ed + +.Ft void +.Fn insque "struct qelem *elem" "struct qelem *pred" +.Ft void +.Fn remque "struct qelem *elem" +.Sh 解説 +.Bf -symbolic +insque と remque 関数は時代遅れの関数です。 +.br +これらの関数は、互換性ライブラリである libcompat から利用できます。 +.Ef +.Pp +.Fn insque +と +.Fn remque +関数は、二重リンクのリストから作られた待ち行列を +操作します。待ち行列中の各エレメントは +.Dq Li struct qelem +形式をとる必要があります。 +.Fn insque +関数は待ち行列中の +.Fa pred +の直後に +.Fa elem +を挿入します。 +.Fn remque +は待ち行列からエントリ +.Fa elem +を削除します。 +.Sh 関連項目 +.%T "VAX Architecture Handbook" , +pp. 228-235. +.Sh 歴史 +.Fn insque +と +.Fn remque +関数は +.Bx 4.2 +から登場しました。 diff --git a/ja_JP.eucJP/man/man3/intro.3 b/ja_JP.eucJP/man/man3/intro.3 new file mode 100644 index 0000000000..08a85a3457 --- /dev/null +++ b/ja_JP.eucJP/man/man3/intro.3 @@ -0,0 +1,163 @@ +.\" 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. +.\" +.\" @(#)intro.3 8.1 (Berkeley) 6/5/93 +.\" $Id: intro.3,v 1.1.1.1 1999-12-09 16:26:02 kuriyama Exp $ +.\" +.Dd June 5, 1993 +.Dt INTRO 3 +.Os BSD 4 +.Sh 名称 +.Nm intro +.Nd C ライブラリの手引 +.Sh 解説 +本節では C ライブラリ関数とエラー時の返却値、他の共通定義、そして設計 +概念について概説します。これらの関数のほとんどが C ライブラリである +.Em libc +から利用可能です。 +.\" (see +.\" .Xr libc 3 ) . +その他のライブラリ、例えば数学ライブラリである +.Em libm +等を利用する場合には、コンパイル時にコンパイラの +.Fl l +オプションを付加して、その利用を指示する必要があります。 +.\" .Pp +.\" A subset of the +.\" .Xr libc functions +.\" are available from Fortran; +.\" they are described separately in +.\" .Xr intro 3f . +.Pp +各種ライブラリ一覧 ( 括弧内はローダフラグ ): +.Bl -tag -width "libc (-lc)" +.It Xr libc Pq Fl l Ns Ar c +標準 C ライブラリ関数。 +.\" (See +.\" .Xr libc 3 . ) +C コンパイラ +.Xr cc 1 +を使うときは、ローダフラグ +.Fl l Ns Ar c +を指定する必要はありません。 +.Xr libc +の内部にはいくつかの `ライブラリ' または関数グループが含まれます。これらは、 +.Tn 標準 I/O +ルーチン、データベース・ルーチン、ビット・オペレータ、ストリング・ +オペレータ、キャラクタ試験とキャラクタ・オペレータ、des 暗号ルーチン、 +記憶割当、時間関数、信号処理他です。 +.It Xo +.Xr libcurses +.Pf ( Fl l Ns Ar curses +.Fl l Ns Ar termcap ) +.Xc +2次元非ビットマップ・ディスプレィ端末用の端末独立 +スクリーン管理ルーチン。 +( +.Xr curses 3 +を参照) +.It Xr libcompat Pq Fl l Ns Ar compat +廃止されているが、 +.Bx 4.3 +との互換性の生成に使える関数。特に、ソース・コード +の互換性確保のために、 +.Bx +の旧リリースで提供された各種のシステム・ +コール・インタフェースが含まれています。これらのルーチンの使用は、 +できるだけ避けるべきです。マニュアル・ページの互換性ルーチンの見出し項目に +使用すべき適切なインタフェースが表示されています。 +.It Xr libkvm Pq Fl l Ns Ar kvm +カーネル・メモリへのアクセスに使われる関数はこのライブラリにあります。 +実行中のシステムとクラッシュ・ダンプの両方に使用できます。 +.Pq Xr kvm 3 を参照 +.It Xr libl Pq Fl l Ns Ar l +.Xr lex 1 +用ライブラリ +.\" .It Xr libln +.It Xr libm Pq Fl l Ns Ar m +数学ライブラリ、 +.Em libm。 +数学ライブラリは Pascal コンパイラ +.\" .Xr pc 1 +が必要なときにロードされますが、 +.Fl l Ns Ar m +フラッグを要求するCコンパイラからは +ロードされません( +.Xr math 3 を参照 )。 +.It Xr libmp Pq Fl l Ns Ar mp +.\" .It Xr libom +.\" Old math library. +.\" .It Xr libplot Pq Fl l Ns Ar plot +.\" Device independent plotting functions. +.\" (See +.\" .Xr plot 3 . ) +.\" .It Xr libplotf77 Pq Fl l Ns Ar plotf77 +.\" The device independent plotting functions for fortran. +.\" (See +.\" .Xr plot 3 . ) +.\" .It Xr libresolv Pq Fl l Ns Ar resolv +.\" Routines for network address resolution. +.It Xr libtermcap Pq Fl l Ns Ar termcap +端末独立操作ライブラリ・パッケージ( +.Xr termcap 3 を参照 )。 +.\" .It libvt0.a +.It Xr liby Pq Fl l Ns Ar y +.Xr yacc 1 +用ライブラリ +.El +.Sh FILES +.Bl -tag -width /usr/lib/libm_p.a -compact +.It Pa /usr/lib/libc.a +C ライブラリ +.It Pa /usr/lib/libc_p.a +プロファイリングにコンパイルされた C ライブラリ +.It Pa /usr/lib/libm.a +数学ライブラリ +.It Pa /usr/lib/libm_p.a +プロファイリングにコンパイルされた数学ライブラリ +.El +.Sh 関連項目 +.\" .Xr libc 3 , +.Xr cc 1 , +.Xr ld 1 , +.Xr nm 1 , +.Xr intro 2 , +.Xr math 3 , +.Xr stdio 3 +.\" .Sh LIST OF FUNCTIONS +.\" .Bl -column "strncasecmpxxx" "system" +.\" .Sy Name Description +.\" .El +.Sh 歴史 +.Nm intro +マニュアルは +.At v7 +で取り入れられました。 diff --git a/ja_JP.eucJP/man/man3/ipx.3 b/ja_JP.eucJP/man/man3/ipx.3 new file mode 100644 index 0000000000..33699346d9 --- /dev/null +++ b/ja_JP.eucJP/man/man3/ipx.3 @@ -0,0 +1,119 @@ +.\" Copyright (c) 1986, 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. +.\" +.\" +.Dd June 4, 1993 +.Dt IPX 3 +.Os BSD 4.3 +.Sh 名称 +.Nm ipx_addr , +.Nm ipx_ntoa +.Nd IPX アドレス変換ルーチン +.Sh 書式 +.Fd #include +.Fd #include +.Ft struct ipx_addr +.Fn ipx_addr "const char *cp" +.Ft char * +.Fn ipx_ntoa "struct ipx_addr ipx" +.Sh 解説 +.Fn ipx_addr +ルーチンは +.Tn IPX +アドレスを表わすキャラクタ・ストリングを解釈し、 +システム呼出しに適したバイナリ情報を返します。 +.Fn ipx_ntoa +ルーチンは +.Tn IPX +アドレスを受け取り、共通に使われる表記法で +アドレスを示した +.Tn ASCII +ストリングを返します。 +.Pp +.Bd -filled -offset indent +< ネットワーク番号 >.< ホスト番号 >.< ポート番号 > +.Ed +.Pp +後に付くゼロ・フィールドは圧縮されて各番号は、 +.Fn ipx_addr +への入力に適したフォーマットの16 進で印刷されます。 +スーパー 10 進ディジットのないフィールドは、後ろに +.Ql H +が付随します。 +.Pp +.Fn ipx_addr +と共通使用の大多数のフォーマットとの互換性を保証するべく +努力がなされています。最初に、アドレスは、ピリオッド +.Ql \&. , +コロン +.Ql \&: , +パウンド記号 +.Ql \&# +の中から選んだ一つのセパレータ(区切り文字)で 1 フィールド +から 3 フィールドに分割されます。次に、各フィールドでのバイト・セパレー +タ ( コロンまたはピリオッド ) の有無を調べます。バイト・セパレータがあれば、 +分割されたサブフィールドは小さな 16 進数となり、全体は +ネットワーク・バイト順序の量として、 +ネットワーク順序の上位バイトにゼロがあるものとして +取り込まれます。次に、フィールドでのハイフンの有無を調べますが、ハイフン +があれば、フィールドは 1000 年をハイフンで区切る 10 進表記法の数字と +想定されます。次に、数字と見なされるフィールドに前詰めの +.Ql 0x +( C の場合 )、 +後詰めの +.Ql H +( Mesa のとき )、あるいは任意の上位 10 進ディジットがあれば、 +その数字は 16 進数と解釈されます。前詰めの +.Ql 0x +があり、上位 8 進ディジットがなければ、その数字は 8 進数と解釈されます。 +それ以外は、 10 進数に変換されます。 +.Sh 戻り値 +なし ( +.Sx バグ +参照 ) +.Sh 関連項目 +.\" .Xr ns 4 , +.Xr hosts 5 , +.Xr networks 5 +.Sh 歴史 +前述の +.Fn ns_addr +と +.Fn ns_toa +関数は +.Bx 4.3 +で取り入れられました。 +.Sh バグ +.Fn ipx_ntoa +が戻すストリングはスタティック・メモリ領域に常駐します。 +.Fn ipx_addr +関数は入力形式が適切かどうか診断すべきです。そして、明確にこれを +容認すべきです。 diff --git a/ja_JP.eucJP/man/man3/isalnum.3 b/ja_JP.eucJP/man/man3/isalnum.3 new file mode 100644 index 0000000000..daf0f02973 --- /dev/null +++ b/ja_JP.eucJP/man/man3/isalnum.3 @@ -0,0 +1,85 @@ +.\" Copyright (c) 1991, 1993 +.\" 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. +.\" +.\" @(#)isalnum.3 8.1 (Berkeley) 6/4/93 +.\" +.Dd June 4, 1993 +.Dt ISALNUM 3 +.Os +.Sh 名称 +.Nm isalnum +.Nd アルファニューメリック・キャラクタテスト +.Sh 書式 +.Fd #include +.Ft int +.Fn isalnum "int c" +.Sh 解説 +.Fn isalnum +関数は、 +.Xr isalpha 3 +あるいは +.Xr isdigit 3 +がエラーでない任意のキャラクタをテストします。 +ASCII キャラクタ・セットでは、下記の文字が該当します。 +.Pp +.Bl -column \&000_``0''__ \&000_``0''__ \&000_``0''__ \&000_``0''__ \&000_``0''__ +.It \&060\ ``0'' \t061\ ``1'' \t062\ ``2'' \t063\ ``3'' \t064\ ``4'' +.It \&065\ ``5'' \t066\ ``6'' \t067\ ``7'' \t070\ ``8'' \t071\ ``9'' +.It \&101\ ``A'' \t102\ ``B'' \t103\ ``C'' \t104\ ``D'' \t105\ ``E'' +.It \&106\ ``F'' \t107\ ``G'' \t110\ ``H'' \t111\ ``I'' \t112\ ``J'' +.It \&113\ ``K'' \t114\ ``L'' \t115\ ``M'' \t116\ ``N'' \t117\ ``O'' +.It \&120\ ``P'' \t121\ ``Q'' \t122\ ``R'' \t123\ ``S'' \t124\ ``T'' +.It \&125\ ``U'' \t126\ ``V'' \t127\ ``W'' \t130\ ``X'' \t131\ ``Y'' +.It \&132\ ``Z'' \t141\ ``a'' \t142\ ``b'' \t143\ ``c'' \t144\ ``d'' +.It \&145\ ``e'' \t146\ ``f'' \t147\ ``g'' \t150\ ``h'' \t151\ ``i'' +.It \&152\ ``j'' \t153\ ``k'' \t154\ ``l'' \t155\ ``m'' \t156\ ``n'' +.It \&157\ ``o'' \t160\ ``p'' \t161\ ``q'' \t162\ ``r'' \t163\ ``s'' +.It \&164\ ``t'' \t165\ ``u'' \t166\ ``v'' \t167\ ``w'' \t170\ ``x'' +.It \&171\ ``y'' \t172\ ``z'' +.El +.Sh 戻り値 +.Fn isalnum +関数は、キャラクタテスト結果がエラーのときゼロを返し、 +キャラクタテストが正ならばゼロ以外を返します。 +.Sh 関連項目 +.Xr ctype 3 , +.Xr isalpha 3 , +xo.Xr isdigit 3 , +.Xr ascii 7 +.Sh 規格 +.Fn isalnum +関数は +.St -ansiC +に準拠しています。 diff --git a/ja_JP.eucJP/man/man3/isalpha.3 b/ja_JP.eucJP/man/man3/isalpha.3 new file mode 100644 index 0000000000..3d68d1b6f3 --- /dev/null +++ b/ja_JP.eucJP/man/man3/isalpha.3 @@ -0,0 +1,82 @@ +.\" Copyright (c) 1991, 1993 +.\" 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. +.\" +.\" @(#)isalpha.3 8.1 (Berkeley) 6/4/93 +.\" +.Dd June 4, 1993 +.Dt ISALPHA 3 +.Os +.Sh 名称 +.Nm isalpha +.Nd アルファベット文字のテスト +.Sh 書式 +.Fd #include +.Ft int +.Fn isalpha "int c" +.Sh 解説 +.Fn isalpha +関数は、 +.Xr isupper 3 +あるいは +.Xr islower 3 +が真である文字であるかどうかをテストします。 +ASCII 文字セットでは、下記の文字が該当します。 +.Bl -column \&000_``0''__ \&000_``0''__ \&000_``0''__ \&000_``0''__ \&000_``0''__ +.It \&101\ ``A'' \t102\ ``B'' \t103\ ``C'' \t104\ ``D'' \t105\ ``E'' +.It \&106\ ``F'' \t107\ ``G'' \t110\ ``H'' \t111\ ``I'' \t112\ ``J'' +.It \&113\ ``K'' \t114\ ``L'' \t115\ ``M'' \t116\ ``N'' \t117\ ``O'' +.It \&120\ ``P'' \t121\ ``Q'' \t122\ ``R'' \t123\ ``S'' \t124\ ``T'' +.It \&125\ ``U'' \t126\ ``V'' \t127\ ``W'' \t130\ ``X'' \t131\ ``Y'' +.It \&132\ ``Z'' \t141\ ``a'' \t142\ ``b'' \t143\ ``c'' \t144\ ``d'' +.It \&145\ ``e'' \t146\ ``f'' \t147\ ``g'' \t150\ ``h'' \t151\ ``i'' +.It \&152\ ``j'' \t153\ ``k'' \t154\ ``l'' \t155\ ``m'' \t156\ ``n'' +.It \&157\ ``o'' \t160\ ``p'' \t161\ ``q'' \t162\ ``r'' \t163\ ``s'' +.It \&164\ ``t'' \t165\ ``u'' \t166\ ``v'' \t167\ ``w'' \t170\ ``x'' +.It \&171\ ``y'' \t172\ ``z'' +.El +.Sh 戻り値 +.Fn isalpha +関数は、文字テスト結果が偽のときゼロを返し、 +真のときゼロ以外を返します。 +.Sh 関連項目 +.Xr ctype 3 , +.Xr islower 3 , +.Xr isupper 3 , +.Xr ascii 7 +.Sh 規格 +.Fn isalpha +関数は +.St -ansiC +に準拠しています。 diff --git a/ja_JP.eucJP/man/man3/isascii.3 b/ja_JP.eucJP/man/man3/isascii.3 new file mode 100644 index 0000000000..ba9af00f95 --- /dev/null +++ b/ja_JP.eucJP/man/man3/isascii.3 @@ -0,0 +1,58 @@ +.\" Copyright (c) 1989, 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. +.\" +.\" @(#)isascii.3 8.2 (Berkeley) 12/11/93 +.\" +.Dd December 11, 1993 +.Dt ISASCII 3 +.Os +.Sh 名称 +.Nm isascii +.Nd ASCII 文字のテスト +.Sh 書式 +.Fd #include +.Ft int +.Fn isascii "int c" +.Sh 解説 +.Fn isascii +関数は +.Tn ASCII +文字であるかどうかをテストします。 +.Tn ASCII +文字は 0177 と同じかそれ以下の値の任意の文字です。 +.Sh 関連項目 +.Xr ctype 3 , +.Xr ascii 7 +.Sh 規格 +.Fn isascii +関数は +.St -ansiC +に準拠しています。 diff --git a/ja_JP.eucJP/man/man3/isblank.3 b/ja_JP.eucJP/man/man3/isblank.3 new file mode 100644 index 0000000000..888b8f0ee9 --- /dev/null +++ b/ja_JP.eucJP/man/man3/isblank.3 @@ -0,0 +1,53 @@ +.\" Copyright (c) 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. +.\" +.\" @(#)isblank.3 8.1 (Berkeley) 6/4/93 +.\" +.Dd June 4, 1993 +.Dt ISBLANK 3 +.Os +.Sh 名称 +.Nm isblank +.Nd 空白またはタブ文字のテスト +.Sh 書式 +.Fd #include +.Ft int +.Fn isblank "int c" +.Sh 解説 +.Fn isblank +関数は空白あるいはタブ文字であるかどうかをテストします。 +.Sh 戻り値 +.Fn isblank +関数は、文字テスト結果が偽のときゼロを返し、 +真のときゼロ以外を返します。 +.Sh 関連項目 +.Xr ctype 3 , +.Xr ascii 7 diff --git a/ja_JP.eucJP/man/man3/iscntrl.3 b/ja_JP.eucJP/man/man3/iscntrl.3 new file mode 100644 index 0000000000..e97220b2a8 --- /dev/null +++ b/ja_JP.eucJP/man/man3/iscntrl.3 @@ -0,0 +1,73 @@ +.\" Copyright (c) 1991, 1993 +.\" 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. +.\" +.\" @(#)iscntrl.3 8.1 (Berkeley) 6/4/93 +.\" +.Dd June 4, 1993 +.Dt ISCNTRL 3 +.Os +.Sh 名称 +.Nm iscntrl +.Nd 制御文字のテスト +.Sh 書式 +.Fd #include +.Ft int +.Fn iscntrl "int c" +.Sh 解説 +.Fn iscntrl +関数は制御文字であるかどうかをテストします。 +ASCII 文字セットでは、下記の文字が該当します。 +.Pp +.Bl -column \&000_``0''__ \&000_``0''__ \&000_``0''__ \&000_``0''__ \&000_``0''__ +.It \&000\ nul \t001\ soh \t002\ stx \t003\ etx \t004\ eot +.It \&005\ enq \t006\ ack \t007\ bel \t010\ bs \t011\ ht +.It \&012\ nl \t013\ vt \t014\ np \t015\ cr \t016\ so +.It \&017\ si \t020\ dle \t021\ dc1 \t022\ dc2 \t023\ dc3 +.It \&024\ dc4 \t025\ nak \t026\ syn \t027\ etb \t030\ can +.It \&031\ em \t032\ sub \t033\ esc \t034\ fs \t035\ gs +.It \&036\ rs \t037\ us \t177\ del +.El +.Sh 戻り値 +.Fn iscntrl +関数は、文字テスト結果が偽のときゼロを返し、 +真のときゼロ以外を返します。 +.Sh 関連項目 +.Xr ctype 3 , +.Xr ascii 7 +.Sh 規格 +.Fn iscntrl +関数は +.St -ansiC +に準拠しています。 diff --git a/ja_JP.eucJP/man/man3/isdigit.3 b/ja_JP.eucJP/man/man3/isdigit.3 new file mode 100644 index 0000000000..e0da0d6c8c --- /dev/null +++ b/ja_JP.eucJP/man/man3/isdigit.3 @@ -0,0 +1,68 @@ +.\" Copyright (c) 1991, 1993 +.\" 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. +.\" +.\" @(#)isdigit.3 8.1 (Berkeley) 6/4/93 +.\" +.Dd June 4, 1993 +.Dt ISDIGIT 3 +.Os +.Sh 名称 +.Nm isdigit +.Nd 10進数文字のテスト +.Sh 書式 +.Fd #include +.Ft int +.Fn isdigit "int c" +.Sh 解説 +.Fn isdigit +関数は 10 進数文字であるかどうかをテストします。 +ASCII 文字セットでは、下記の文字が該当します。 +.Pp +.Bl -column \&000_``0''__ \&000_``0''__ \&000_``0''__ \&000_``0''__ \&000_``0''__ +.It \&060\ ``0'' \t061\ ``1'' \t062\ ``2'' \t063\ ``3'' \t064\ ``4'' +.It \&065\ ``5'' \t066\ ``6'' \t067\ ``7'' \t070\ ``8'' \t071\ ``9'' +.El +.Sh 戻り値 +.Fn isdigit +関数は、文字テスト結果が偽となるときゼロを返し、 +真のときゼロ以外の値を返します。 +.Sh 関連項目 +.Xr ctype 3 , +.Xr ascii 7 +.Sh 規格 +.Fn isdigit +関数は +.St -ansiC +に準拠しています。 diff --git a/ja_JP.eucJP/man/man3/isgraph.3 b/ja_JP.eucJP/man/man3/isgraph.3 new file mode 100644 index 0000000000..2832157f3e --- /dev/null +++ b/ja_JP.eucJP/man/man3/isgraph.3 @@ -0,0 +1,85 @@ +.\" Copyright (c) 1991, 1993 +.\" 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. +.\" +.\" @(#)isgraph.3 8.2 (Berkeley) 12/11/93 +.\" +.Dd December 11, 1993 +.Dt ISGRAPH 3 +.Os +.Sh 名称 +.Nm isgraph +.Nd 印刷用文字のテスト (空白文字を除く) +.Sh 書式 +.Fd #include +.Ft int +.Fn isgraph "int c" +.Sh 解説 +.Fn isgraph +関数は空白を除いた印刷用文字であるかどうかをテストします。 +ASCII 文字セットでは、下記の文字が該当します。 +.Pp +.Bl -column \&000_``0''__ \&000_``0''__ \&000_``0''__ \&000_``0''__ \&000_``0''__ +.It \&041\ ``!'' \t042\ ``"'' \t043\ ``#'' \t044\ ``$'' \t045\ ``%'' +.It \&046\ ``&'' \t047\ ``''' \t050\ ``('' \t051\ ``)'' \t052\ ``*'' +.It \&053\ ``+'' \t054\ ``,'' \t055\ ``-'' \t056\ ``.'' \t057\ ``/'' +.It \&060\ ``0'' \t061\ ``1'' \t062\ ``2'' \t063\ ``3'' \t064\ ``4'' +.It \&065\ ``5'' \t066\ ``6'' \t067\ ``7'' \t070\ ``8'' \t071\ ``9'' +.It \&072\ ``:'' \t073\ ``;'' \t074\ ``<'' \t075\ ``='' \t076\ ``>'' +.It \&077\ ``?'' \t100\ ``@'' \t101\ ``A'' \t102\ ``B'' \t103\ ``C'' +.It \&104\ ``D'' \t105\ ``E'' \t106\ ``F'' \t107\ ``G'' \t110\ ``H'' +.It \&111\ ``I'' \t112\ ``J'' \t113\ ``K'' \t114\ ``L'' \t115\ ``M'' +.It \&116\ ``N'' \t117\ ``O'' \t120\ ``P'' \t121\ ``Q'' \t122\ ``R'' +.It \&123\ ``S'' \t124\ ``T'' \t125\ ``U'' \t126\ ``V'' \t127\ ``W'' +.It \&130\ ``X'' \t131\ ``Y'' \t132\ ``Z'' \t133\ ``['' \t134\ ``\e\|'' +.It \&135\ ``]'' \t136\ ``^'' \t137\ ``_'' \t140\ ```'' \t141\ ``a'' +.It \&142\ ``b'' \t143\ ``c'' \t144\ ``d'' \t145\ ``e'' \t146\ ``f'' +.It \&147\ ``g'' \t150\ ``h'' \t151\ ``i'' \t152\ ``j'' \t153\ ``k'' +.It \&154\ ``l'' \t155\ ``m'' \t156\ ``n'' \t157\ ``o'' \t160\ ``p'' +.It \&161\ ``q'' \t162\ ``r'' \t163\ ``s'' \t164\ ``t'' \t165\ ``u'' +.It \&166\ ``v'' \t167\ ``w'' \t170\ ``x'' \t171\ ``y'' \t172\ ``z'' +.It \&173\ ``{'' \t174\ ``|'' \t175\ ``}'' \t176\ ``~'' +.El +.Sh 戻り値 +.Fn isgraph +関数は、文字テスト結果が偽のときゼロを返し、 +真のときゼロ以外を返します。 +.Sh 関連項目 +.Xr ctype 3 , +.Xr ascii 7 +.Sh 規格 +.Fn isgraph +関数は +.St -ansiC +に準拠しています。 diff --git a/ja_JP.eucJP/man/man3/isinf.3 b/ja_JP.eucJP/man/man3/isinf.3 new file mode 100644 index 0000000000..ba4a3a3646 --- /dev/null +++ b/ja_JP.eucJP/man/man3/isinf.3 @@ -0,0 +1,71 @@ +.\" Copyright (c) 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. +.\" +.\" @(#)isinf.3 8.2 (Berkeley) 1/29/94 +.\" +.Dd January 29, 1994 +.Dt ISINF 3 +.Os +.Sh 名称 +.Nm isinf , +.Nm isnan +.Nd 無限大 (infinity) または非数値 (not-a-number) のテスト +.Sh 書式 +.Ft int +.Fn isinf double +.Ft int +.Fn isnan double +.Sh 解説 +.Fn isninf +関数は数値が +「無限大」 +.Dq \\*(If +であれば +1 を、そうでなければ +0 を返します。 +.Pp +.Fn isnan +関数は数値が +「非数値」 +.Dq not-a-number +であれば 1 を、 +そうでなければ 0 を返します。 +.Sh 関連項目 +.Xr math 3 +.Rs +.%T "IEEE Standard for Binary Floating-Point Arithmetic" +.%Q ANSI +.%R Std 754-1985 +.Re +.Sh バグ +.Tn VAX , +Tahoe のどちらの浮動小数点も「無限大」や「非数値」を識別しません。 +これらのルーチンは、該当するアーキテクチャ上では常に 0 を返します。 diff --git a/ja_JP.eucJP/man/man3/islower.3 b/ja_JP.eucJP/man/man3/islower.3 new file mode 100644 index 0000000000..b3d0f81a0f --- /dev/null +++ b/ja_JP.eucJP/man/man3/islower.3 @@ -0,0 +1,72 @@ +.\" Copyright (c) 1991, 1993 +.\" 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. +.\" +.\" @(#)islower.3 8.1 (Berkeley) 6/4/93 +.\" +.Dd June 4, 1993 +.Dt ISLOWER 3 +.Os +.Sh 名称 +.Nm islower +.Nd 小文字のテスト +.Sh 書式 +.Fd #include +.Ft int +.Fn islower "int c" +.Sh 解説 +.Fn islower +関数は小文字であるかどうかをテストします。 +ASCII 文字セットでは、下記の文字が該当します。 +.Pp +.Bl -column \&000_``0''__ \&000_``0''__ \&000_``0''__ \&000_``0''__ \&000_``0''__ +.It \&141\ ``a'' \t142\ ``b'' \t143\ ``c'' \t144\ ``d'' \t145\ ``e'' +.It \&146\ ``f'' \t147\ ``g'' \t150\ ``h'' \t151\ ``i'' \t152\ ``j'' +.It \&153\ ``k'' \t154\ ``l'' \t155\ ``m'' \t156\ ``n'' \t157\ ``o'' +.It \&160\ ``p'' \t161\ ``q'' \t162\ ``r'' \t163\ ``s'' \t164\ ``t'' +.It \&165\ ``u'' \t166\ ``v'' \t167\ ``w'' \t170\ ``x'' \t171\ ``y'' +.It \&172\ ``z'' +.El +.Sh 戻り値 +.Fn islower +関数は、文字テスト結果が偽のときゼロを返し、 +真のときゼロ以外を返します。 +.Sh 関連項目 +.Xr ctype 3 , +.Xr ascii 7 +.Sh 規格 +.Fn islower +関数は +.St -ansiC +に準拠しています。 diff --git a/ja_JP.eucJP/man/man3/isprint.3 b/ja_JP.eucJP/man/man3/isprint.3 new file mode 100644 index 0000000000..2ee2052d33 --- /dev/null +++ b/ja_JP.eucJP/man/man3/isprint.3 @@ -0,0 +1,85 @@ +.\" Copyright (c) 1991, 1993 +.\" 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. +.\" +.\" @(#)isprint.3 8.1 (Berkeley) 6/4/93 +.\" +.Dd June 4, 1993 +.Dt ISPRINT 3 +.Os +.Sh 名称 +.Nm isprint +.Nd 印刷用文字のテスト (空白文字を含む) +.Sh 書式 +.Fd #include +.Ft int +.Fn isprint "int c" +.Sh 解説 +.Fn isprint +関数は空白 (' ') を含む印刷用文字であるかどうかをテストします。 +ASCII 文字セットでは、下記の文字が該当します。 +.Pp +.Bl -column \&000_``0''__ \&000_``0''__ \&000_``0''__ \&000_``0''__ \&000_``0''__ +.It \&040\ sp \t041\ ``!'' \t042\ ``"'' \t043\ ``#'' \t044\ ``$'' +.It \&045\ ``%'' \t046\ ``&'' \t047\ ``''' \t050\ ``('' \t051\ ``)'' +.It \&052\ ``*'' \t053\ ``+'' \t054\ ``,'' \t055\ ``-'' \t056\ ``.'' +.It \&057\ ``/'' \t060\ ``0'' \t061\ ``1'' \t062\ ``2'' \t063\ ``3'' +.It \&064\ ``4'' \t065\ ``5'' \t066\ ``6'' \t067\ ``7'' \t070\ ``8'' +.It \&071\ ``9'' \t072\ ``:'' \t073\ ``;'' \t074\ ``<'' \t075\ ``='' +.It \&076\ ``>'' \t077\ ``?'' \t100\ ``@'' \t101\ ``A'' \t102\ ``B'' +.It \&103\ ``C'' \t104\ ``D'' \t105\ ``E'' \t106\ ``F'' \t107\ ``G'' +.It \&110\ ``H'' \t111\ ``I'' \t112\ ``J'' \t113\ ``K'' \t114\ ``L'' +.It \&115\ ``M'' \t116\ ``N'' \t117\ ``O'' \t120\ ``P'' \t121\ ``Q'' +.It \&122\ ``R'' \t123\ ``S'' \t124\ ``T'' \t125\ ``U'' \t126\ ``V'' +.It \&127\ ``W'' \t130\ ``X'' \t131\ ``Y'' \t132\ ``Z'' \t133\ ``['' +.It \&134\ ``\e\|'' \t135\ ``]'' \t136\ ``^'' \t137\ ``_'' \t140\ ```'' +.It \&141\ ``a'' \t142\ ``b'' \t143\ ``c'' \t144\ ``d'' \t145\ ``e'' +.It \&146\ ``f'' \t147\ ``g'' \t150\ ``h'' \t151\ ``i'' \t152\ ``j'' +.It \&153\ ``k'' \t154\ ``l'' \t155\ ``m'' \t156\ ``n'' \t157\ ``o'' +.It \&160\ ``p'' \t161\ ``q'' \t162\ ``r'' \t163\ ``s'' \t164\ ``t'' +.It \&165\ ``u'' \t166\ ``v'' \t167\ ``w'' \t170\ ``x'' \t171\ ``y'' +.It \&172\ ``z'' \t173\ ``{'' \t174\ ``|'' \t175\ ``}'' \t176\ ``~'' +.El +.Sh 戻り値 +.Fn isprint +関数は、文字テスト結果が偽のときゼロを返し、 +真のときにゼロ以外を返します。 +.Sh 関連項目 +.Xr ctype 3 , +.Xr ascii 7 +.Sh 規格 +.Fn isprint +関数は +.St -ansiC +に準拠しています。 diff --git a/ja_JP.eucJP/man/man3/ispunct.3 b/ja_JP.eucJP/man/man3/ispunct.3 new file mode 100644 index 0000000000..a7bcf436ad --- /dev/null +++ b/ja_JP.eucJP/man/man3/ispunct.3 @@ -0,0 +1,76 @@ +.\" Copyright (c) 1991, 1993 +.\" 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. +.\" +.\" @(#)ispunct.3 8.1 (Berkeley) 6/4/93 +.\" +.Dd June 4, 1993 +.Dt ISPUNCT 3 +.Os +.Sh 名称 +.Nm ispunct +.Nd 句読点文字のテスト +.Sh 書式 +.Fd #include +.Ft int +.Fn ispunct "int c" +.Sh 解説 +.Fn ispunct +関数は、 +空白または +.Xr isalnum 3 +が真である文字を除いた、印刷用文字であるかどうかをテストします。 +ASCII 文字セットでは下記の文字が該当します。 +.Pp +.Bl -column \&000_``0''__ \&000_``0''__ \&000_``0''__ \&000_``0''__ \&000_``0''__ +.It \&041\ ``!'' \t042\ ``"'' \t043\ ``#'' \t044\ ``$'' \t045\ ``%'' +.It \&046\ ``&'' \t047\ ``''' \t050\ ``('' \t051\ ``)'' \t052\ ``*'' +.It \&053\ ``+'' \t054\ ``,'' \t055\ ``-'' \t056\ ``.'' \t057\ ``/'' +.It \&072\ ``:'' \t073\ ``;'' \t074\ ``<'' \t075\ ``='' \t076\ ``>'' +.It \&077\ ``?'' \t100\ ``@'' \t133\ ``['' \t134\ ``\e\|'' \t135\ ``]'' +.It \&136\ ``^'' \t137\ ``_'' \t140\ ```'' \t173\ ``{'' \t174\ ``|'' +.It \&175\ ``}'' \t176\ ``~'' +.El +.Sh 戻り値 +.Fn ispunct +関数は、文字テスト結果が偽のときゼロを返し、 +真のときゼロ以外を返します。 +.Sh 関連項目 +.Xr ctype 3 , +.Xr ascii 7 +.Sh 規格 +.Fn ispunct +関数は +.St -ansiC +に準拠しています。 diff --git a/ja_JP.eucJP/man/man3/isspace.3 b/ja_JP.eucJP/man/man3/isspace.3 new file mode 100644 index 0000000000..b5e76f150d --- /dev/null +++ b/ja_JP.eucJP/man/man3/isspace.3 @@ -0,0 +1,68 @@ +.\" Copyright (c) 1991, 1993 +.\" 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. +.\" +.\" @(#)isspace.3 8.1 (Berkeley) 6/4/93 +.\" +.Dd June 4, 1993 +.Dt ISSPACE 3 +.Os +.Sh 名称 +.Nm isspace +.Nd 空白文字のテスト +.Sh 書式 +.Fd #include +.Ft int +.Fn isspace "int c" +.Sh 解説 +.Fn isspace +関数は標準空白文字であるかどうかをテストします。 +ASCII 文字セットでは下記の文字が該当します。 +.Pp +.Bl -column \&000_``0''__ \&000_``0''__ \&000_``0''__ \&000_``0''__ \&000_``0''__ +.It \&011\ ht \t012\ nl \t013\ vt \t014\ np \t015\ cr +.It \&040\ sp +.El +.Sh 戻り値 +.Fn isspace +関数は、文字テスト結果が偽のときゼロを返し、 +真のときゼロ以外を返します。 +.Sh 関連項目 +.Xr ctype 3 , +.Xr ascii 7 +.Sh 規格 +.Fn isspace +関数は +.St -ansiC +に準拠しています。 diff --git a/ja_JP.eucJP/man/man3/isupper.3 b/ja_JP.eucJP/man/man3/isupper.3 new file mode 100644 index 0000000000..d0c3422b3c --- /dev/null +++ b/ja_JP.eucJP/man/man3/isupper.3 @@ -0,0 +1,72 @@ +.\" Copyright (c) 1991, 1993 +.\" 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. +.\" +.\" @(#)isupper.3 8.1 (Berkeley) 6/4/93 +.\" +.Dd June 4, 1993 +.Dt ISUPPER 3 +.Os +.Sh 名称 +.Nm isupper +.Nd 大文字のテスト +.Sh 書式 +.Fd #include +.Ft int +.Fn isupper "int c" +.Sh 解説 +.Fn isupper +関数は大文字であるかどうかをテストします。 +ASCII 文字セットでは下記の文字が該当します。 +.Pp +.Bl -column \&000_``0''__ \&000_``0''__ \&000_``0''__ \&000_``0''__ \&000_``0''__ +.It \&101\ ``A'' \t102\ ``B'' \t103\ ``C'' \t104\ ``D'' \t105\ ``E'' +.It \&106\ ``F'' \t107\ ``G'' \t110\ ``H'' \t111\ ``I'' \t112\ ``J'' +.It \&113\ ``K'' \t114\ ``L'' \t115\ ``M'' \t116\ ``N'' \t117\ ``O'' +.It \&120\ ``P'' \t121\ ``Q'' \t122\ ``R'' \t123\ ``S'' \t124\ ``T'' +.It \&125\ ``U'' \t126\ ``V'' \t127\ ``W'' \t130\ ``X'' \t131\ ``Y'' +.It \&132\ ``Z'' +.El +.Sh 戻り値 +.Fn isupper +関数は文字テスト結果が偽のときゼロを返し、 +真のときゼロ以外を返します。 +.Sh 関連項目 +.Xr ctype 3 , +.Xr ascii 7 +.Sh 規格 +.Fn isupper +関数は +.St -ansiC +に準拠しています。 diff --git a/ja_JP.eucJP/man/man3/isxdigit.3 b/ja_JP.eucJP/man/man3/isxdigit.3 new file mode 100644 index 0000000000..91e4f434df --- /dev/null +++ b/ja_JP.eucJP/man/man3/isxdigit.3 @@ -0,0 +1,71 @@ +.\" Copyright (c) 1991, 1993 +.\" 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. +.\" +.\" @(#)isxdigit.3 8.1 (Berkeley) 6/4/93 +.\" +.Dd June 4, 1993 +.Dt ISXDIGIT 3 +.Os +.Sh 名称 +.Nm isxdigit +.Nd 16進数文字のテスト +.Sh 書式 +.Fd #include +.Ft int +.Fn isxdigit "int c" +.Sh 解説 +.Fn isxdigit +関数は 16 進数文字であるかどうかをテストします。 +ASCII 文字セットでは、下記の文字が該当します。 +.Pp +.Bl -column \&000_``0''__ \&000_``0''__ \&000_``0''__ \&000_``0''__ \&000_``0''__ +.It \&060\ ``0'' \t061\ ``1'' \t062\ ``2'' \t063\ ``3'' \t064\ ``4'' +.It \&065\ ``5'' \t066\ ``6'' \t067\ ``7'' \t070\ ``8'' \t071\ ``9'' +.It \&101\ ``A'' \t102\ ``B'' \t103\ ``C'' \t104\ ``D'' \t105\ ``E'' +.It \&106\ ``F'' \t141\ ``a'' \t142\ ``b'' \t143\ ``c'' \t144\ ``d'' +.It \&145\ ``e'' \t146\ ``f'' +.El +.Sh 戻り値 +.Fn isxdigit +関数は、文字テスト結果が偽のときゼロを返し、 +真のときゼロ以外を返します。 +.Sh 関連項目 +.Xr ctype 3 , +.Xr ascii 7 +.Sh 規格 +.Fn isxdigit +関数は +.St -ansiC +に準拠しています。 diff --git a/ja_JP.eucJP/man/man3/j0.3 b/ja_JP.eucJP/man/man3/j0.3 new file mode 100644 index 0000000000..09d330db7f --- /dev/null +++ b/ja_JP.eucJP/man/man3/j0.3 @@ -0,0 +1,151 @@ +.\" Copyright (c) 1985, 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. +.\" +.\" from: @(#)j0.3 6.7 (Berkeley) 4/19/91 +.\" $Id: j0.3,v 1.1.1.1 1999-12-09 16:26:02 kuriyama Exp $ +.\" +.Dd April 19, 1991 +.Dt J0 3 +.Os BSD 4 +.Sh 名称 +.Nm j0 , +.Nm j0f , +.Nm j1 , +.Nm j1f , +.Nm jn , +.Nm jnf , +.Nm y0 , +.Nm y0f , +.Nm y1 , +.Nm y1f , +.Nm yn , +.Nm ynf +.Nd 第一種、第二種ベッセル関数 +.Sh 書式 +.Fd #include +.Ft double +.Fn j0 "double x" +.Ft float +.Fn j0f "float x" +.Ft double +.Fn j1 "double x" +.Ft float +.Fn j1f "float x" +.Ft double +.Fn jn "int n" "double x" +.Ft float +.Fn jnf "int n" "float x" +.Ft double +.Fn y0 "double x" +.Ft float +.Fn y0f "float x" +.Ft double +.Fn y1 "double x" +.Ft float +.Fn y1f "float x" +.Ft double +.Fn yn "int n" "double x" +.Ft float +.Fn ynf "int n" "float x" +.Sh 解説 +.Fn j0 , +.Fn j0f , +.Fn j1 +および +.Fn j1f +の各関数 +は、それぞれ実数値 +.Fa x +に対して、 +オーダー 0 、オーダー 1 の +第一種ベッセル関数 +を計算します。 +.Fn jn +と +.Fn jnf +関数は実数値 +.Fa x +に対する整数オーダー +.Fa n +の +第一種ベッセル関数 +を計算します。 +.Pp +.Fn y0 , +.Fn y0f , +.Fn y1 +と +.Fn y1f +の各関数は、正の実数値 +.Fa x +に対する、 +オーダー +0 とオーダー +1 の +線形独立な +第二種ベッセル関数 +を計算します。 +関数 +.Fn yn +と +.Fn ynf +の各関数は、正の実数値 +.Fa x +に対する +整数オーダー +.Fa n +の第二種ベッセル関数を +計算します。 +.Sh 戻り値 +これらの関数が正常終了すると、計算結果が返されます。 +.Tn VAX +および +.Tn Tahoe +アーキテクチャでは、 +第二種ベッセル関数に対しては、 +負またはゼロの +値 +.Fa x +はエラー +となります。 +グローバル変数 +.Va errno +は +.Er EDOM +に設定されてリザーブ・オペランド・ +フォールトが生成されます。 +.Sh 関連項目 +.Xr math 3 +.Sh 歴史 +この関数セットは +AT&T UNIX +バージョン +7 で取込まれました。 diff --git a/ja_JP.eucJP/man/man3/keycap.3 b/ja_JP.eucJP/man/man3/keycap.3 new file mode 100644 index 0000000000..83b4011d65 --- /dev/null +++ b/ja_JP.eucJP/man/man3/keycap.3 @@ -0,0 +1,119 @@ +.\" +.\" Copyright (c) 1992,1993,1994 Hellmuth Michaelis +.\" +.\" Copyright (c) 1990 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. +.\" +.\" @(#)keycap.3, 3.00, Last Edit-Date: [Sun Jan 2 13:46:43 1994] +.\" +.Dd January 3, 1993 +.Dt KEYCAP 3 +.Sh 名称 +.Nm kgetent , +.Nm kgetnum , +.Nm kgetflag , +.Nm kgetstr +.Nd キーキャップデータベースへのアクセスルーチン群 +.Sh 書式 +.Ft int +.Fn kgetent "char *bp" "char *name" +.Ft int +.Fn kgetnum "char *id" +.Ft int +.Fn kgetflag "char *id" +.Ft char * +.Fn kgetstr "char *id" "char **area" +.Sh 解説 +これらの関数は、キーボードケーパビリティデータベース、通常は +.Pa /usr/share/misc/keycap.pcvt +からケーパビリティを引き出して使用します。 +データベースの +フォーマットは +.Xr keycap 5 +に説明されています。 +.Pp +.Fn kgetent +関数は、 +.Fa bp +のバッファに +.Fa name +のキーボードマッピングの +エントリを展開します。 +引数 +.Fa bp +はサイズが 1024 のキャラクタバッファであるべきで、 +.Fn kgetnum , +.Fn kgetflag , +.Fn kgetstr +へのその後のすべての呼び出しを通して +保持されなければなりません。 +.Fn kgetent +関数は、オープンできた +.Nm keycap +データベース・ファイルが一つもなければ \-1 を返し、 +所定のマップ名にエントリがなければ 0 を返し、 +全てが正常終了すれば 1 を返します。 +.Pp +.Fn kgetnum +関数はケーパビリティ +.Fa id +に対する数値を得ます。 +マップから与えられなければ \-1 を返します。 +.Pp +.Fn kgetflag +関数は、特定のケーパビリティがマップのエントリに存在すれば +1 を戻し、 +存在しなければ +0 を戻します。 +.Pp +.Fn kgetstr +関数はケーパビリティ +.Fa id +に対する文字列を +.Fa area +によって示されたバッファにコピーし、そのポインタを返します。 +そして +.Fa area +ポインタをその文字列の後ろまで進めます。 +.Fn kgetstr +関数は、ケーパビリティが見つからなければ +.Dv NULL +を返します。 +.Sh ファイル +.Bl -tag -width /usr/share/misc/keycap.pcvt -compact +.It Pa /usr/share/misc/keycap.pcvt +キーボードケーパビリティデータベース +(なければインストール時に選択されます) +.El +.Sh 関連項目 +.Xr kcon 1 , +.Xr keycap 5 diff --git a/ja_JP.eucJP/man/man3/kvm.3 b/ja_JP.eucJP/man/man3/kvm.3 new file mode 100644 index 0000000000..c8f7d12f62 --- /dev/null +++ b/ja_JP.eucJP/man/man3/kvm.3 @@ -0,0 +1,105 @@ +.\" Copyright (c) 1992, 1993 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" This code is derived from software developed by the Computer Systems +.\" Engineering group at Lawrence Berkeley Laboratory under DARPA contract +.\" BG 91-66 and contributed to Berkeley. +.\" +.\" 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. +.\" +.\" @(#)kvm.3 8.1 (Berkeley) 6/4/93 +.\" +.\" jpman %Id% +.\" +.Dd June 4, 1993 +.Dt KVM 3 +.Os +.Sh 名称 +.Nm kvm +.Nd カーネル・メモリ・インタフェース +.Sh 解説 +.Xr kvm 3 +ライブラリは、作動中のシステムとクラッシュダンプを含めて、 +カーネル仮想メモリイメージをアクセスするための +一様なインタフェースを提供します。 +作動中のシステムへのアクセスは /dev/mem を経由して行われます。 +他方、クラッシュダンプは +.Xr savecore 8 +が生成するコアファイルを経由して検証できます。 +インタフェースは同じように動作します。 +メモリは読み取りと書き込みができ、 +カーネルシンボルアドレスは効率的に調べることができ、 +ユーザプロセスの情報が収集できます。 +.Pp +.Fn kvm_open +は、すべての後続する呼び出しの記述子を得るために、 +最初に呼び出されます。 +.Sh 互換性 +kvm インタフェースは最初に SunOS で取込まれました。 +かなりの数のプログラムが開発されており、 +このインタフェースを使用して後方互換性を +非常に望ましい形にしています。 +ほとんどの点で、Sun kvm インタフェースは一貫しており、クリーンです。 +従って、インタフェースのジェネリックな部分 +(たとえば +.Fn kvm_open , +.Fn kvm_close , +.Fn kvm_read , +.Fn kvm_write +および +.Fn kvm_nlist ) +は BSD インタフェースに組み込まれてしまっています。 +実際、多くの kvm アプリケーション (たとえばデバッガや統計的モニタ) +はインタフェースのこのサブセットのみを使用します。 +プロセス・インタフェースは残されませんでした。 +これは移植性の問題ではありません。 +すなわち、 +プロセスを操作するどのようなコードも本質的にマシンに依存するためです。 +.Pp +最後に、Sun kvm エラー報告セマンティクスはうまく定義されていません。 +ライブラリは、stderr に自動的にエラーを印字する、 +あるいはエラー・メッセージをまったく印字しないのどちらかに設定できます。 +後者の場合には、エラーの性質は決定できません。 +この問題を克服するために、BSD インタフェースは +.Xr kvm_geterr 3 +ルーチンを含み、 +該当の記述子における最新のエラー状態に対応する +エラー・メッセージを戻します (印字しません)。 +.Sh 関連項目 +.Xr kvm_close 3 , +.Xr kvm_getargv 3 , +.Xr kvm_getenvv 3 , +.Xr kvm_geterr 3, +.Xr kvm_getloadavg 3 , +.Xr kvm_getprocs 3 , +.Xr kvm_nlist 3 , +.Xr kvm_open 3 , +.Xr kvm_openfiles 3 , +.Xr kvm_read 3 , +.Xr kvm_write 3 diff --git a/ja_JP.eucJP/man/man3/kvm_geterr.3 b/ja_JP.eucJP/man/man3/kvm_geterr.3 new file mode 100644 index 0000000000..ac371714a7 --- /dev/null +++ b/ja_JP.eucJP/man/man3/kvm_geterr.3 @@ -0,0 +1,84 @@ +.\" copyright (c) 1992, 1993 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" This code is derived from software developed by the Computer Systems +.\" Engineering group at Lawrence Berkeley Laboratory under DARPA contract +.\" BG 91-66 and contributed to Berkeley. +.\" +.\" 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. +.\" +.\" @(#)kvm_geterr.3 8.1 (Berkeley) 6/4/93 +.\" +.\" jpman %Id% +.\" +.Dd June 4, 1993 +.Dt KVM_GETERR 3 +.Os +.Sh 名称 +.Nm kvm_geterr +.Nd kvm 記述子でのエラー・メッセージを獲得する +.Sh 書式 +.Fd #include +.br +.Ft char * +.Fn kvm_geterr "kvm_t *kd" +.Sh 解説 +この関数は +.Fa kd +記述子での最新のエラー状態を説明している文字列を戻します。 +もしも最新の +.Xr kvm 3 +ライブラリ呼び出しがエラーを引き起こさなかったならば、 +その結果は定義されていません。戻された文字列は +.Xr kvm 3 +が所有するメモリに保存されますので、 +メッセージは必要があれば複写して別の場所に保存すべきです。 +.Sh バグ +このルーチンは異常終了した +.Fn kvm_openfiles +呼び出しに基づくエラー条件のアクセスに使用できません。 +異常終了は +.Dv ヌル +記述子を戻すことで指示されます。 +このために、オープンに関するエラーは特別なエラー・バッファに出力され、 +.Fn kvm_openfiles +に渡されます。このオプションは +.Fn kvm_open +には使用できません。 +.Sh 関連項目 +.Xr kvm 3 , +.Xr kvm_close 3 , +.Xr kvm_getargv 3 , +.Xr kvm_getenvv 3 , +.Xr kvm_getprocs 3 , +.Xr kvm_nlist 3 , +.Xr kvm_open 3 , +.Xr kvm_openfiles 3 , +.Xr kvm_read 3 , +.Xr kvm_write 3 diff --git a/ja_JP.eucJP/man/man3/kvm_getfiles.3 b/ja_JP.eucJP/man/man3/kvm_getfiles.3 new file mode 100644 index 0000000000..1226d6bb50 --- /dev/null +++ b/ja_JP.eucJP/man/man3/kvm_getfiles.3 @@ -0,0 +1,86 @@ +.\" Copyright (c) 1992, 1993 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" This code is derived from software developed by the Computer Systems +.\" Engineering group at Lawrence Berkeley Laboratory under DARPA contract +.\" BG 91-66 and contributed to Berkeley. +.\" +.\" 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. +.\" +.\" @(#)kvm_getfiles.3 8.2 (Berkeley) 4/19/94 +.\" +.\" jpman %Id% +.\" +.Dd April 19, 1994 +.Dt KVM_GETFILES 3 +.Os +.Sh 名称 +.Nm kvm_getfiles +.Nd オープンしたファイルを調査する +.Sh 書式 +.Fd #include +.Fd #define KERNEL +.Fd #include +.Fd #undef KERNEL +.\" .Fa kvm_t *kd +.br +.Ft char * +.Fn kvm_getfiles "kvm_t *kd" "int op" "int arg" "int *cnt" +.Sh 解説 +.Fn kvm_getfiles +関数は、 +.Fa kd +で示されるカーネルにあるオープンファイルの (サブ) 集合を戻します。 +.Fa op +と +.Fa arg +引数は、戻ったファイルの集合を制限するひとつの属性を構成します。 +属性は現時点では定義されていません。 +.Pp +見つけたプロセス数は参照パラメータ +.Fa cnt +に戻されます。ファイルはファイル構造体の連続した配列で戻されます。 +カーネルでの最初のファイル・エントリのアドレスが先行しています。 +このメモリは kvm で所有され、引き続く kvm +ライブラリ呼び出しに対しても持続することは保証されていません。 +データは保存の必要があればコピーするべきです。 +.Sh 戻り値 +.Fn kvm_getfiles +は異常終了時にヌルを戻します。 +.Sh バグ +このルーチンは kvm インタフェースに属していません。 +.Sh 関連項目 +.Xr kvm 3 , +.Xr kvm_close 3 , +.Xr kvm_geterr 3 , +.Xr kvm_nlist 3 , +.Xr kvm_open 3 , +.Xr kvm_openfiles 3 , +.Xr kvm_read 3 , +.Xr kvm_write 3 diff --git a/ja_JP.eucJP/man/man3/kvm_getloadavg.3 b/ja_JP.eucJP/man/man3/kvm_getloadavg.3 new file mode 100644 index 0000000000..5ca74c256c --- /dev/null +++ b/ja_JP.eucJP/man/man3/kvm_getloadavg.3 @@ -0,0 +1,65 @@ +.\" Copyright (c) 1992, 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. +.\" +.\" @(#)kvm_getloadavg.3 8.1 (Berkeley) 6/4/93 +.\" +.\" jpman %Id% +.\" +.Dd June 4, 1993 +.Dt KVM_GETLOADAVG 3 +.Os +.Sh 名称 +.Nm kvm_getloadavg +.Nd システムのロード平均を獲得する +.Sh 書式 +.Fd #include +.Ft int +.Fn kvm_getloadavg "kvm_t *kd" "double loadavg[]" "int nelem" +.Sh 解説 +.Fn kvm_getloadavg +関数は、 +.Fa kd +で指示されたカーネルのシステム動作待ち行列でのプロセス数を戻します。 +この数は種々の時間間隔で平均化されています。最大 +.Fa nelem +のサンプルが検索され、 +.Fa loadavg Ns Bq +の連続するエレメントに割り当てられます。 +システムは最大 3 個のサンプルを押し付けます。 +これらのサンプルは別々の最後の +1 分、5 分、15 分での平均を表わしています。 +.Sh 診断 +ロード平均が獲得できなければ、\-1 が戻ります。 +そうでなければ、実際に検索されたサンプル数が戻ります。 +.Sh 関連項目 +.Xr uptime 1 , +.Xr getloadavg 3 , +.Xr kvm 3 diff --git a/ja_JP.eucJP/man/man3/kvm_getprocs.3 b/ja_JP.eucJP/man/man3/kvm_getprocs.3 new file mode 100644 index 0000000000..9f4f0c9173 --- /dev/null +++ b/ja_JP.eucJP/man/man3/kvm_getprocs.3 @@ -0,0 +1,174 @@ +.\" Copyright (c) 1992, 1993 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" This code is derived from software developed by the Computer Systems +.\" Engineering group at Lawrence Berkeley Laboratory under DARPA contract +.\" BG 91-66 and contributed to Berkeley. +.\" +.\" 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. +.\" +.\" @(#)kvm_getprocs.3 8.1 (Berkeley) 6/4/93 +.\" $Id: kvm_getprocs.3,v 1.1.1.1 1999-12-09 16:26:02 kuriyama Exp $ +.\" +.\" jpman %Id% +.\" +.Dd June 4, 1993 +.Dt KVM_GETPROCS 3 +.Os +.Sh 名称 +.Nm kvm_getprocs , +.Nm kvm_getargv , +.Nm kvm_getenvv +.Nd ユーザプロセス状態にアクセスする +.Sh 書式 +.Fd #include +.Fd #include +.Fd #include +.\" .Fa kvm_t *kd +.br +.Ft struct kinfo_proc * +.Fn kvm_getprocs "kvm_t *kd" "int op" "int arg" "int *cnt" +.Ft char ** +.Fn kvm_getargv "kvm_t *kd" "const struct kinfo_proc *p" "int nchr" +.Ft char ** +.Fn kvm_getenvv "kvm_t *kd" "const struct kinfo_proc *p" "int nchr" +.Sh 解説 +.Fn kvm_getprocs +は +.Fa kd +が指示するカーネルの動作中のプロセスの (サブ) 集合を戻します。 +.Fa op +と +.Fa arg +の各引数は戻されたプロセスの集合を制限する属性を構成します。 +.Fa op +の値は以下のフィルタリング属性を記述しています : +.Pp +.Bl -tag -width 20n -offset indent -compact +.It Sy KERN_PROC_ALL +すべてのプロセス +.It Sy KERN_PROC_PID +プロセス ID +.Fa arg +を持つプロセス +.It Sy KERN_PROC_PGRP +プロセスグループ +.Fa arg +を持つプロセス +.It Sy KERN_PROC_SESSION +セッション +.Fa arg +を持つプロセス +.It Sy KERN_PROC_TTY +tty +.Fa arg +を持つプロセス +.It Sy KERN_PROC_UID +実効ユーザ ID +.Fa arg +を持つプロセス +.It Sy KERN_PROC_RUID +実ユーザ ID +.Fa arg +を持つプロセス +.El +.Pp +見つけたプロセス数は参照パラメータ +.Fa cnt +で戻されます。 +プロセスは kinfo_proc 構造体の連続配列として戻されます。 +このメモリは局所的に割り当てられ、 +.Fn kvm_getprocs +と +.Fn kvm_close +に引き続く呼び出しはこの記憶域に上書きします。 +.Pp +.Fn kvm_getargv +はヌルで終了する引数ベクタを戻します。 +このベクタは +.Fa p +が示すプロセスに通過したコマンドライン引数に対応します。 +おそらく、これらの引数はプロセス生成時の +.Xr exec 3 +に通過した値に相当します。 +しかしながら、この情報は、 +故意にプロセス自身のコントロール下にあります。 +オリジナルのコマンド名は、 +.Fn kvm_getprocs +によって戻されたプロセス構造体の p_comm フィールドに、 +変更されていない状態で見つけることができます。 +.Pp +.Fa nchr +引数はヌルバイトを含めた最大の文字数を示し、 +文字列の構築に使います。 +もしもこの量を超えてしまえば、 +オーバーフローの原因となる文字列は切り捨てられ、 +結果が部分的に戻されます。これは +.Xr ps 1 +や +.Xr w 1 +のようなプログラムにとっては簡便な方法です。 +これらのプログラムにおいては、 +コマンドの 1 行要約のみを印字し、 +無視するためのみに多量のテキストを複写すべきではありません。 +.Fa nchr +がゼロならば、なんら制限は課されませんし、 +すべての引数の文字列はそっくりそのまま戻されます。 +.Pp +argv ポインタと文字列記憶域に割り当てられたメモリは、 +kvm ライブラリによって所有されます。引き続く +.Fn kvm_getprocs +と +.Xr kvm_close 3 +呼び出しはこの記憶域を容赦なく使います。 +.Pp +.Fn kvm_getenvv +関数は +.Fn kvm_getargv +に類似していますが、環境文字列のベクタを戻します。 +このデータはまたプロセスにより変更可能です。 +.Sh 戻り値 +.Fn kvm_getprocs , +.Fn kvm_getargv , +および +.Fn kvm_getenvv +はすべて異常終了時に +.Dv ヌル +を戻します。 +.Sh バグ +これらのルーチンは kvm インタフェースに属していません。 +.Sh 関連項目 +.Xr kvm 3 , +.Xr kvm_close 3 , +.Xr kvm_geterr 3 , +.Xr kvm_nlist 3 , +.Xr kvm_open 3 , +.Xr kvm_openfiles 3 , +.Xr kvm_read 3 , +.Xr kvm_write 3 diff --git a/ja_JP.eucJP/man/man3/kvm_nlist.3 b/ja_JP.eucJP/man/man3/kvm_nlist.3 new file mode 100644 index 0000000000..4e41cc6d06 --- /dev/null +++ b/ja_JP.eucJP/man/man3/kvm_nlist.3 @@ -0,0 +1,91 @@ +.\" Copyright (c) 1992, 1993 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" This code is derived from software developed by the Computer Systems +.\" Engineering group at Lawrence Berkeley Laboratory under DARPA contract +.\" BG 91-66 and contributed to Berkeley. +.\" +.\" 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. +.\" +.\" @(#)kvm_nlist.3 8.1 (Berkeley) 6/4/93 +.\" +.\" jpman %Id% +.\" +.Dd June 4, 1993 +.Dt KVM_NLIST 3 +.Os +.Sh 名称 +.Nm kvm_nlist +.Nd カーネル・イメージからシンボルテーブルを検索する +.Sh 書式 +.Fd #include +.Fd #include +.Ft int +.Fn kvm_nlist "kvm_t *kd" "struct nlist *nl" +.Sh 解説 +.Fn kvm_nlist +はネームリスト引数 +.Fa \&nl +で示されるシンボルテーブルのエントリを検索します。 +この引数は nlist 構造体の配列を指し示し、 +n_name フィールドが +.Dv ヌル +.Xr (nlist 3 +参照) であるエントリで終了しています。 +各シンボルは n_name フィールドを使って調べられます。 +そしてもし見つけられたら、 +対応する n_type フィールドと n_value フィールドが記載されます。 +シンボルが見つからなければ、これらのフィールドは 0 にされます。 +.Pp +プログラム +.Xr kvm_mkdb 8 +は動作中のカーネルのネームリストからデータベースを構築します。 +データベースがオープンされたカーネルに一致すれば、 +.Fn kvm_nlist +はそれを使って検索を速めます。 +.Sh 戻り値 +.Fn kvm_nlist +関数は見つけた無効エントリ数を戻します。 +カーネルシンボルテーブルが読めなければ、-1 を戻します。 +.Sh ファイル +.Bl -tag -width /var/db/kvm_kernel.db -compact +.It Pa /var/db/kvm_kernel.db +.El +.Sh 関連項目 +.Xr kvm 3 , +.Xr kvm_close 3 , +.Xr kvm_getargv 3 , +.Xr kvm_getenvv 3 , +.Xr kvm_geterr 3 , +.Xr kvm_getprocs 3 , +.Xr kvm_open 3 , +.Xr kvm_openfiles 3 , +.Xr kvm_read 3 , +.Xr kvm_write 3 , +.Xr kvm_mkdb 8 diff --git a/ja_JP.eucJP/man/man3/kvm_open.3 b/ja_JP.eucJP/man/man3/kvm_open.3 new file mode 100644 index 0000000000..7be2fcdec3 --- /dev/null +++ b/ja_JP.eucJP/man/man3/kvm_open.3 @@ -0,0 +1,188 @@ +.\" Copyright (c) 1992, 1993 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" This code is derived from software developed by the Computer Systems +.\" Engineering group at Lawrence Berkeley Laboratory under DARPA contract +.\" BG 91-66 and contributed to Berkeley. +.\" +.\" 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. +.\" +.\" @(#)kvm_open.3 8.3 (Berkeley) 4/19/94 +.\" +.\" jpman %Id% +.\" +.Dd April 19, 1994 +.Dt KVM_OPEN 3 +.Os +.Sh 名称 +.Nm kvm_open , +.Nm kvm_openfiles , +.Nm kvm_close +.Nd カーネル仮想メモリ・アクセスの初期化 +.Sh 書式 +.Fd #include +.Fd #include +.br +.Ft kvm_t * +.Fn kvm_open "const char *execfile" "const char *corefile" "const char *swapfile" "int flags" "const char *errstr" +.Ft kvm_t * +.Fn kvm_openfiles "const char *execfile" "const char *corefile" "const char *swapfile" "int flags" "char *errbuf" +.Ft int +.Fn kvm_close "kvm_t *kd" +.Sh 解説 +.Fn kvm_open +と +.Fn kvm_openfiles +の各関数は +.Xr kvm 3 +ライブラリルーチンを介しカーネル仮想メモリに +アクセスするのに使われる記述子を返します。 +アクティブカーネルとクラッシュダンプは +双方ともこのインタフェース経由でアクセス可能です。 +.Pp +.Fa execfile +は、検証されるカーネルの実行可能イメージです。 +このファイルにはシンボルテーブルが含まれる必要があります。 +この引数が +.Dv ヌル +のとき、現在実行中のシステムと仮定して +.Xr getbootfile 3 +から決定されます。 +.Pp +.Fa corefile +はカーネル・メモリ・デバイスファイルで、/dev/mem にも +.Xr savecore 8 +が生成するクラッシュダンプコアにもなります。 +.Fa corefile +が +.Dv ヌル +のとき、 が指示するデフォルト値 +.Dv _PATH_MEM +が使われます。 +.Pp +.Fa swapfile +はスワップ・デバイスを指示します。 +.Dv ヌル +のとき、 の +.Dv _PATH_DRUM +が使われます。 +.Pp +.Fa flags +引数は、 +.Xr open 2 +同様に読取り / 書込みアクセスフラグを示し、 +コアファイルに限定して適用します。 +.Dv O_RDONLY , +.Dv O_WRONLY +と +.Dv O_RDWR +だけが許可されます。 +.Pp +オープン・ルーチンは 2 個あり、 +その違いはエラー機構だけです。 +一方は SunOS kvm ライブラリと後方互換性があり、 +他方は改善されたエラー報告フレームワークを提供します。 +.Pp +.Fn kvm_open +関数は Sun kvm と互換のオープン呼び出しです。 +ここでは、 +.Fa errstr +引数はエラーの処理方法を示します。 +結果が +.Dv ヌル +のとき、エラーは報告されず、 +アプリケーション・プログラムは kvm +呼び出しが失敗した原因は知らされません。 +結果が +.Dv ヌル +でなければ、 +.Xr perror 3 +同様にメッセージに +.Fa errstr +が事前に付加されて stderr に印字されます。 +通常、プログラム名が使われます。ストリングは該当の +.Fn kvm_close +呼び出しまでは最低保持すると想定されます。 +.Pp +.Fn kvm_openfiles +関数は BSD 様式のエラー報告を行います。 +ここでは、エラー・メッセージはライブラリにより印字されません。 +代わりに、アプリケーションは +.Fn kvm_geterr +.Xr (kvm_geterr 3 +参照) を使用して、 +一番最後の kvm library 呼び出しに該当するエラーメッセージを獲得します。 +最後の kvm 呼び出しが正常であれば、結果は未定義となります。 +.Fn kvm_geterr +は kvm 記述子を要求しますが、 +オープンルーチンはオープン失敗のときには +.Dv ヌル +を戻し、オープンに失敗したときには、 +.Fn kvm_geterr +を使ってエラー・メッセージを獲得できません。 +したがって、 +.Fn kvm_openfiles +は任意のエラー・メッセージを +.Fa errbuf +引数中に置きます。 +このバッファの大きさは _POSIX2_LINE_MAX キャラクタ分必要です +(より)。 +.Sh 戻り値 +.Fn kvm_open +と +.Fn kvm_openfiles +関数は、その後のすべての kvm ライブラリ呼び出しで +使用するための記述子を返します。 +ライブラリは完全に再入可能です。 +異常終了時には +.Dv ヌル +が返されますが、この場合、 +.Fn kvm_openfiles +はエラー・メッセージを +.Fa errbuf +に書き込みます。 +.Pp +.Fn kvm_close +関数は正常終了時に 0 を返し、 +異常終了時には -1 を返します。 +.Sh バグ +オープン呼び出しは 2 個持てません。 +Sun ライブラリの誤定義エラーセマンティクスと +BSD について後方互換ライブラリを持つ要望は +任意選択の余地がありません。 +.Sh 関連項目 +.Xr open 2 , +.Xr kvm 3 , +.Xr kvm_getargv 3 , +.Xr kvm_getenvv 3 , +.Xr kvm_geterr 3 , +.Xr kvm_getprocs 3 , +.Xr kvm_nlist 3 , +.Xr kvm_read 3 , +.Xr kvm_write 3 diff --git a/ja_JP.eucJP/man/man3/kvm_read.3 b/ja_JP.eucJP/man/man3/kvm_read.3 new file mode 100644 index 0000000000..3779ada4d0 --- /dev/null +++ b/ja_JP.eucJP/man/man3/kvm_read.3 @@ -0,0 +1,95 @@ +.\" Copyright (c) 1992, 1993 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" This code is derived from software developed by the Computer Systems +.\" Engineering group at Lawrence Berkeley Laboratory under DARPA contract +.\" BG 91-66 and contributed to Berkeley. +.\" +.\" 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. +.\" +.\" @(#)kvm_read.3 8.1 (Berkeley) 6/4/93 +.\" +.\" jpman %Id% +.\" +.Dd June 4, 1993 +.Dt KVM_READ 3 +.Os +.Sh 名称 +.Nm kvm_read , +.Nm kvm_write +.Nd カーネル仮想メモリの読取り、書込み +.Sh 書式 +.Fd #include +.Ft ssize_t +.Fn kvm_read "kvm_t *kd" "u_long addr" "void *buf" "size_t nbytes" +.Ft ssize_t +.Fn kvm_write "kvm_t *kd" "u_long addr" "const void *buf" "size_t nbytes" +.Sh 解説 +.Fn kvm_read +および +.Fn kvm_write +関数はカーネル仮想メモリ +(またはクラッシュ・ダンプ・ファイル) の読取り、 +書込みに使用されます。 +カーネル仮想メモリと +クラッシュ・ダンプのオープンに関する情報は +.Fn kvm_open 3 +または +.Fn kvm_openfiles 3 +を参照してください。 +.Pp +.Fn kvm_read +関数はデータの +.Fa nbytes +バイトをカーネル空間のアドレス +.Fa addr +から +.Fa buf +に転送します。逆に、 +.Fn kvm_write +はデータを +.Fa buf +から +.Fa addr +に転送します。 +SunOS と異なり、これらの関数はプロセスのアドレス空間を、 +読取りまたは書込みに使用できません。 +.Sh 戻り値 +正常に終了すると、実際に転送されたバイト数が返されます。 +エラー終了時は -1 が返されます。 +.Sh 関連項目 +.Xr kvm 3 , +.Xr kvm_close 3 , +.Xr kvm_getargv 3 , +.Xr kvm_getenvv 3 , +.Xr kvm_geterr 3 , +.Xr kvm_getprocs 3 , +.Xr kvm_nlist 3 , +.Xr kvm_open 3 , +.Xr kvm_openfiles 3 diff --git a/ja_JP.eucJP/man/man3/labs.3 b/ja_JP.eucJP/man/man3/labs.3 new file mode 100644 index 0000000000..6f737a8e49 --- /dev/null +++ b/ja_JP.eucJP/man/man3/labs.3 @@ -0,0 +1,67 @@ +.\" Copyright (c) 1990, 1991, 1993 +.\" 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. +.\" +.\" @(#)labs.3 8.1 (Berkeley) 6/4/93 +.\" +.\" jpman %Id% +.\" +.Dd June 4, 1993 +.Dt LABS 3 +.Os +.Sh 名称 +.Nm labs +.Nd long integer の絶対値 +.Sh 書式 +.Fd #include +.Ft long +.Fn labs "long j" +.Sh 解説 +.Fn labs +関数は、引数に指定された long integer の変数 +.Ar j +の絶対値を返します。 +.Sh 関連項目 +.Xr abs 3 , +.Xr cabs 3 , +.Xr floor 3 , +.Xr math 3 +.Sh 規格 +.Fn labs +関数は +.St -ansiC +に準拠しています。 +.Pp +.Sh バグ +負の最大値の整数は負のままです。 \ No newline at end of file diff --git a/ja_JP.eucJP/man/man3/ldexp.3 b/ja_JP.eucJP/man/man3/ldexp.3 new file mode 100644 index 0000000000..d979be29b2 --- /dev/null +++ b/ja_JP.eucJP/man/man3/ldexp.3 @@ -0,0 +1,76 @@ +.\" Copyright (c) 1991, 1993 +.\" 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. +.\" +.\" @(#)ldexp.3 8.2 (Berkeley) 4/19/94 +.\" +.\" jpman %Id% +.\" +.Dd April 19, 1994 +.Dt LDEXP 3 +.Os +.Sh 名称 +.Nm ldexp +.Nd 浮動小数点数値と 2 の整数累乗関数との乗算 +.Sh 書式 +.Fd #include +.Ft double +.Fn ldexp "double x" "int exp" +.Sh 解説 +.Fn ldexp +関数は浮動小数点の数値と 2 の整数累乗関数との乗算を行います。 +.Sh 戻り値 +.Fn ldexp +関数は、 +.Fa x +と 2 の +.Fa exp +乗との乗算結果を返します。 +.Pp +計算結果に桁あふれが発生した場合、外部変数 +.Va errno +に +.Er ERANGE +がセットされ、値 +.Dv HUGE +が返されます。 +.Sh 関連項目 +.Xr frexp 3 , +.Xr math 3 , +.Xr modf 3 +.Sh 規格 +.Fn ldexp +関数は +.St -ansiC +に準拠しています。 diff --git a/ja_JP.eucJP/man/man3/ldiv.3 b/ja_JP.eucJP/man/man3/ldiv.3 new file mode 100644 index 0000000000..9f289eaa56 --- /dev/null +++ b/ja_JP.eucJP/man/man3/ldiv.3 @@ -0,0 +1,73 @@ +.\" Copyright (c) 1990, 1991, 1993 +.\" 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. +.\" +.\" @(#)ldiv.3 8.1 (Berkeley) 6/4/93 +.\" +.\" jpman %Id% +.\" +.Dd June 4, 1993 +.Dt LDIV 3 +.Os +.Sh 名称 +.Nm ldiv +.Nd 割り算での商と余りを返す +.Sh 書式 +.Fd #include +.Ft ldiv_t +.Fn ldiv "long num" "long denom" +.Sh 解説 +.Fn ldiv +関数は、引数 +.Ar num , +.Ar denom +について、 +.Ar num/denom +の計算を実行し、商と余りを返します。戻り値は +.Em long integer +変数の +.Ar quot +、 +.Ar rem +からなる +.Ar ldiv-t +の構造体の形で返されます。 +.Sh 関連項目 +.Xr div 3 , +.Xr math 3 +.Sh 規格 +.Fn ldiv +関数は +.St -ansiC +に準拠しています。 diff --git a/ja_JP.eucJP/man/man3/lgamma.3 b/ja_JP.eucJP/man/man3/lgamma.3 new file mode 100644 index 0000000000..dc1fb973d8 --- /dev/null +++ b/ja_JP.eucJP/man/man3/lgamma.3 @@ -0,0 +1,131 @@ +.\" Copyright (c) 1985, 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. +.\" +.\" from: @(#)lgamma.3 6.6 (Berkeley) 12/3/92 +.\" $Id: lgamma.3,v 1.1.1.1 1999-12-09 16:26:01 kuriyama Exp $ +.\" +.\" jpman %Id% +.\" +.Dd December 3, 1992 +.Dt LGAMMA 3 +.Os BSD 4.3 +.Sh 名称 +.Nm lgamma , +.Nm lgammaf , +.Nm gamma , +.Nm gammaf +.Nd ガンマ関数およびガンマ関数の対数計算 +.Sh 書式 +.Fd #include +.Ft extern int +.Fa signgam ; +.sp +.Ft double +.Fn lgamma "double x" +.Ft float +.Fn lgammaf "float x" +.Ft double +.Fn gamma "double x" +.Ft float +.Fn gammaf "float x" +.Sh 解説 +.Fn lgamma x +および +.Fn lgammaf x +は x のガンマ関数の自然対数を返します。 +.Pp +外部変数 +.Fa signgam +には x のガンマ関数の符号が返されます。 +.Pp +.Fn gamma x +および +.Fn gammaf x +では +.Fa signgam +は使用されません。 +.Sh 特記事項 +g := \(*G(x) の計算において +.Dq Li signam\(**exp(lgamma(x)) +のような記述は不適切です。 +以下のような (C 言語) プログラムコーディングにします。 +.Bd -literal -offset indent +lg = lgamma(x); g = signam\(**exp(lg); +.Ed +.Pp +signgam は、 +.Fn lgamma +あるいは +.Fn lgammaf +の処理が完了した段階でないと正しい値を得ることができません。 +.Pp +引数の値域については、 +.Fn gamma +および +.Fn gammaf +のものが優先されます。 +正値引数の場合は全ての計算要素まで正確に計算されます。 +.Fn lgamma +のベキ指数の有効サイズは 2 の 10 乗までです。 +.Sh 戻り値 +.Fn gamma , +.Fn gammaf , +.Fn lgamma , +および +.Fn lgammaf +は引数の値が適正な範囲であれば正しい結果を返します。 +制限を越えた大きな桁の正整数値や負符号の +整数値を指定すると桁あふれエラーとなります。 +.Tn VAX +では、予約語のオペレータが返され、 +負の大きな非整数値に関しては +.Fn gamma +関数でアンダーフロエラーが発生し、 +.Va errno +に +.Er ERANGE +がセットされます。 +.Sh 関連項目 +.Xr math 3 +.Sh 歴史 +.Nm lgamma +は +.Bx 4.3 +に実装された関数です。 +.Nm gamma +は +.Bx 4.4 +に実装された関数です。 +.Fn gamma +の名称は関数名 +.Fn lgamma +の元になっていますが、 +旧いコードの部分では互換性が失われている場合もあります。 diff --git a/ja_JP.eucJP/man/man3/libalias.3 b/ja_JP.eucJP/man/man3/libalias.3 new file mode 100644 index 0000000000..f196301d29 --- /dev/null +++ b/ja_JP.eucJP/man/man3/libalias.3 @@ -0,0 +1,720 @@ +.\" jpman %Id% +.\" +.Dd July, 1997 +.Dt "libalias" 3 +.Os +.Sh 名称 +.Nm "libalias" +パケットエイリアシングライブラリ。 +ネットワークアドレス変換 (NAT) と別名化のための +IP パケットエイリアシングおよびエイリアス解除関数群 +.Sh 書式 +.Fd #include +.Fd #include +.Fd #include + +関数のプロトタイプは、このテキストの本文で紹介します。 +.Sh 目次 +.Bd -literal -offset left +1. 序文 +2. 初期化と制御 + 2.1 PacketAliasInit() + 2.2 PacketAliasUninit() + 2.3 PacketAliasSetAddress() + 2.4 PacketAliasSetMode() + 2.5 PacketAliasSetFWBase() +3. パケット操作 + 3.1 PacketAliasIn() + 3.2 PacketAliasOut() +4. ポートとアドレスのリダイレクション + 4.1 PacketAliasRedirectPort() + 4.2 PacketAliasRedirectAddr() + 4.3 PacketAliasRedirectDelete() +5. フラグメント操作 + 5.1 PacketAliasSaveFragment() + 5.2 PacketAliasGetFragment() + 5.3 PacketAliasFragmentIn() +6. その他の関数 + 6.1 PacketAliasSetTarget() + 6.2 PacketAliasCheckNewLink() + 6.3 PacketAliasInternetChecksum() +7. 作者 +8. 謝辞 + +付録 A: 概念的背景 + A.1 エイリアシング・リンク + A.2 静的および動的リンク + A.3 部分的定義によるリンク + A.4 動的リンクの生成 +.Ed + +.Sh 1. 序文 +このライブラリは、IP のローカルネットワークアドレスの変換 +および変換処理サポート用にデザインされた関数です。 +ローカルネットワークの未登録の IP アドレスから発信するパケットは、 +アクセス可能な IP アドレスから来たかのように見せかけることができます。 +外から入ってくるパケットに対しては、 +ローカルネットワーク上の正しいマシンに送られるよう +エイリアス解除されます。 + +パケットエイリアシングエンジンには、 +ある程度の柔軟性が組み込まれています。 +もっとも簡単な操作では、 +ローカルネットワークアドレスとパケットエイリアスホストとの間で +多対 1 対応付けが行なわれます。 +これは仮装 IP として知られていることです。 +更に、ローカルアドレスとパブリックアドレスの間での +1 対 1 対応付けも実装することが可能で、 +静的 NAT として知られています。 +これらの間には、異なるプライベートアドレスのグループを +それぞれ異なるパブリックアドレスにリンクさせることができ、 +その中にははっきりした多対 1 対応もいくつか見られます。 +更に、パブリックアドレスおよびポートは +固定的にプライベートアドレスおよびポートに +リダイレクトさせることができます。 + +パケットエイリアシングエンジンは、 +カーネル外部のユーザ空間で作用するように設計されており、 +そのためプライベートなカーネルデータ構造へのアクセスは不要です。 +ただし、ソースコードはカーネル環境に組み込むことができます。 + +.Sh 2. 初期化と制御 +2 つの特殊な関数、 +PacketAliasInit() および PacketAliasSetAddress() は、 +パケット操作が完了する前に呼ぶ必要があります。 +また、パケットエイリアシングエンジンの操作モードに対し +PacketAliasSetMode() 呼び出しによりカスタマイズできます。 +.Ss 2.1 PacketAliasInit() + +.Ft void +.Fn PacketAliasInit "void" + +この関数には引数がなく、また戻り値もありません。 +内部データ構造の初期化に使用されます。 +以下に示すモードビットは +PacketAliasInit() の呼び出し後、必ずセットされます。 +これらのモードビットの意味については、 +セクション 2.3 を参照してください。 +.Bd -literal -offset indent + PKT_ALIAS_USE_SAME_PORTS + PKT_ALIAS_USE_SOCKETS + PKT_ALIAS_RESET_ON_ADDR_CHANGE + +.Ed +この関数はパケットエイリアスエンジンに対し、 +常時同一の初期状態を返します。 +PacketAliasSetAddress() 呼び出しは、これに続いて行ないます。 +また、前述したデフォルトモードビットを変更する場合は +PacketAliasSetMode() を呼び出します。 + +この関数呼び出しは、 +パケット操作の前にプログラム開始段階で実行する必要があります。 +.Ss 2.2 PacketAliasUninit() + +.Ft void +.Fn PacketAliasUninit "void" + +この関数には引数も戻り値もなく、 +内部データ構造に設定された値をクリアする場合に使用されます。 + +この関数はプログラムでエイリアスエンジンの使用を +停止させる場合に呼び出す必要があります。 +それにより、ファイアウォールに空いた隙間を塞ぐことになります。 +以前との互換性や特別なセキュリティを備えるために、 +PacketAliasInit() が atexit() チェーンに付加されています。 +何度呼び出しても問題はありません。 +.Ss 2.3 PacketAliasSetAddress() + +.Ft void +.Fn PacketAliasSetAddress "struct in_addr addr" + +この関数は、ローカル領域のネットワーク外へ +パケットが発信する先のソースアドレスをセットします。 +PacketAliasRedirectAddr() により生成された +静的アドレス対応により上書きされない限り、 +発信パケットはすべてこのアドレスに再対応付けされます。 + +PKT_ALIAS_RESET_ON_ADDR_CHANGE モードビット +(デフォルト操作モード) が設定されている場合、 +内部的なエイリアスリンクテーブルは、 +エイリアスアドレスが変更されるたび、 +PacketAliasReset() 呼び出しが行なわれたかのようにリセットされます。 +これは一連のダイアルアップ操作の中で +IP アドレス状態に関わらず、 +ppp のようなインタフェースに便利です。 + +PKT_ALIAS_RESET_ON_ADDR_CHANGE モードビットが +0 にセットされていた場合、この関数は、 +パケット間のエイリアスの動的変更に使用できます +(オーバヘッドの少ない呼び出しです)。 + +パケット操作の前にこの関数を呼び出す必要があります。 +.Ss 2.4 PacketAliasSetMode() + +.Ft unsigned int +.Fn PacketAliasSetMode "unsigned int mode" "unsigned int mask" + +この関数は、 +.Em mode +値に従ってモードビットの設定をクリアを行ないます。 +.Em mask +により示されたビットだけが対象となります。 +以下に示すモードビットは alias.h で定義されています。 +.Bl -hang -offset left +.It PKT_ALIAS_LOG. +/var/log/alias.log ファイルへのロギングを可能にします。 +ログファイルには、エイリアス・リンクの作成、削除のたびに +icmp、tcp、udp へのリンク回数が記録されます。 +ログファイルが "tail -f" により継続的に見ることができれば、 +主としてデバッグ用として有効です。 +.It PKT_ALIAS_DENY_INCOMING. +このモードビットが設定されていると、 +TCP 接続や UDP トランザクションに関連する +外部から着信するあらゆるパケットは、 +呼び出しプログラムで無視 (PacketAliasIn() であれば +PKT_ALIAS_IGNORED を返す) するための印が付けられます。 +パケットのエイリアスホストや +ローカルネットワークから発生した接続や +トランザクションに対するレスポンスに対する影響はありません。 +このモードビットは片方向のファイアウォールを実装する時に有効です。 +.It PKT_ALIAS_SAME_PORTS. +このモードビットが設定されていると、 +パケットエイリアスエンジンは実際のローカルポート番号を +そのままエイリアスポート番号にしようとします。 +このことは +(proto, alias addr, alias port, remote addr, remote port) の +5 つのパラメータのペアが一意であれば可能です。 +競合が起きる場合は、このビットが設定されていても +エイリアスポート番号には別の番号が選択されます。 +.It PKT_ALIAS_USE_SOCKETS. +このビットは、エイリアスホストがパケット移送時のように +ネットワーク上にトラフィックを発生させる場合必ず設定します。 +パケットエイリアスホストが不明なホストアドレスや +不明のポート番号 (例えば、FTP データ接続時) +からの接続を待っている時は、このモードビットは、 +ポートの競合が起きないように +プレースホルダとしてソケットの割り当てを定義します。 +接続が確立されると、 +通常は 1 分ほどでソケットは閉じられます。 +.It PKT_ALIAS_UNREGISTERED_ONLY. +このビットが設定されていると、未登録のアドレス空間から生じた以外の +ローカルネットワーク上のトラフィックが無視されます。 +標準クラス A, B および C の未登録アドレスは次の通りです。 +.Bd -literal -offset indent + 10.0.0.0 -> 10.255.255.255 (Class A subnet) + 172.16.0.0 -> 172.31.255.255 (Class B subnets) + 192.168.0.0 -> 192.168.255.255 (Class C subnets) + +.Ed +このオプションは、パケットエイリアスホストが +別々のインタフェースに登録済みおよび +未登録サブネットがある場合に有効です。 +登録済みサブネットは完全に外部と接続しているので、 +パケットエイリアスエンジンにより +パケットを送り出す必要はありません。 +.It PKT_ALIAS_RESET_ON_ADDR_CHANGE. +このモードビットが設定されており、PacketAliasSetAddress() が +エイリアスアドレス変更のために呼ばれるケースでは、 +パケットエイリアスエンジンの内部リンクテーブル内容がクリアされます。 +この操作モードは、 +ダイアルアップ間でのインタフェースアドレスを変更したり、 +変更せずにおく ppp リンクの場合に有効です。 +このモードビットが設定されていない場合、 +リンクテーブルはアドレスが変更されてもリセットされません。 +.It PKT_ALIAS_PUNCH_FW. +このオプションにより、libalias は、 +FTP/IRC DCC 接続に対する ipfw ベースのファイアウォールの +`隙間' を作ることになります。 +開けられた隙間は IP アドレスやポートと結び付いており、 +別の接続に使用することはできません。 +隙間はそれを使用している接続が消滅すれば除去されます。 +libalias を使用しているプログラムを強制的に終了させる +(例えば kill -9) 仕組みは、フラグの状態により、 +隙間に割り当てられた全 ipfw 領域をクリアすることで実現されています。 +このことはまた PacketAliasSetFWBase() に対する +初期呼び出しでも起こります。 +この呼び出しはフラグの設定の前に行なう必要があります。 + +.El + +.Ss 2.5 PacketAliasSetFWBase() + +.Ft void +.Fn PacketAliasSetFWBase "unsigned int base" "unsigned int num" + +IPFW に (PKT_ALIAS_PUNCH_FW フラグにより) +ファイアウォールの隙間に対する領域を割り当てます。 +領域は全初期化ルールに従いクリアされます。 + +.Sh 3. パケット操作 +パケット処理関数は、着信 (リモート -> ローカル) +および発信 (ローカル -> リモート) パケットの修正に使用されます。 +ネットワークインタフェース経由でのパケットの送受信は、 +呼び出し側プログラムが行ないます。 + +PacketAliasInit() および PacketAliasSetAddress() とともに、 +PacketAliasIn() と PacketAliasOut() の +2 つのパケット処理ルーチンが基本的な、 +見かけの IP 実装に必要な最小機能として用意されています。 +.Ss 3.1 PacketAliasIn() + +.Ft int +.Fn PacketAliasIn "char *buffer" "int maxpacketsize" + +リモートのマシンからローカルネットワークへの着信パケットは +この関数によりエイリアス解除されます。 +IP パケットは引数 +.Em buffer +で指定されます。 +.Em maxpacketsize +はパケットを含むデータ構造の長さを示しており、 +実際のパケット長より大きくとる必要があります。 + +戻りコード : +.Bl -hang -offset left +.It PKT_ALIAS_ERROR. +パケットエイリアシングエンジン内で発生した内部エラー。 +.It PKT_ALIAS_OK. +パケットエイリアシング処理は成功しました。 +.It PKT_ALIAS_IGNORED. +パケットは無視され、エイリアスは解除されませんでした。 +これは、プロトコルが認識されないとき、 +ICMP のメッセージタイプは処理されていないか、 +あるいは新たな接続についての入力パケットが +無視されたときに発生します +(セクション 2.2 の PKT_ALIAS_DENY_INCOMING を参照してください)。 +.It PKT_ALIAS_UNRESOLVED_FRAGMENT. +ヘッダフラグメントが未送信のため +フラグメントが解消されないときにこのコードが返されてきます。 +この場合、フラグメントはヘッダフラグメントが見つかるまで +PacketAliasSaveFragment() により保存しておく必要があります。 +.It PKT_ALIAS_FOUND_HEADER_FRAGMENT. +パケットエイリアシング処理は成功し、 +ヘッダフラグメントも見つかりました。 +これは解消されていないフラグメントを、 +PacketAliasGetFragment() により探し、 +PacketAliasFragmentIn() を使って +エイリアス解除する時のシグナルとなります。 +.El +.Ss 3.2 PacketAliasOut() + +.Ft int +.Fn PacketAliasOut "char *buffer" "int maxpacketsize" + +ローカルネットワークからリモートのマシンへ発信するパケットは、 +この関数によりエイリアスされます。 +IP パケットは引数 +.Em buffer +で指定され、 +.Em maxpacketsize +はパケットが取りうる最大長を示します。 +IP 表現形式プロトコルは、アドレスと、修正され、 +またパケット長の変更にからむ一連のデータ内のポート情報を設定します。 +プロトコルのよく知られた事例としては、 +FTP と IRC DDC があります。 + +戻りコード : +.Bl -hang -offset left +.It PKT_ALIAS_ERROR. +パケットエイリアシング内で発生した内部エラー。 +.It PKT_ALIAS_OK. +パケットエイリアシング処理は成功しました。 +.It PKT_ALIAS_IGNORED. +パケットは無視され、エイリアス解除はされませんでした。 +これはプロトコルが認識されないときか、あるいは ICMP +メッセージタイプが処理されないときに発生します。 +.El + +.Sh 4. ポートとアドレスのリダイレクション +このセクションで解説している関数は、 +ローカルネットワーク上のマシンにおいて、 +外部ネットワークから新たな着信に対するアクセスをある程度可能にします。 +個々のポートは、再対応付けや +固定的なネットワークアドレスの変換を定義することができます。 +.Ss 4.1 PacketAliasRedirectPort() + +.Ft struct alias_link * +.Fo PacketAliasRedirectPort +.Fa "struct in_addr local_addr" +.Fa "u_short local_port" +.Fa "struct in_addr remote_addr" +.Fa "u_short remote_port" +.Fa "struct in_addr alias_addr" +.Fa "u_short alias_port" +.Fa "u_char proto" +.Fc + +この関数は、所定のリモートアドレスやポートから +エイリアスアドレスやポートへのトラフィックを、 +指定されたローカルアドレスやポートへのリダイレクトを定義します。 +パラメータ +.Em proto +は IPPROTO_TCP か IPPROTO_UDP のどちらかに該当し、 + で定義されます。 + +.Em local_addr +あるいは +.Em alias_addr +が 0 ならば、パケットエイリアシングアドレスは +PacketAliasSetAddress() で設定されたものを使用します。 +PacketAliasRedirectPort() 呼び出しの後で +PacketAliasAddress() 呼び出しが実行され、 +アドレスが変更されても、 +引数が 0 の場合これは無効になります。 + +.Em remote_addr +が 0 の場合、 +パケットをリモートアドレスからリダイレクトします。 +同様に、 +.Em remote_port +が 0 の場合、リモートのポート番号から発生した +パケットをリダイレクトします。 +通常、リモートポート定義は 0 ですが、 +ファイアウォールに対しては 0 でない +リモートアドレスが有効な場合があります。 +PacketAliasRedirectPort() 呼び出しにより、 +アドレスとポート定義が重複した場合、 +最新の呼び出しが優先されます。 + +この関数は次いで +PacketAliasRedirectDelete() で使用するポインタを返します。 +ヌルが返された場合、関数呼び出しは正常に終了していません。 + +あらゆるポートアドレスは、 +ネットワークアドレスのバイトオーダ表記に従っています。 +これらのパラメータは htons() を使用して、 +内部的な数値形式からネットワークバイトオーダ表記に +変換する必要があります。 +アドレスもまた同様にネットワークバイトオーダ形式であり、 +.Em struct in_addr +データ型で暗黙に定義されます。 +.Ss 4.2 PacketAliasRedirectAddr() + +.Ft struct alias_link * +.Fo PacketAliasRedirectAddr +.Fa "struct in_addr local_addr" +.Fa "struct in_addr alias_addr" +.Fc + +この関数は、 +.Em alias_addr +への全着信トラフィックを +.Em local_addr +にリダイレクトします。同様に、 +.Em local_addr +からの全発信トラフィックは +.Em alias_addr +にエイリアスされます。 + +.Em local_addr +または +.Em alias_addr +が 0 の場合、PacketAliasSetAddress() により設定された +パケットエイリアシングアドレスが使用されます。 +PacketAliasAddress() は +PacketAliasRedirectAddr() の呼び出し後に +アドレス変更のために呼び出されても無効です。 + +PacketAliasRedirectAddr() に対する一連の呼び出しが +同一のエイリアシングアドレスを使用している場合、 +このエイリアシングアドレスへの新たな全着信トラフィックは、 +最後の関数呼び出しで作られたローカルアドレスへリダイレクトされますが、 +いくつかの関数呼び出しで指定されたローカルマシンからの +新たな全トラフィックは、 +同一のアドレスにリダイレクトされます。 +.Bd -literal -offset left + PacketAliasRedirectAddr(inet_aton("192.168.0.2"), + inet_aton("141.221.254.101")); + PacketAliasRedirectAddr(inet_aton("192.168.0.3"), + inet_aton("141.221.254.101")); + PacketAliasRedirectAddr(inet_aton("192.168.0.4"), + inet_aton("141.221.254.101")); +.Ed + +192.168.0.2, 192.168.0.3 および 192.168.0.4 から、 +telnet や ftp などでの発信接続は +141.221.254.101 からでてきたかのようにみえます。 +141.221.254.101 への着信接続は +192.168.0.4 にリダイレクトされます。 + +PacketAliasRedirectPort() に対する呼び出しより +PacketAliasRedirectAddr() で指定されたアドレス対応が必ず優先されます。 + +この関数は、PacketAliasRedirectDelete() が使用するポインタを返します。 +ヌルが返される場合、関数呼び出しは正常に終了していません。 +.Ss 4.3 PacketAliasRedirectDelete() + +.Ft void +.Fn PacketAliasRedirectDelete "struct alias_link *ptr" + +この関数は、PacketAliasRedirectPort() あるいは +PacketAliasRedirectAddr() が設定した +特定の静的リダイレクトルールを削除します。 +パラメータ +.Em ptr +は、いずれかのリダイレクション関数から返されてくるポインタです。 +正しくないポインタが PacketAliasRedirectDelete() に渡されると、 +プログラムはクラッシュするか、予期せぬ動作結果となります。 +そのためにこの関数の使用に際しては注意が必要です。 + +.Sh 5. フラグメント操作 +このセクションの関数は着信フラグメント操作で使用されます。 + +発信フラグメントは、PacketAliasRedirectAddress() で設定した +適用可能な対応付によるアドレス変更により、 +または PacketAliasSetAddress() で設定した +エイリアシングアドレスの省略時値により、 +PacketAlaisOut() 内で処理されます。 + +着信フラグメントは 2 通りの方法で処理されます。 +フラグメント化された +IP パケットのヘッダが既に分かっている場合は、 +一連のフラグメントはヘッダフラッグメントと +同じ方式で再対応付けされます。 +フラグメントはヘッダが到着する前に保存され、 +ヘッダフラグメントが消滅した段階で取り出されます。 +.Ss 5.1 PacketAliasSaveFragment() + +.Ft int +.Fn PacketAliasSaveFragment "char *ptr" + +PacketAliasIn() から +PKT_ALIAS_UNRESOLVED_FRAGMENT が返されてくると、この関数が、 +残っているフラグメントのポインタを保存するために使用できます。 + +引数 +.Em ptr +は malloc() で割り当てられたメモリブロックを +指すことが暗黙のうちに仮定されています。 +フラグメントが解決されない場合、 +パケットエイリアシングエンジンは +タイムアウト時間経過後、自動的にメモリを解放します +[実質的には、この関数は、 +メモリ解放のコールバック関数が +引数として渡されるように修正しておく必要があります]。 + +この関数は、正常実行の場合 PKT_ALIAS_OK を返し、 +エラーの場合 PKT_ALIAS_ERROR を返します。 +.Ss 5.2 PacketAliasGetNextFragment() + +.Ft char * +.Fn PacketAliasGetFragment "char *buffer" + +この関数は、PacketAliasSaveFragment() で保管された +フラグメントポインタの再取り出しができます。 +.Em buffer +で示す IP ヘッダフラグメントは、PacketAliasIn() が +PKT_ALIAS_FOUND_HEADER_FRAGMENT を返したときに指定される +ヘッダフラグメントです。 +フラグメントのポインタが再取り出しされると、 +呼び出しプログラムによりフラグメントに +動的に割り当てられていたメモリが解放されます。 + +フラグメントがなくなるで +PacketAliasGetFragment() を続けて呼ぶことができます。 +処理するフラグメントがなくなるとヌルが返されてきます。 +.Ss 5.3 PacketAliasFragmentIn() + +.Ft void +.Fn PacketAliasFragmentIn "char *header" "char *fragment" + +PacketAliasGetFragment() によりフラグメントの再取得を行なうとき、 +PacketAliasFragmentIn() 呼び出しを実行して +フラグメントのエイリアスを解除できます。 +引数 +.Em header +は、テンプレートとして使われているヘッダフラグメントのポインタです。 +引数 +.Em fragment +はエイリアス解除するパケットのポインタです。 + +.Sh 6. その他の関数 + +.Ss 6.1 PacketAliasSetTarget() + +.Ft void +.Fn PacketAliasSetTarget "struct in_addr addr" + +既存のエイリアスリンクと関連のない +外からの着信パケットがホストマシンに到着すると、 +それは PacketAliasSetTarget() 呼び出しにより +指定されるアドレスへ送られます。 + +この関数が呼ばれないか、あるいは指定アドレスが 0 の場合、 +外からのあらゆる新規着信パケットは +PacketAliasSetAddress で設定されるアドレスへ行きます。 +.Ss 6.2 PacketAliasCheckNewLink() + +.Ft int +.Fn PacketAliasCheckNewLink "void" + +新規のエイリアシングリンクが生成されると、 +この関数は 0 以外の値を返します。 +外からの着信トラフィックが順次異なるサーバへ送られるという状況下で、 +この関数を PacketAliasSetTarget() 呼び出しを +デフォルトの目的アドレスを変更のため実行するときのトリガにできます。 +.Ss 6.3 PacketAliasInternetChecksum() + +.Ft u_short +.Fn PacketAliasInternetChecksum "u_short *buffer" "int nbytes" + +これはよそでは使うことがありませんが、 +便利なユーティリティ関数です。 +インターネットチェックサムを計算します。 +チェックサムは、IP およびプロトコル +(TCP, UDP, ICMP) 固有のヘッダのどちらでも使われています。 + +引数 +.Em buffer +はチェックサムを取るデータブロックを指しています。また +.Em nbytes +はバイト数を与えます。 +16 ビットのチェックサムフィールドは +チェックサム計算の前に 0 クリアされます。 + +チェックサムはチェックサム自身を含めた +データブロックの操作により検証することができます。 +チェックサムが正しければ、 +PacketAliasInternetChecksum() は 0 を返します。 + +.Sh 7. 作者 +Charles Mott (cmott@srv.net), versions 1.0 - 1.8, 2.0 - 2.4. + +Eivind Eklund (eivind@freebsd.org), versions 1.8b, 1.9 および 2.5. +アーキテクチャにおける数々の改善による貢献のほかに、 +IRC DCC に関するサポートを行ないました。 +ならびに FTP/IRC DCC のファイアウォールのバイパスです。 + +.Sh 8. 謝辞 + +以下、概略時代順に示すのは、 +有益なコメントやデバッグの手助けを提供してくれた人々の名前です。 + +.Bl -inset -compact -offset left +.It Gary Roberts +.It Tom Torrance +.It Reto Burkhalter +.It Martin Renters +.It Brian Somers +.It Paul Traina +.It Ari Suutari +.It Dave Remien +.It J. Fortes +.It Andrzej Bialeki +.It Gordon Burditt +.El + +.Sh 付録: 概念的な背景 +この付録は、ソースコードの修正を検討している人や、 +パケットエイリアシング関数を使用して +やや難解なアプリケーションを作成する人を対象としています。 + +ここにはパケットエイリアシングエンジンの +概念的なフレームワークが記述されています。 +議論の中心は、ローカルマシンとエイリアスされた識別子 +およびリモートマシン間の指定された +パケットトランザクションの関係を定義している +"エイリアシング リンク" に考え方についてです。 +こうしたリンクがどのように発生して +また消滅するかについて検討されています。 +.Ss A.1 エイリアシングリンク +"エイリアシング リンク" は、 +7 つの要素で記述できるという考え方があります: +.Bd -literal -offset indent +(ローカルアドレス、 ローカルポート番号、 +エイリアスアドレス、エイリアスポート番号、 +リモートアドレス、リモートポート、プロトコル) +.Ed + +外へ発信するパケットは、 +ローカルアドレスとローカルポート番号が、 +エイリアスアドレスとエイリアスポート番号で置き換えられます。 +外から着信するパケットは、逆のプロセスで処理されます。 +パケットエイリアシングエンジンは、 +エイリアシングリンクの内部テーブルに対してパケットを対応させ、 +指定 IP パケットの修飾方法を決定しようとします。 +IP ヘッダおよびプロトコルに依存するヘッダのどちらも +必要に応じて修正されます。 +エイリアシングリンクは、ネットワークのトラフィックにより、 +必要に応じて生成、消滅が行なわれます。 + +プロトコルは、ある状況では TCP か UDP であり、 +または ICMP であってかまいません +(ICMP のある種のパケットタイプには、 +個々のパケットの処理方式を決めるポート番号と同様な働きをする、 +一連の id 番号にエイリアスすることができるものがあります)。 + +それぞれのエイリアスリンクは +次の 5 つの数値の組合せを持っていなければなりません。 +すなわち、エイリアスアドレス / ポート、 +リモートアドレス / ポート、およびプロトコルです。 +このことによりローカルネットワーク上のいくつかのマシンは +同じエイリアス IP アドレスを共有することが可能となります。 +競合が起こるケースでは、エイリアシングポートが、 +一意性が保てるよう選択されます。 +.Ss A.2 静的および動的リンク +エイリアシングリンクには静的および動的なものがあります。 +静的リンクは無期限に存続し、IP パケットの変換に関しては +固定された規則を保持しています。 +動的リンクは個別の TCP 接続や UDP トランザクションの +エコーシーケンスに対して生成されます。 +TCP の場合は、関連するエイリアシングリンクを +何時削除するべきかを知るために、接続を監視できます。 +UDP トランザクション (および ICMP エコーとタイムスタンプ要求) は +単純なタイムアウト規則で動いています。 +一定の時間、動的リンクを張るアクティビティが無いときは、 +自動的に削除されます。 +タイムアウト規則は適切なオープン / クローズを行なわない +TCP 接続にも適用されます。 +.Ss A.3 エイリアシングリンクの部分定義 +エイリアシングリンクは部分的な定義が可能です。 +これはリモートアドレスおよび (または) +リモートポートが不明である場合に行ないます。 +この場合、不完全な定義のパケットが見つかると、 +完全仕様の動的リンクが生成されます。 +元々の部分定義のリンクが動的なものである場合、 +完全仕様のリンクが生成された後それは削除され、 +そうでない場合無期限に残ることになります。 + +たとえば、部分定義リンクは次の通りです。 +.Bd -literal -offset indent +(192.168.0.4, 23, 204.228.203.215, 8066, 0, 0, tcp) +.Ed + +0 の値はリモートアドレスおよびポートの未定義部分を表しています。 +リンクが静的なものであれば、 +外から着信してくる全トラフィックを +アドレス 204.228.203.215 のポート 8066 から、 +ローカルネットワーク上の 192.168.0.4 のアドレスを持つマシンの +ポート 23 (telnet) へリダイレクトすることになります。 +.Ss A.4 動的リンクの生成 +エイリアシングリンクに加え、 +パケットエイリアシング機構を持つ +内部データテーブルに格納できるアドレス対応表があります。 +.Bd -literal -offset indent +(ローカルアドレス、エイリアスアドレス) +.Ed + +アドレス対応表は動的リンク生成時に必要とされます。 + +ローカルネットワークから外へ発信するあらゆるパケットは、 +既存の完全定義されたリンクと一致していなければ、 +動的リンクを自動的に生成します。 +これは発信するパケットに関し、 +アドレス対応があれば使用されるエイリアスアドレスを決定します。 +対応が無ければ、 +デフォルトアドレスが通常エイリアシングホストのアドレスですが、 +使用されます。 +必要であれば、デフォルトアドレスは +個々のパケットが到着するたびに変更できます。 + +エイリアシングポート番号は、 +新たな動的リンクが既存のリンクと競合しないよう決められます。 +デフォルト操作モードでは、パケットエイリアシングエンジンは +ローカルポート番号と同じ番号を +エイリアシングポートとして設定しようとします。 +その結果競合すれば、ポート番号は一意なエイリアシングリンクとなるまで +無作為に選択が行なわれます。 +予備の操作モードでは、 +エイリアシングポートの最初の選択は無作為に、 +またローカルポート番号と無関係に行なわれます。 diff --git a/ja_JP.eucJP/man/man3/libdisk.3 b/ja_JP.eucJP/man/man3/libdisk.3 new file mode 100644 index 0000000000..7fec243459 --- /dev/null +++ b/ja_JP.eucJP/man/man3/libdisk.3 @@ -0,0 +1,356 @@ +.\" +.\" Copyright (c) 1996 Joerg Wunsch +.\" +.\" All rights reserved. +.\" +.\" This program is free software. +.\" +.\" 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 DEVELOPERS ``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 DEVELOPERS 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: libdisk.3,v 1.1.1.1 1999-12-09 16:26:01 kuriyama Exp $ +.\" " +.Dd March 15, 1996 +.Dt LIBDISK 3 +.Os +.Sh 名称 +.Nm Open_Disk , +.Nm Clone_Disk , +.Nm Free_Disk , +.Nm Debug_Disk , +.Nm Set_Bios_Geom , +.Nm Delete_Chunk , +.Nm Collapse_Disk , +.Nm Collapse_Chunk , +.Nm Create_Chunk , +.Nm All_FreeBSD , +.Nm CheckRules , +.Nm Disk_Names , +.Nm Set_Boot_Mgr , +.Nm Set_Boot_Blocks , +.Nm Write_Disk , +.Nm Cyl_Aligned , +.Nm Next_Cyl_Aligned , +.Nm Prev_Cyl_Aligned , +.Nm Track_Aligned , +.Nm Next_Track_Aligned , +.Nm Prev_Track_Aligned , +.Nm Create_Chunk_DWIM , +.Nm MakeDev , +.Nm MakeDevDisk , +.Nm ShowChunkFlags , +.Nm ChunkCanBeRoot , +.Nm chunk_n , +.Nm slice_type_name +.Nd スライスおよびパーティションラベルに対するインタフェースライブラリ +.Sh 書式 +.Fd #include +.Fd #include +.\" What is the correct way to cause a single line break ??? +.Bd -literal +.Dv extern const char *chunk_n[]; +.Ed +.Ft const char * +.Fn slice_type_name "int type" "int subtype" +.Ft struct disk * +.Fn Open_Disk "const char *devname" +.Ft struct disk * +.Fn Clone_Disk "struct disk *disk" +.Ft void +.Fn Free_Disk "struct disk *disk" +.Ft void +.Fn Debug_Disk "struct disk *disk" +.Ft void +.Fn Set_Bios_Geom "struct disk *disk" "u_long cyl" "u_long heads" "u_long sects" +.Ft int +.Fn Delete_Chunk "struct disk *disk" "struct chunk *" +.Ft void +.Fn Collapse_Disk "struct disk *disk" +.Ft int +.Fn Collapse_Chunk "struct disk *disk" "struct chunk *chunk" +.Ft int +.Fn Create_Chunk "struct disk *disk" "u_long offset" "u_long size" "chunk_e type" "int subtype" "u_long flags" +.Ft void +.Fn All_FreeBSD "struct disk *d" "int force_all" +.Ft char * +.Fn CheckRules "struct disk *" +.Ft char ** +.Fn Disk_Names "void" +.Ft void +.Fn Set_Boot_Mgr "struct disk *d" "const u_char *bootmgr" +.Ft void +.Fn Set_Boot_Blocks "struct disk *d" "const u_char *boot1" "const u_char *boot2" +.Ft int +.Fn Write_Disk "struct disk *d" +.Ft int +.Fn Cyl_Aligned "struct disk *d" "u_long offset" +.Ft u_long +.Fn Next_Cyl_Aligned "struct disk *d" "u_long offset" +.Ft u_long +.Fn Prev_Cyl_Aligned "struct disk *d" "u_long offset" +.Ft int +.Fn Track_Aligned "struct disk *d" "u_long offset" +.Ft u_long +.Fn Next_Track_Aligned "struct disk *d" "u_long offset" +.Ft u_long +.Fn Prev_Track_Aligned "struct disk *d" "u_long offset" +.Ft struct chunk * +.Fn Create_Chunk_DWIM "struct disk *d" "struct chunk *parent" "u_long size" "chunk_e type" "int subtype" "u_long flags" +.Ft int +.Fn MakeDev "struct chunk *c" "const char *path" +.Ft int +.Fn MakeDevDisk "struct disk *d" "const char *path" +.Ft char * +.Fn ShowChunkFlags "struct chunk *c" +.Ft char * +.Fn ChunkCanBeRoot "struct chunk *c" +.Sh 解説 +.Nm libdisk +は、低レベルのディスクスライス +およびパーティションラベルに対するインタフェースを提供します。 +ほとんどの関数は、 +.Ql struct disk +または +.Ql struct chunk +という型の引数を取り動作します。 +.Pp +どちらの型もプログラマにはわかりにくいので、完全を期すために +以下に内部構造を示します。 +.Bd -literal -offset indent +struct disk { + char *name; + u_long flags; + u_long bios_cyl; + u_long bios_hd; + u_long bios_sect; + u_char *bootmgr; + u_char *boot1; + u_char *boot2; + struct chunk *chunks; +}; +.Ed +関数によるフラグ値は +.Ql DISK_ON_TRACK +だけで、ディスクが On-Track ディスクマネージャによって +操作されていることを意味します。 +.Pp +.Bd -literal -offset indent +struct chunk { + struct chunk *next; + struct chunk *part; + struct disk *disk; + long offset; + u_long size; + u_long end; + char *name; + char *oname; + chunk_e type; + int subtype; + u_long flags; + void (*private_free)(void*); + void *(*private_clone)(void*); + void *private_data; +}; +.Ed +.Ql type +フィールドは +.Ql whole, unknown, fat, freebsd, extended, part, unused +のうち、どれか一つの値を取ります。 +.Pp +以下は +.Ql struct chunk +において +.Ql flags +が取ることのできる値です。 +.Bl -tag -offset indent -width CHUNK_BSD_COMPATXX +.It CHUNK_PAST_1024 +シリンダ 1024 を越えているため、この領域からはブートできません。 +.It CHUNK_BSD_COMPAT +この領域は、BSD 互換であり、 +.Ql wd0s4f -> wd0f +のような短縮形も使用できます。 +.It CHUNK_BAD144 +この領域には bad144 マッピングがあります。 +.It CHUNK_ALIGN +この領域は整合(align)していなければなりません。 +.It CHUNK_IS_ROOT +この +.Ql part +は +rootfs +であり、パーティションを +.Ql a +に +割り振ります。 +.It CHUNK_ACTIVE +MBR 内のアクティブスライスです。 +.It CHUNK_FORCE_ALL +すべての BIOS によるジオメトリ解釈を無視し、与えられたディスク全体を +強制的に FreeBSD 用とします。 +.El +.Pp +フィールド +.Ql private_data, `private_free', private_clone +は、 +アプリケーション固有のデータ、およびその管理のためのものです。この +機能がなければ、記憶域の管理はできず、クローニングによりポインタが +複製されても解放できなくなります。 +.Pp +.Fn Open_Disk +は、名前付ディスクを open し、一群 (populated) のツリーを +返します。 +.Pp +.Fn Clone_Disk +は、ツリーの複製を作成します。 +.Dq Undo +機能に便利です。 +.Pp +.Fn Free_Disk +は、 +.Fn Open_Disk +または +.Fn Clone_Disk +で作成されたツリーを解放します。 +.Pp +.Fn Debug_Disk +は、標準出力 (stdout) +のツリーの内容を出力します。 +.Pp +.Fn Set_Bios_Geom +は、 +BIOS が使うジオメトリを設定します。 +.Pp +.Fn Delete_Chunk +は、disk_space の領域を解放します。 +.Pp +.Fn Collapse_Disk +および +.Fn Collapse_Chunk +は、まだ試験的なものなので使ってはいけません。 +.Pp +.Fn Create_Chunk +は、指定されたパラメータを持つ領域を生成します。 +.Pp +.Fn All_FreeBSD +は、ディスク全体を一つの FreeBSD の領域を作成します。 +.Ql force_all +が設定されていると、BIOS によるジオメトリ解釈をすべて無視します。 +.Pp +.Fn CheckRules +は、このディスクレイアウトの矛盾した区画規則についての警告を +文字列 +.Ql char* +として返します。 +.Pp +.Fn Disk_Names +は、 +すべてのディスク名 (wd0, wd1 ...) を格納した文字列群 +.Ql char** +を返します。 +配列と同様、各ポインタを手動で解放しなければなりません。 +.Pp +.Fn Set_Boot_Mgr +は、このブートマネージャをディスク上で使うように設定します。 +.Fn Write_Disk +が呼び出されるときに書き込まれたものを取得します。 +.Pp +.Fn Set_Boot_Blocks +は、ディスク上で使われるブートブロックを設定します。 +.Fn Write_Disk +が呼び出されるときに書き込まれたものを取得します。 +.Pp +.Fn Write_Disk +は、MBR 、ディスクラベル、ブートブロック、ブートマネージャ +すべてを書き込みます。 +.Pp +.Fn Cyl_Aligned +は、BIOS ジオメトリに従って +.Ql offset +がシリンダ上に整合しているかどうかを調べます。 +.Pp +.Fn Next_Cyl_Aligned +は、BIOS ジオメトリに従って +.Ql offset +を次のシリンダに切り上げて配置します。 +.Pp +.Fn Prev_Cyl_Aligned +は、BIOS ジオメトリに従って +.Ql offset +を前のシリンダに切り下げて配置します。 +.Pp +.Fn Track_Aligned +は、BIOS ジオメトリに従って +.Ql offset +がトラック上に配置されているかどうかを調べます。 +.Pp +.Fn Next_Track_Aligned +は、BIOS ジオメトリに従って +.Ql offset +を次のトラックに切り上げて配置します。 +.Pp +.Fn Prev_Track_Aligned +は、BIOS ジオメトリに従って +.Ql offset +がトラック上に配置されているかどうかを調べます。 +.Pp +.Fn Create_Chunk_DWIM +は、指定された親領域内に指定サイズのパーティションを生成し、 +そのポインタを返します。 +最初に見つかった十分な大きさの未使用領域が使われます。 +.Pp +.Fn MakeDev +は、この領域のデバイスノードを作成します。 +.Pp +.Fn MakeDevDisk +は、ディスク上にあるすべての領域のデバイスノードを作成します。 +.Pp +.Fn ShowChunkFlags +は、フラグを表示する文字列を返します。 +.Pp +.Fn ChunkCanBeRoot +は、領域が +.Ql / +になれるならばヌルを返します。 +.Pp +領域名を示す文字列は、外部配列変数 +.Va chunk_n +を使って直接アクセスできます。 +.Pp +.Fn slice_type_name +は、指定された +.Ql type . +.Ql subtype +に関連づけられた名前文字列を返します。 +.Fn slice_type_name +がスライスに対して "unknown" を返すのは、 +未知の場合、すなわち +.Ql / +です。 +.Pp +.Sh 作者 +.Nm libdisk +は、 +.An Poul-Henning Kamp +が作成しました。 +.Pp +このマニュアルページの執筆者は +.ie t J\(:org Wunsch +.el Joerg Wunsch +です。 diff --git a/ja_JP.eucJP/man/man3/libradius.3 b/ja_JP.eucJP/man/man3/libradius.3 new file mode 100644 index 0000000000..f48640f7da --- /dev/null +++ b/ja_JP.eucJP/man/man3/libradius.3 @@ -0,0 +1,386 @@ +.\" Copyright 1998 Juniper Networks, Inc. +.\" 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/lib/libradius/libradius.3,v 1.1.1.1.2.2 1999/02/05 16:29:10 brian Exp $ +.\" +.Dd July 29, 1998 +.Dt LIBRADIUS 3 +.Os FreeBSD +.Sh 名称 +.Nm libradius +.Nd RADIUS クライアントライブラリ +.Sh 書式 +.Fd #include +.Ft int +.Fn rad_add_server "struct rad_handle *h" "const char *host" "int port" "const char *secret" "int timeout" "int max_tries" +.Ft void +.Fn rad_close "struct rad_handle *h" +.Ft int +.Fn rad_config "struct rad_handle *h" "const char *file" +.Ft int +.Fn rad_continue_send_request "struct rad_handle *h" "int selected" "int *fd" "struct timeval *tv" +.Ft int +.Fn rad_create_request "struct rad_handle *h" "int code" +.Ft struct in_addr +.Fn rad_cvt_addr "const void *data" +.Ft u_int32_t +.Fn rad_cvt_int "const void *data" +.Ft char * +.Fn rad_cvt_string "const void *data" "size_t len" +.Ft int +.Fn rad_get_attr "struct rad_handle *h" "const void **data" "size_t *len" +.Ft int +.Fn rad_init_send_request "struct rad_handle *h" "int *fd" "struct timeval *tv" +.Ft struct rad_handle * +.Fn rad_open "void" +.Ft int +.Fn rad_put_addr "struct rad_handle *h" "int type" "struct in_addr addr" +.Ft int +.Fn rad_put_attr "struct rad_handle *h" "int type" "const void *data" "size_t len" +.Ft int +.Fn rad_put_int "struct rad_handle *h" "int type" "u_int32_t value" +.Ft int +.Fn rad_put_string "struct rad_handle *h" "int type" "const char *str" +.Ft int +.Fn rad_send_request "struct rad_handle *h" +.Ft const char * +.Fn rad_strerror "struct rad_handle *h" +.Sh 解説 +.Nm libradius +ライブラリは、ユーザサービス遠隔認証ダイアル (RADIUS) の +クライアント側を実装しています。 +RADIUS は +.%O RFC 2138 +で定義されており、 +クライアントはリモート認証サーバへのネットワーク要求により認証を +受けることができます。 +.Sh 初期設定 +ライブラリを使用する場合にアプリケーションは、まず +.Fn rad_open +呼び出して、次の操作のためのコンテキストを与える +.Va struct rad_handle * +を取得します。 +.Fn rad_open +呼び出しは、仮想メモリが足りない場合を除いて、常に正常終了します。 +必要なメモリが割り当てられないとき、 +.Fn rad_open +は +.Dv ヌル +を返します。 +.Pp +RADIUS への要求を出す前に、ライブラリはコンタクト可能なサーバを +確認しなければなりません。ライブラリの設定をする最も簡単な方法は +.Fn rad_config +を呼び出すことです。 +.Fn rad_config +によって、ライブラリは +.Xr radius.conf 5 +でフォーマットが定義されているコンフィグレーションファイルを読み込みます。 +コンフィグレーションファイルのパス名は引数 +.Va file +として +.Fn rad_config +へ渡されます。この引数には +.Dv ヌル +が +指定されてもかまいません。その場合は標準コンフィグレーションファイル +/etc/radius.conf +が使われます。 +.Fn rad_config +は、正常終了時には 0 を返し、エラー終了時には -1 を返します。 +.Pp +ライブラリは +.Fn rad_add_server +を呼び出すことによって、決まった手順で +設定することもできます。パラメータ +.Va host +パラメータは、サーバホストを指定し、 +完全なドメイン名 (FQDN) でも、またはドット区切りの四つの数字でテキスト形式 +で書かれた IP アドレスのどちらで指定してもかまいません。 +パラメータ +.Va port +は、サーバに接続するときの UDP ポート番号を指定します。 +.Va port +の指定が 0 のとき、ライブラリはネットワークサービスデータベースの +.Ql radius/udp +サービスを検索し、見つかったポートを使用します。 +エントリが見つからないときには、ライブラリはポート 1812 の標準 +RADIUS ポートを使用します。サーバホストに関する共有シークレット情報は、 +パラメータ +.Va secret +として渡されます。パラメータは +.Dv ヌル +で終了するどんな文字列もかまいません。 +RADIUS プロトコルでは、共有 +シークレット情報の 128 バイトより後は無視されます。サーバからの受信 +タイムアウトは、パラメータ +.Va timeout +により、秒の単位で渡されます。要求をあきらめるまでの +最大繰り返し回数は、パラメータ +.Va max_tries +で渡されます。 +.Fn rad_add_server +は +正常終了のときは +0 を返し、エラーが発生したときは -1 を返します。 +.Pp +.Fn rad_add_server +は、複数回呼び出しが可能で、 +.Fn rad_config +と共に使用することができます。 +サーバは、10 個まで指定できます。複数サーバが +指定された場合、正しい応答が得られるか、またはサーバの +.Va max_tries +制限に達するまで、ラウンドロビン方式で呼び出しを試みます。 +.Sh RADIUS 要求の生成 +RADIUS 要求は、要求の種類を指定するコードと、ゼロあるいは +付加情報を与える複数の属性値で構成されます。新規要求の作成は、まず +.Fn rad_create_request +呼び出しから始めます。通常の +.Va struct rad_handle * +に加えて、 +この関数は、パラメータ +.Va code +を取り、それにより要求タイプを指定します。大抵 +.Dv RAD_ACCESS_REQUEST +が指定されます。 +.Fn rad_create_request +は正常終了のときは 0 を返し、エラーが発生したときは -1 を返します。 +.Pp +.Fn rad_create_request +により要求が生成された後、属性を付加することができます。これは、 +.Fn rad_put_addr , +.Fn rad_put_int , +.Fn rad_put_string +呼び出しにより行われます。これらは、属性を決めるパラメータ +.Va type +や、インターネットアドレス値、整数値、 +.Dv ナル文字 +で終了する文字列を、それぞれに受け取ります。 +.Pp +ライブラリには、関数 +.Fn rad_put_attr +も備わっているので、未加工で解釈できない属性も +与えることができます。引数 +.Va data +は、バイト配列の先頭のポインタで、 +引数 +.Va len +は、その長さを指定します。 +.Pp +関数 +.Fn rad_put_X +は、正常終了時には 0 返し、エラー発生時には -1 を返します。 +.Sh 要求の送信と応答の受信 +RADIUS 要求は生成された後、 +.Fn rad_send_request +または +.Fn rad_init_send_request +と +.Fn rad_continue_send_request +呼び出しの組み +合わせにより、送信されます。 +.Pp +関数 +.Fn rad_send_request +は、要求を送信し、必要ならば定義されたサーバに対して +ラウンドロビン方式で接続を試み、正しい応答がを待ちます。 +正しい応答があった場合、 +.Fn rad_send_request +は応答のタイプを指定する RADIUS コードを返します。 +戻り値は、一般に +.Dv RAD_ACCESS_ACCEPT , +.Dv RAD_ACCESS_REJECT , +.Dv RAD_ACCESS_CHALLENGE +です。正しくない応答を受信したとき、 +.Fn rad_send_request +は -1 を返します。 +.Pp +応答待ちをブロックしたくない場合は、代わりに +.Fn rad_init_send_request +および +.Fn rad_continue_send_request +を使えます。 +RADIUS サーバからの返答を受信するか、 +またはタイムアウトになった場合、これらの関数は +.Fn rad_send_request +の項で挙げた値を返します。それ以外では、ゼロが返され、 +.Ar fd +および +.Ar tv +での指す値が +.Xr select 2 +に渡されるディスクリプタとタイムアウトに設定されます。 +.Pp +.Fn rad_init_send_request +は最初に呼び出す必要があり、続いて、戻り値が 0 でなくなるまで +.Fn rad_continue_send_request +呼び出しを繰り返します。 +それぞれの呼び出しの間に、アプリケーションは、 +.Xr select 2 +を呼び出す必要があり、その際 +.Ar *fd +を読み出しディスクリプタとして渡し、 +.Ar tv +で定義される時間経過の後、タイムアウトします。 +select から制御が戻ったとき、 +.Xr select 2 +でディスクリプタが読み出し可能である場合は、引数 +.Ar selected +に 0 でない値を設定して +.Fn rad_continue_send_request +を呼び出す必要があります。 +.Pp +RADIUS への要求と同じように、各応答は 0 または、 +それ以上の属性を持っています。応答が +.Fn rad_send_request +または +.Fn rad_continue_send_request +により正常に受信された後、属性は +.Fn rad_get_attr +によって、1 つずつ取り出すことができます。 +.Fn rad_get_attr +呼び出しが呼ばれるたびに、現在の応答から次の属性を +取得し、参照パラメータ +.Va data +および +.Va len +を介して、データへのポインタとデータ長をそれぞれ保管します。 +データは応答それ自身の中に存在し、 +変更してはいけないということに注意して下さい。 +.Fn rad_get_attr +呼び出しは、正常終了すると RADIUS 属性タイプを返します。 +現在の応答内に属性が無くなると + +.Fn rad_get_attr +は 0 を返します。不正な属性のようなエラーが検出されると、 +-1 を返します。 +.Pp +属性の共通タイプは、 +.Fn rad_cvt_addr , +.Fn rad_cvt_int , +.Fn rad_cvt_string +によりデコードすることができます。これらの関数は、 +.Fn rad_get_attr +により取得される属性データへのポインタを受け取ります。 +.Fn rad_cvt_string +の +場合は、 +.Va len +で長さも指定する必要があります。これらの関数は、属性を +インターネットアドレスや整数値、文字列などとして解釈し、得られた値を +戻り値として返します。 +.Fn rad_cvt_string +はメモリを動的に割り当て、 +.Dv ヌル +で終了した文字列を返します。アプリケーションは、不要な文字列を +.Xr free 3 +を使って解放しなければなりません。 +.Pp +十分な仮想メモリがない場合、 +.Fn rad_cvt_string +は +.Dv ヌル +を返します。 +.Fn rad_cvt_addr +および +.Fn rad_cvt_int +がエラー終了することはありません。 +.Sh エラーメッセージ取得 +引数 +.Va struct rad_handle * +を受け取る関数は、異常終了の場合にエラーメッセージを記録します。 +このエラーメッセージは +.Fn rad_strerror +呼び出しで取り出すことができます。メッセージテキストは、得られた +.Va struct rad_handle * +により、新しいエラーで上書きされます。 +そのため、メッセージを保存しておくべきなら、 +同一のハンドルを使って引き続きライブラリ呼び出しを行うことで、 +複写しておかなければなりません。 +.Sh クリーンアップ +RADIUS ライブラリで使用したリソースは、 +.Fn rad_close +を呼び出しで解放できます。 +.Sh 戻り値 +以下の関数は、処理が正常に終了時、負でない値を返します。エラーを +検出したときは、 +-1 を返し、 +.Fn rad_strerror +を使用して取出した +エラーメッセージを記録します。 +.Pp +.Bl -item -offset indent -compact +.It +.Fn rad_add_server +.It +.Fn rad_config +.It +.Fn rad_create_request +.It +.Fn rad_get_attr +.It +.Fn rad_put_addr +.It +.Fn rad_put_attr +.It +.Fn rad_put_int +.It +.Fn rad_put_string +.It +.Fn rad_init_send_request +.It +.Fn rad_continue_send_request +.It +.Fn rad_send_request +.El +.Pp +以下の関数は、処理が正常に終了した時、 +.Dv ヌル +でないポインタを返します。 +十分な仮想メモリの割り当てができないとき、 +.Dv ヌル +を返しますが、 +エラーメッセージは記録されません。 +.Pp +.Bl -item -offset indent -compact +.It +.Fn rad_cvt_string +.It +.Fn rad_open +.El +.Pp +.Sh 関連ファイル +.Pa /etc/radius.conf +.Sh 関連項目 +.Xr radius.conf 5 +.Rs +.%A C. Rigney, et al +.%T Remote Authentication Dial In User Service (RADIUS) +.%O RFC 2138 +.Re +.Sh 作者 +このソフトウェアの作成者は +.An John Polstra +であり、Juniper Networks, Inc により FreeBSD プロジェクトに寄贈されました。 diff --git a/ja_JP.eucJP/man/man3/libstand.3 b/ja_JP.eucJP/man/man3/libstand.3 new file mode 100644 index 0000000000..39df85f5fb --- /dev/null +++ b/ja_JP.eucJP/man/man3/libstand.3 @@ -0,0 +1,499 @@ +.\" Copyright (c) Michael Smith +.\" 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 Ohttp://wafu.netgate.net/tama/unix/indexe.htmlTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" $Id: libstand.3,v 1.1.1.1 1999-12-09 16:26:01 kuriyama Exp $ +.\" +.Dd June 22, 1998 +.Dt LIBSTAND 3 +.Os FreeBSD 3.0 +.Sh 名称 +.Nm libstand +.Nd スタンドアローン実行用サポートライブラリ +.Sh 書式 +.Fd #include +.Sh 解説 +.Nm libstand +は、スタンドアローンアプリケーションのサポート関数群と、 +標準 BSD プログラミングが可能な模擬環境を備えています。 +後のセクションでこれらの関数を種類分けしています。 +ここに明確な定義がない場合は、指定の関数のセクション 3 の +マニュアルページの該当個所を参照して下さい。 +.Sh 文字列関数 +使用できる文字列関数は、 +.Xr string 3 +および +.Xr bstring 3 +に書かれています。 +.Sh メモリアロケーション +.Bl -hang -width 10n +.It Fn "void *malloc" "size_t size" +.Pp +.Fa size +で指定した大きさのメモリを最適なアルゴリズムでヒープ領域から割り +当てます。 +.It Fn "void free" "void *ptr" +.Pp +.Fa ptr +に割り当てられたオブジェクトを解放します。 +.It Fn "void setheap" "void *start" "void *limit" +.Pp +ヒープ領域を初期化します。この関数は、 +.Fn alloc +を最初に呼び出す前に実行しなければなりません。 +.Fa start +と +.Fa limit +の間の領域がヒープ領域に使用されます。 +これを越えて割り当てようとすると panic となります。 +.It Fn "char *sbrk" "int junk" +.Pp +.Fn sbrk 0 +の性質を与えます。すなわちヒープ領域の最高位アドレスのポインタを +返します。この戻り値は、テスト時にヒープの実使用状況を判断するのに +使用できます。引数 +.Fa junk +は無視されます。 +.El +.Sh 環境 +伝統的なシェルサポート環境にと同様、フラットな変数空間操作のために +一群の関数が備わっています。主な拡張として、フック関数の設定/設定解除の +ためのサポートがあります。 +.Bl -hang -width 10n +.It Fn "char *getenv" "const char *name" +.It Fn "int setenv" "const char *name" "char *value" "int overwrite" +.It Fn "int putenv" "const char *string" +.It Fn "int unsetenv" "const char *name" +.Pp +これらの関数は、標準ライブラリと類似の動作をします。 +.It Fn "struct env_var *env_getenv" "const char *name" +.Pp +その環境内での変数を検索し、すべてのデータ構造を返します。 +.It Fn "int env_setenv" "const char *name" "int flags" "char *value" "ev_sethook_t sethook" "ev_unsethook_t unsethook" +.Pp +.Fa name +という環境変数の新規作成または既存環境変数の設定を行います。 +新規変数を生成する場合は、引数 +.Fa sethook +および +.Fa unsethook +を指定することができます。 +.Pp +EV_NOHOOK フラグが設定されていなければ、変数設定をしようとするとすると、 +フックの設定が必ず起動されます。通常、引数 +.Fa value +の確認を行ない、実際に値を保存するために EV_NOHOOK 変数をつけて、再度 +.Fn env_setenv +呼び出しを行い設定します。すべての変数設定を拒否するために、定義済み関数 +.Fn env_noset +を指定することができます。 +.Pp +設定解除フックは、変数の設定解除が行われるときに起動されます。 +戻り値が 0 のとき、変数の設定解除されています。定義済み関数 +.Fa env_nounset +は、変数設定解除を抑制するのに使用します。 +.El +.Sh 標準ライブラリサポート +.Bl -hang -width 10n +.It Fn "int getopt" "int argc" "char * const *argv" "cont char *optstring" +.It Fn "long strtol" "const char *nptr" "char **endptr" "int base" +.It Fn "void srandom" "unsigned long seed" +.It Fn "unsigned long random" "void" +.It Fn "char *strerror" "int error" +.Pp +.Nm libstand +でサポートされている errno のサブセット値に対応する +エラーメッセージを返します。 +.It Fn "assert" "expression" +.Pp +.Fd #include +行が必要です。 +.It Fn "int setjmp" "jmp_buf env" +.It Fn "void longjmp" "jmp_buf env" "int val" +.Pp +操作できるシグナル状態がないため、それぞれ +.Fn _setjmp +および +.Fn _lonjmp +として定義されています。 +.Fd #include +行が必要です。 +.El +.Sh キャラクタ I/O +.Bl -hang -width 10n +.It Fn "void gets" "char *buf" +.Pp +キャラクタをコンソールから +.Fa buf +に読み込みます。標準的な注意事項が本関数に +対して適用されます。 +.It Fn "void ngets" "char *buf" "size_t size" +.Pp +.Fa size +-1 またはそれ以下の文字をコンソールから +.Fa buf +に読み込みます。行末文字は削除され、 +バッファは常にヌルが終端文字になります。 +.Fa size +が 1 以下の場合、関数は +.Fn gets +と同じ動作をします。 +.It Fn "int fgetstr" "char *buf" "int size" "int fd" +.Pp +一行を +.Fa size +文字以下の範囲で +.Fa buf +に読み込みます。行末のキャラクタは切り捨てられ、 +バッファは常にヌルが終端となります。 +正常終了のときは +.Fa buf +内の文字数を返し、読み込みエラーのときは -1 を返します。 +.It Fn "int printf" "const char *fmt" "..." +.It Fn "void vprintf" "const char *fmt" "va_list ap" +.It Fn "int sprintf" "char *buf" "const char *fmt" "..." +.It Fn "void vsprintf" "char *buf" "const char *fmt" "va_list ap" +.Pp +*printf 関数は、標準 +.Fn printf +ファミリのサブセット機能といくつかの拡張機能を備えています。 +c,d,n,o,p,s,u,x の標準変換がサポートされています。 ++,-,#,*,0, field width,precision,l の修飾子がサポートされています。 +.Pp +エラーレジスタをデコードするために +.Li b +変換が備わっています。 +使い方は以下の通りです。 +.Pp +.Bd -offset indent +printf( +.Qq reg=%b\en , +regval, +.Qq * +); +.Ed + +.Aq Pa base +は、制御キャラクタの出力を表現しています。例えば +\e10 は 10 進数を、\e20 は 16 進数を意味します。各 +.Aq Pa arg +は、文字列で、最初の一文字は引数のビット数(始めが1)で、 +ビットが設定されている場合、それ以降の文字列(32文字未満)は表示対象の +テキストです。つまり、 +.Pp +.Bd -offset indent +printf( +.Qq reg=%b\en +3 +.Qq \e10\e2BITTWO\e1BITONE\en +); +.Ed + +により出力表示されます。 +.Pp +.Bd -offset indent +reg=3 +.Ed +.Pp +.Li D +変換は、16 進数ダンプの機能を備えています。 +たとえば、以下。 +.Pp +.Bd -offset indent -literal +printf( +.Qq %6D , +ptr, +.Qq \: +); gives +.Qq XX:XX:XX:XX:XX:XX +.Ed +.Bd -offset indent -literal +printf( +.Qq %*D , +len, +ptr, +.Qq "\ " +); gives +.Qq XX XX XX ... +.Ed +.El + +.Pp +.Sh 文字テストと変換 +.Bl -hang -width 10n +.It Fn "int isupper" "int c" +.It Fn "int islower" "int c" +.It Fn "int isspace" "int c" +.It Fn "int isdigit" "int c" +.It Fn "int isxdigit" "int c" +.It Fn "int isascii" "int c" +.It Fn "int isalpha" "int c" +.It Fn "int toupper" "int c" +.It Fn "int tolower" "int c" +.El +.Sh ファイル入出力 +.Bl -hang -width 10n +.It Fn "int open" "const char *path" "int flags" +.Pp +.Xr open 2 +の動作に似ています。ただし、ファイル作成機能がサポート +されていないため、モードパラメータは不要です。引数 +.Fa flags +には、O_RDONLY, O_WRONLY, O_RDWR のどれかを指定できます。 +(たとえ、現在書込みをサポートするファイルシステムが無いとしても) +.It Fn "int close" "int fd" +.It Fn "void closeall" "void" +.Pp +すべての open されているファイルを閉じます。 +.It Fn "ssize_t read" "int fd" "void *buf" "size_t len" +.It Fn "ssize_t write" "int fd" "void *buf" "size_t len" +.Pp +(現在書き込みをサポートしていあるファイルシステムはありません) +.It Fn "off_t lseek" "int fd" "off_t offset" "int whence" +.Pp +読み込みの最中に自動的に解凍されるファイルは、現在の位置から後方に +seek することはできません。 +.It Fn "int stat" "const char *path" "struct stat *sb" +.It Fn "int fstat" "int fd" "struct stat *sb" +.Pp +関数 +.Fn stat +および +.Fn fstat +は、 +.Fa sb +構造体のフィールド : st_mode, st_nlink,st_uid,st_gid,st_size +への書き込みだけをします。 +.Nm tftp +ファイルシステムでは、この関数の呼び出しは +意味のある値になりません。また +.Nm cd9660 +ファイルシステムは、ファイルの uid/gid が常に 0 であると +報告して来ます。 +.El +.Sh ページャ +.Nm libstand +は簡単な内部ページャを提供し、大きなコマンドの出力を読みやすくします。 +.Bl -hang -width 10n +.It Fn "void pager_open" +.Pp +ページャを初期化し、次の出力行が表示装置の先頭であることを知らせます。 +環境変数 LINES は、一度に表示可能な行数を決める際に参照されます。 +.It Fn "void pager_close" "void" +.Pp +ページャを閉じます +.It Fn "void pager_output" "char *lines" +.Pp +.Fa lines +で指定された、ヌルで終了するバッファーの行がページャに送られます。 +改行文字を数えることで、出力される行数が決まります。 +(折り返しは含みません) +すべての行が出力されると、 +.Fn pager_output +は 0 を返します。画面表示が停止し、ユーザが途中終了を +選択したときは 0 以外の値を返します。 +.It Fn "int pager_file" "char *fname" +.Pp +ファイル +.Fa fname +を開き、画面表示します。エラーのときは +-1 を返し、EOF のときは 0 を、ユーザが読み込みを途中終了する場合は +1 を返します。 +.El +.Sh その他 +.Bl -hang -width 10n +.It Fn "void twiddle" "void" +.Pp +連続呼び出しの場合、ユーザが確認できるように、 +文字列 |,/,-,\\ の後にバックスペースを付けて出力します。 +.El +.Sh 低レベルサポートの要求 +スタック、ヒープ、コンソール、デバイスは、 +.Nm libstand +でよく使われるリソースです。 +.Pp +スタックは、 +.Nm libstand +関数が起動される前に構築する必要があります。 +スタック要求は、関数や使われているファイルシステム、および、後で詳述する +サポートレイヤ関数によって変化します。 +.Pp +ヒープは、 +.Fn alloc +関数や +.Fn open +関数の呼び出しの前に、 +.Fn setheap +呼び出しを行なって構築しなければなりません。ヒープの使用法は、クライアントの +動作と同様、同時に open するファイルの数によって変化します。自動解凍をす +ると、ファイルを open する度に 64K 以上のデータが割り当てられます。 +.Pp +コンソールアクセスは、後述の関数 +.Fn getchar , +.Fn putchar , +.Fn ischar +によって行われます。 +.Pp +デバイスアクセスは +.Fn devopen +によって初期化され、 +.Fn devopen +が返すデバイススイッチ構造体の関数 +.Fn dv_strategy , +.Fn dv_ioctl , +.Fn dv_close +によって実行されます。 +.Pp +ユーザは次のサポート関数を用意する必要があります。 +.Bl -hang -width 10n +.It Fn "int getchar" "void" +.Pp +コンソールから、関数 +.Fn gets , +.Fn ngets +やページャ関数によって使われる文字を返します。 +.It Fn "int ischar" "void" +.Pp +コンソールから入力待ちの状態のとき、0 でない値を返します。 +.It Fn "void putchar" "int" +.Pp +コンソールに、 +.Fn gets , +.Fn ngets , +.Fn *printf , +.Fn panic , +.Fn twiddle +および +他の多くのデバッグ、情報通知用の関数が使用する文字を書き出します。 +.It Fn "int devopen" "struct open_file *of" "const char *name" "char **file" +.Pp +.Fa name +という名前のファイル用の適当なデバイスを開き、デバイスを参照しない +ファイルの残りの部分の +.Fa name +を指すポインタを、 +.Fa file +に返します。 +.Fa of +の構造体フィールド +.Va f_dev +は、正常終了した場合、open したデバイスの +.Dv devsw +構造体を指すようにセットされます。 +デバイス識別子は、常にパス構成の先頭に来る +必要がありますが、それ以外は自由にフォーマットされています。 +.Fn open +や +デバイス関連の I/O で使用されます。 +.It Fn "int devclose" "struct open_file *of" +.Fa of +に割り当てられたデバイスを閉じます。 +デバイスドライバー自身はクローズ処理のためにすでに呼び出しが行われており、 +この呼び出しは、 +.Fn devopen +による割り当てを解除するだけです。 +.It Fn "void panic" "const char *msg" "..." +.Pp +致命的で回復不能なエラー状態を通知します。引数 +.Fa msg ... +は、 +.Fn printf +のものと同様です。 +.El +.Sh 内部ファイルシステム +内部ファイルシステムでは、 +.Dv struct fs_ops *file_system[], which should be initialised with pointers +の構造体の配列を、ユーザ +がエクスポートでき、配列は構造体 +.Dv struct fs_ops +へのポインタで初期化されます。 +以下のファイルシステムハンドラが +.Nm libstand +に +備わっていますが、ユーザは自分で別のファイルシステムを +提供することができます。 +.Bl -hang -width "cd9660_fsops " +.It ufs_fsops +BSD の UFS +.It tftp_fsops +TFTP 経由のファイルアクセス +.It nfs_fsops +NFS 経由のファイルアクセス +.It cd9660_fsops +ISO 9660 (CD-ROM) ファイルシステム +.It zipfs_fsops +ファイルをサポートしているファイルシステムの +gzip されたファイルをサポートするスタック +されたファイルシステムで、zipfs ファイルシステムを使おうとすると、 +.Nm libstand +はファイル名の後に +.Li .gz +を付加し、更に別のファイルシステムを使用してファイルの位置を決めます。 +このファイルシステムの、配列 +.Dv file_system[] +での配置によって、 +non-gzipped ファイルを参照している gzipped ファイルが +open されるかどうかが決められます。 +gzip されたファイルは前方へ seek することだけができ、gzip されたファイルへの +.Fn stat +および +.Fn fstat +は、長さの不正を報告します。 +.El +.Pp +構造体 +.Dv struct fs_ops +のポインタ配列はヌルで終了しなければなりません。 +.Sh デバイス +デバイスは、ヌルで終了するデバイススイッチ構造体のポインタ配列である、 +.Dv struct devsw *devsw[] +経由のサポートコードによってエクスポートされます。 +.Sh バグ +詳細なメモリ使用データがないのは不親切です。 +.Pp +.Sh 歴史 +.Nm libstand +は多くのソースを利用しています。すなわち、 +.Bl -bullet -compact +.It +.Nx +からの +.Nm libsa +.It +.Fx 3.0 +からの +.Nm libc +と +.Nm libkern +.It +.An Matthew Dillon Aq dillon@backplane.com +からの +.Nm zalloc +.El +.Pp +再構成と +.Fx 3.0 +へのポート、環境変数関係の関数、このマニュアルページは +.An Mike Smith Aq msmith@freebsd.org +が作成しました。 + diff --git a/ja_JP.eucJP/man/man3/libtacplus.3 b/ja_JP.eucJP/man/man3/libtacplus.3 new file mode 100644 index 0000000000..77edf67ad5 --- /dev/null +++ b/ja_JP.eucJP/man/man3/libtacplus.3 @@ -0,0 +1,353 @@ +.\" Copyright 1998 Juniper Networks, Inc. +.\" 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/lib/libtacplus/libtacplus.3,v 1.1.1.1 1998/11/13 00:54:26 jdp Exp $ +.\" +.Dd September 2, 1998 +.Dt LIBTACPLUS 3 +.Os FreeBSD +.Sh 名称 +.Nm libtacplus +.Nd TACACS+ クライアントライブラリ +.Sh 書式 +.Fd #include +.Ft int +.Fn tac_add_server "struct tac_handle *h" "const char *host" "int port" "const char *secret" "int timeout" "int flags" +.Ft void +.Fn tac_close "struct tac_handle *h" +.Ft int +.Fn tac_config "struct tac_handle *h" "const char *path" +.Ft int +.Fn tac_create_authen "struct tac_handle *h" "int action" "int type" "int service" +.Ft void * +.Fn tac_get_data "struct tac_handle *h" "size_t *len" +.Ft char * +.Fn tac_get_msg "struct tac_handle *h" +.Ft struct tac_handle * +.Fn tac_open "void" +.Ft int +.Fn tac_send_authen "struct tac_handle *h" +.Ft int +.Fn tac_set_data "struct tac_handle *h" "const void *data" "size_t data_len" +.Ft int +.Fn tac_set_msg "struct tac_handle *h" "const char *msg" +.Ft int +.Fn tac_set_port "struct tac_handle *h" "const char *port" +.Ft int +.Fn tac_set_priv "struct tac_handle *h" "int priv" +.Ft int +.Fn tac_set_rem_addr "struct tac_handle *h" "const char *addr" +.Ft int +.Fn tac_set_user "struct tac_handle *h" "const char *user" +.Ft const char * +.Fn tac_strerror "struct tac_handle *h" +.Sh 解説 +.Nm libtacplus +ライブラリは、TACACS+ ネットワークアクセス制御プロトコルの +クライアント側を実現しています。 +TACACS+ により、クライアントは認証や、認可、および課金処理を、 +リモートサーバに対するネットワーク上での要求を出すことで実行できます。 +このライブラリは、現在プロトコルの認証部分だけをサポートしています。 +.Pp +.Sh 初期化 +このライブラリを使用するためには、アプリケーションは最初に +.Fn tac_open +呼び出しを実行して、 +.Va struct tac_handle * +を得る必要があります。これにより次の +操作のためのコンテキストが準備されます。 +.Fn tac_open +呼び出しは、十分な仮想メモリが +利用できれば、常に正常に完了します。必要なメモリが割り当てられないとき、 +.Fn tac_open +は +.Dv ヌル +を返します。 +.Pp +TACACS+ 要求を出す前に、ライブラリはコンタクトできるサーバから +認識されている必要があります。ライブラリを環境設定する簡単な方法は +.Fn tac_config +を呼び出すことです。 +.Fn tac_config +により、ライブラリは、 +.Xr tacplus.conf 5 +でその形式が定義されている環境設定ファイルを +読むことになります。環境設定ファイルのパス名は、引数 +.Va file +として +.Fn tac_config +に渡されます。この引数には +.Dv ヌル +を渡すこともでき、その場合は標準環境設定ファイル +.Pa /etc/tacplus.conf +が使われます。 +.Fn tac_config +は +正常終了のとき、0 を返し、エラーの場合は -1 を返します。 +.Pp +ライブラリは、 +.Fn tac_add_server +を呼び出すことで、決まった手順に従って構成できます。 +パラメータ +.Va host +はサーバホストを、完全修飾形のドメイン名 (FQDN)、または +ピリオドで 4 つの部分に分割表示したテキスト形式の IP アドレスによって +定義します。パラメータ +.Va port +は、サーバと接続する TCP ポートを定義します。 +.Va port +が 0 と定義されていると、ライブラリは標準 TACACS+ ポートである +ポート 49 を使用します。サーバホストに対する共有シークレットは、 +.Va secret +パラメータに渡されます。それは +.Dv ヌル +で終了するなんらかの文字列でもかまいません。 +サーバからの受信タイムアウトは、 +.Va timeout +パラメータに、秒の単位で渡されます。 +.Va flags +パラメータは、フラグの +ビットマスクで、サーバの種々の性質を指定するためのものです。内容は +次のとおりです。 +.Pp +.Bl -tag -width Fl +.It Dv TAC_SRVR_SINGLE_CONNECT +で、ライブラリはサーバと通信するときに、単一接続モードで +ネゴシエートしようとします。単一接続モードでは元の TCP 接続が +多重 TACACS+ セッションに対し解放されています。 +旧式のサーバはこのモードはサポートしておらず、サーバによっては、 +クライアントがネゴシエートしようとすると混乱してしまうものもあります。 +.El +.Pp +.Fn tac_add_server +は正常終了時に 0 を返し、エラーのときは -1 を返します。 +.Pp +.Fn tac_add_server +は、複数回呼び出すことができ、 +.Fn tac_config +と一緒に +使用します。最大 10 のサーバまで指定できます。複数サーバの指定があると、 +ラウンドロビン方式により稼働中のアクセス可能なサーバを見つけようとします。 +ライブラリは、そうしたサーバを見つけると、 +サーバが稼動している限りそれを使い続けます。 +.Pp +.Sh TACACS+ 認証要求の生成 +新規に認証要求を作り始める場合、 +.Fn tac_create_authen +を呼び出します。 +引数 +.Va action , +.Va type , +.Va service +には、TACACS+ プロトコル仕様で +定義される適切な値をセットしなければなりません。ヘッダファイル +.Aq Pa taclib.h +には、これらの値のシンボリック定数が定義されています。 +.Pp +.Fn tac_create_authen +で要求を生成した後、種々の任意指定パラメータを、 +.Fn tac_set_data , +.Fn tac_set_port , +.Fn tac_set_priv , +.Fn tac_set_rem_addr , +.Fn tac_set_user +を呼び出して付加します。ライブラリは、これらの関数に提供された自分自身の +文字列の複製を作るので、呼び出し側で文字列を保存しておく必要はありません。 +デフォルトで各パラメータは空ですが、権限レベルだけは +.Ql USER +権限にデフォルト指定されています。 +.Sh 認証要求の送信と応答の受信 +TACACS+ 要求が生成されると、 +.Fn tac_send_authen +によって送信されます。 +この関数は、未接続のときサーバ接続を行って、要求を送信し、返信を待ちます。 +異常終了のとき、 +.Fn tac_send_authen +は -1 を返します。正常の場合は、TACACS+ 終了コードとフラグを、 +整数値にパックして返します。終了状態は +.Fn TAC_AUTHEN_STATUS +マクロを使用して抽出することができます。取り得る終了コードは、 +.Aq Pa taclib.h +で定義されており、内容は次のとおりです。 +.Pp +.Bl -item -compact -offset indent +.It +.Dv TAC_AUTHEN_STATUS_PASS +.It +.Dv TAC_AUTHEN_STATUS_FAIL +.It +.Dv TAC_AUTHEN_STATUS_GETDATA +.It +.Dv TAC_AUTHEN_STATUS_GETUSER +.It +.Dv TAC_AUTHEN_STATUS_GETPASS +.It +.Dv TAC_AUTHEN_STATUS_RESTART +.It +.Dv TAC_AUTHEN_STATUS_ERROR +.It +.Dv TAC_AUTHEN_STATUS_FOLLOW +.El +.Pp +唯一のフラグは no-echo フラグで、 +.Fn TAC_AUTHEN_NOECHO +マクロで検出できます。 +.Sh サーバの応答からの情報抽出 +サーバからの認証応答パケットには、サーバメッセージや文字列データ、 +もしくは、その両者が含まれています。 +.Fn tac_send_authen +呼び出しが成功すると、この情報は、 +.Fn tac_get_msg +と +.Fn tac_get_data +呼び出しの応答から取り出すことができます。 +これらの関数は、パケットからの情報の動的に割り当てられたコピーを +返します。それらが必要なくなったときには、呼び出し側が解放 +しなければなりません。これらの関数から戻ってくるデータは、必ず +.Dv ヌル +で終了していることが保証されています。 +.Pp +.Fn tac_get_data +の場合、引数 +.Va len +は、ライブラリが終端の +.Dv ナル +文字を含まない実サイズの受信データの保管場所を指しています。 +この引数には、呼び出し側が長さを問題にしない場合は、 +.Dv ヌル +を指定してもかまいません。 +.Sh 認証連続パケットの送信 +.Fn tac_send_authen +が、終了コード +.Dv TAC_AUTHEN_STATUS_GETDATA , +.Dv TAC_AUTHEN_STATUS_GETUSER , +.Dv TAC_AUTHEN_STATUS_GETPASS +のうちのどれかを含む値を返す場合、 +クライアントは、TACACS+ 連続パケットを使って、 +サーバに対する追加情報を提供する必要があります。そのためには、 +アプリケーションは最初に、 +.Fn tac_set_msg +と +.Fn tac_set_data +を使って、パケットユーザメッセージやデータフィールドを +設定しなければなりません。クライアントは、 +.Fn tac_send_authen +を使って連続パケットを送信します。 +.Pp +.Li [注意] +.Fn tac_create_authen +は、連続パケットを生成するときには +.Em 呼び出さずに +、初期の認証要求のときにだけ使用する必要があります。 +.Pp +連続パケットを受信すると、サーバは +.Dv TAC_AUTHEN_STATUS_GETDATA , +.Dv TAC_AUTHEN_STATUS_GETUSER , +.Dv TAC_AUTHEN_STATUS_GETPASS +を返して、更に情報を要求します。 +アプリケーションは、サーバから別の状態コードが受信されるまで、 +引き続き連続パケットを送信しなければなりません。 +.Sh エラーメッセージの取得 +引数 +.Va struct tac_handle * +を受け取る関数は、異常終了するとエラーメッセージを記録します。 +エラーメッセージは、 +.Fn tac_strerror +を呼び出すことにより取り出すことができます。 +メッセージテキストは、指定された +.Va struct tac_handle * +の新たなエラーごとに上書きされます。 +従って、メッセージを保管しておかなければならないなら、 +同じハンドルを使う後続のライブラリ呼び出しで複製を作らなければなりません。 +.Sh クリーンアップ +TACACS+ ライブラリで使用したリソースを解放するには、 +.Fn tac_close +呼び出して下さい。 +.Sh 戻り値 +以下の関数は、正常終了時に、負でない数値を返します。 +エラーを検出すると、-1 を返し、エラーメッセージを記録します。 +メッセージは +.Fn tac_strerror +によって取り出せます。 +.Pp +.Bl -item -offset indent -compact +.It +.Fn tac_add_server +.It +.Fn tac_config +.It +.Fn tac_create_authen +.It +.Fn tac_send_authen +.It +.Fn tac_set_data +.It +.Fn tac_set_msg +.It +.Fn tac_set_port +.It +.Fn tac_set_priv +.It +.Fn tac_set_rem_addr +.It +.Fn tac_set_user +.El +.Pp +以下の関数は、正常終了時にヌルでないポインタを返します。 +十分な仮想メモリが割り当てられない場合、 +.Dv ヌル +を返し、エラーメッセージを記録します。メッセージは +.Fn tac_strerror +で取り出せます。 +.Pp +.Bl -item -offset indent -compact +.It +.Fn tac_get_data +.It +.Fn tac_get_msg +.El +.Pp +以下の関数は、正常終了時にヌルでないポインタを返します。 +十分な仮想メモリが割り当てられない場合、 +.Dv ヌル +を返し、エラーメッセージを記録しません。 +.Pp +.Bl -item -offset indent -compact +.It +.Fn tac_open +.El +.Sh 関連ファイル +.Pa /etc/tacplus.conf +.Sh 関連項目 +.Xr tacplus.conf 5 +.Rs +.%A D. Carrel and Lol Grant +.%T The TACACS+ Protocol, Version 1.78 +.%O draft-grant-tacacs-02.txt (Internet Draft) +.Re +.Sh 作者 +このソフトウェアは、 +.An John Polstra +が作成し、 +Juniper Networks, Inc によって FreeBSD プロジェクトに寄贈されました。 diff --git a/ja_JP.eucJP/man/man3/link_addr.3 b/ja_JP.eucJP/man/man3/link_addr.3 new file mode 100644 index 0000000000..338dbfee78 --- /dev/null +++ b/ja_JP.eucJP/man/man3/link_addr.3 @@ -0,0 +1,126 @@ +.\" Copyright (c) 1993 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" This code is derived from software contributed to Berkeley by +.\" Donn Seeley at BSDI. +.\" +.\" 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. +.\" +.\" From: @(#)linkaddr.3 8.1 (Berkeley) 7/28/93 +.\" $Id: link_addr.3,v 1.1.1.1 1999-12-09 16:26:01 kuriyama Exp $ +.\" +.Dd June 17, 1996 +.Dt LINK_ADDR 3 +.Os BSD 4.4 +.Sh 名称 +.Nm link_addr , +.Nm link_ntoa +.Nd リンクレベルアクセス用基本アドレス定義ルーチン +.Sh 書式 +.Fd #include +.Fd #include +.Fd #include +.Ft void +.Fn link_addr "const char *addr" "struct sockaddr_dl *sdl" +.Ft char * +.Fn link_ntoa "const struct sockaddr_dl *sdl" +.Sh 解説 +.Fn link_addr +ルーチンは、リンクレベルアドレスを表す文字列を変換し、 +システムコールで使用するのに適したバイナリ情報を返します。 +.Fn link_ntoa +ルーチンは、リンクレベルアドレスを引数に取り、リンクレベルアドレス自身、 +インタフェース名、存在する場合はその番号などを含んだ現在の情報を示す +.Tn ASCII +文字列を返します。 +この機能は、まだ試用段階であり、変更される可能性があります。 +.Pp +.Fn link_addr +のために、文字列 +.Fa addr +には、 +.Xr ifconfig 8 +の第一引数となりうる +.Dq "name unit-number" +という形の任意指定のネットワークインタフェース識別子を含むことができ、 +その後にコロン、そしてピリオドで区切られた 16 進数の組の形の +インタフェースアドレスが続きます。 +それぞれの組はアドレスの 1 バイトを示しており、 +アドレスバイトは左から右へ、 +低位のバイトから高位のバイトで占められます。 +.Pp +.\" A regular expression may make this format clearer: +.\" .Bd -literal -offset indent +.\" ([a-z]+[0-9]+:)?[0-9a-f]+(\e.[0-9a-f]+)* +.\" .Ed +.\" .Pp +このように、 +.Li le0:8.0.9.13.d.30 +は初期の Lance イーサネットインタフェース上に +変換されるイーサネットアドレスを表します。 +.Pp +これらの関数を直接使うのは避けられる傾向があり、むしろ +.Xr addr2ascii 3 +インタフェースが使われます。しかし、このインタフェースは、まだ広くは +実装されていないので、 +可搬性のあるプログラムでこのインタフェースに依存するわけにはいきません。 +.Sh 戻り値 +.Fn link_ntoa +は、常にヌルで終了する文字列を返します。 +.Fn link_addr +関数は戻り値を返しません。( +.Sx バグ +参照のこと。) +.Sh 関連項目 +.Xr addr2ascii 3 +.Sh 歴史 +関数 +.Fn link_addr +および +.Fn link_ntoa +は +.Bx 4.3-Reno +から登場しています。 +.Sh バグ +.Fn link_ntoa +の戻り値は静的なメモリ領域にあります。 +.Pp +関数 +.Fn link_addr +は、不適切な形式の入力を診断する機能が必要であり、 +これを認証する明快な方法が必要となります。 +.Pp +リンクソケットアドレスの +.Va sdl_len +フィールドが 0 の場合、 +.Fn link_ntoa +は、インタフェースアドレスバイトの前にコロンを挿入しません。 +この変換されたアドレスが最初のコロンを挿入せずに +.Fn link_addr +に渡される場合、変換後のアドレスは正しく解釈されません。 diff --git a/ja_JP.eucJP/man/man3/lockf.3 b/ja_JP.eucJP/man/man3/lockf.3 new file mode 100644 index 0000000000..612b6a2a7a --- /dev/null +++ b/ja_JP.eucJP/man/man3/lockf.3 @@ -0,0 +1,263 @@ +.\" $NetBSD: lockf.3,v 1.2 1998/02/05 18:47:28 perry Exp $ +.\" +.\" Copyright (c) 1997 The NetBSD Foundation, Inc. +.\" All rights reserved. +.\" +.\" This code is derived from software contributed to The NetBSD Foundation +.\" by Klaus Klein and S.P. Zeidler. +.\" +.\" 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 NetBSD +.\" Foundation, Inc. and its contributors. +.\" 4. Neither the name of The NetBSD Foundation 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 NETBSD FOUNDATION, INC. 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 FOUNDATION 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. +.\" +.Dd December 19, 1997 +.Dt LOCKF 3 +.Os NetBSD 1.4 +.Sh 名称 +.Nm lockf +.Nd ファイル上のレコードのロック +.Sh LIBRARY +.Lb libc +.Sh 書式 +.Fd #include +.Ft int +.Fn lockf "int filedes" "int function" "off_t size" +.Sh 解説 +関数 +.Fn lockf +は、ファイルのセクションを助言モードロックでロック +できます。ロックされているファイルのセクションを他のプロセセスからロック +しようとして、 +.Fn lockf +呼び出しを実行すると、当該セクションのロックが +解除されるまでエラー表示値かまたはブロックが返ってきます。ロックはプロセス +が終了するとすべて除去されます。 +.Pp +引数 +.Fa filedes +は、対象ファイルの記述子です。ファイル記述子は、 +書き込みのみ +(O_WRONLY) +、または読み込み / 書き込み両方 +(O_RDWR) のどちらかで +操作できる必要があります。引数 +.Fa function +は所要動作を定義する制御値です。 +.Fa Function +で指定できる値は次のとおりです。 +.Bl -tag -width FULCOKXX -compact -offset indent +.It Sy Function +.Sy 解説 +.It Dv F_ULOCK +ロックされているセクションのロック解除 +.It Dv F_LOCK +セクションの排他的使用のロック +.It Dv F_TLOCK +セクションの排他的使用のテストとロック +.It Dv F_TEST +セクションの他プロセスによるロック状況をテスト +.El +.Pp +.Dv F_ULOCK +は、ファイルのセクションからロックを解除します。 +.Dv F_LOCK +および +.Dv F_TLOCK +は、どちらも、セクションが使用可能状態ならばロックします。 +.Dv F_TEST +は、他プロセスが指定のセクション上にあるかどうかを検査します。 +.Pp +引数 +.Fa size +は、ロックまたはロック解除対象のバイト数を示しています。 +ロックまたはロック解除対象のセクションは、ファイル上の現在のオフセットを +開始地点とし、前方向であれば正符号の長さで、後ろ方向であれば負の長さで +表します。(現在のオフセット値を除く後続する範囲のバイト数)しかし、 +ファイルの先頭より前を開始点または対象範囲とすることはできません。 +.Fa size +が +0 の場合、セクションは現在の地点からファイル上で取りうる最大範囲の地点まで +ロックされます (すなわち、現在の地点から現時点のまたは今後拡張するファイル +の終了部分までです)。 +.Pp +.Dv F_LOCK +または +.Dv F_TLOCK +でロックされたセクションは、同一プロセスで +先行してロックされたセクションの全体または一部を含むかあるいは +含まれることがあります。この場合、またはロックされたセクションが +隣接するとき、これらのセクションは一つのロックされたセクションに +統合されます。要求によりロックの数がシステムで定めた限界を超えた場合、 +要求はエラーになります。 +.Pp +.Dv F_LOCK +および +.Dv F_TLOCK +による要求は、セクションが利用不可の +場合それぞれの取る動作について差異があります。 +.Dv F_LOCK +は、セクションが +利用可能になるまで呼び出しプロセスを抑制します。 +.Dv F_TLOCK +では、他プロセスが +既にロックしている場合、関数はエラーになります。 +.Pp +ファイルのロックは、ファイルの記述子のロックプロセスが終了して初めて +解除されます。 +.Pp +.Dv F_ULOCK +要求は、プロセスで制御される複数のロックされた +セクション(全体または一部)を解放します。ロックされたセクションは、現在の +ファイル上の地点から +.Fa size +で示す長さのバイト数分、またはサイズ指定が +0 の場合 +ファイルの終了位置まで、ロックが解除されます。ロックされたセクション +がすべて解放されないとき(すなわち、ロック解除される区域の最初の部分または +終りの部分がロックされたセクションにあるとき)、セクションの残りの部分は +プロセスにより引き続きロックされます。ロックされたセクションの中心部分を +解放することにより、ロックされた残りの部分は、先頭区域と終りの区域の +2 つの +セクションに分離されます。要求により、システム内のロックの数が、システムで +定めた制限値を越える場合、その要求の処理は不成功になります。 +.Pp +.Dv F_ULOCK +要求は、サイズ指定が +0 でなく、要求されたセクションの最終バイト +の位置が、 +off_t +型のオブジェクトに対する最大値を越えない場合、または +プロセス内にサイズ +0 のロックがあり、要求対象セクションの最終バイトを +含んでいる場合、サイズ +0 の要求対象セクションの開始位置からロック解除する +要求として扱われます。そうでない場合、 +.Dv F_ULOCK +要求は、要求対象のセクション +だけをロック解除しようとします。 +.Pp +ロックされている区域を制御しているプロセスが、他プロセスでロック +されている区域をロックしようとしてスリープ状態になると、デッドロックが +起こる可能性があります。この仕組みにより、ロックされた区域が +ロック解除されるまでのスリープがデッドロックを起こし、 +.Er EDEADLK +エラーで異常終了することを検出できます。 +.Pp +.XX lockf , +.Xr fcntl 2 +および +.Xr flock 2 +によるロックは同時併行で問題なく +使用できます。セクションでの防護処理は適当なシグナルで解釈されます。 +.Pp +.Sh 戻り値 +正常実行の場合、 +.Fn lockf +は 0 を返します。 +そうでない場合は -1 を返し、エラー内容を示す表示を +.Dv errno +に設定し、現存のロックは変更されません。 +.Pp +.Sh エラー +.Fn lockf +は、次の状態のとき不成功となります。 +.Bl -tag -width Er +.It Bq Er EAGAIN +引数 +.Fa function +は、 +.Dv F_TLOCK +または +.Dv F_TEST +であり、 +セクションはすでに他のプロセスによりロックされています。 +.It Bq Er EBADF +引数 +.Fa filedes +は妥当でない対象ファイル記述子です。 +引数 +.Fa function +.Dv F_TLOCK +または +.Dv F_TEST +であり、引数 +.Fa filedes +は書き込み可能ファイルとして妥当なファイル記述子ではありません。 +.Pp +.It Bq Er EDEADLK +引数 +.Fa function +は +.Dv F_LOCK +であり、デッドロックが検出されました。 +.Pp +.It Bq Er EINTR +引数 +.Fa function +は +.Dv F_LOCK +であり、 +.Fn lockf +がシグナル発生により中断されました。 +.Pp +.It Bq Er EINVAL +引数 +.Fa function +が +.Dv F_ULOCK , +.Dv F_LOCK , +.Dv F_TLOCK , +or +.Dv F_TEST +のどれにも該当しません。 +.Pp +引数 +.Fa filedes +がロックをサポートしないファイルを示しています。 +.Pp +.It Bq Er ENOLCK +引数 +.Fa function +は +.Dv F_ULOCK , +.Dv F_LOCK , +または +.Dv F_TLOCK +であり、 +ロックまたはロック解除の要求により、 +ロック区域の数がシステムで定めた +制限値を越えます。 +.Pp +.Sh 関連項目 +.Xr fcntl 2 , +.Xr flock 2 +.Pp +.Sh 規格 +.Fn lockf +関数は +.St -xpg4.2 +に準拠しています。 diff --git a/ja_JP.eucJP/man/man3/login.3 b/ja_JP.eucJP/man/man3/login.3 new file mode 100644 index 0000000000..fad4b3cec6 --- /dev/null +++ b/ja_JP.eucJP/man/man3/login.3 @@ -0,0 +1,74 @@ +.\" +.\" Copyright (c) 1996 Joerg Wunsch +.\" +.\" 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 DEVELOPERS ``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 DEVELOPERS 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: login.3,v 1.1.1.1 1999-12-09 16:26:01 kuriyama Exp $ +.\" " +.Dd December 29, 1996 +.Os +.Dt LOGIN 3 +.Sh 名称 +.Nm login +.Nd utmp及びwtmpファイルへのログインレコードの記録 +.Sh 書式 +.Fd #include +.Fd #include +.Fd #include +.Ft void +.Fn login "struct utmp *ut" +.Pp +Link with +.Va -lutil +on the +.Xr cc 1 +command line. +.Sh 解説 +関数 +.Fn login +は、 +.Xr utmp 5 +ファイルの適当なスロットへパスされる +.Ar ut +エントリを +記録し (呼び出しプロセスの制御端末に従って)、それを +.Xr wtmp 5 +ファイルへ +アペンドします。呼び出しプロセスはどちらのファイルに対しても書き込み権限を +持っている必要があります。 +.Pp +.Sh 戻り値 +なし +.Pp +.Sh 関連項目 +.Xr logout 3 , +.Xr ttyslot 3 , +.Xr utmp 5 , +.Xr wtmp 5 +.Pp +.Sh バグ +.Fn login +は未加工なインターフェスを提供します。呼び出し側は、 +.Va struct utmp +の構造について認識している必要があります。もう少し抽象化が +必要です。 diff --git a/ja_JP.eucJP/man/man3/login_auth.3 b/ja_JP.eucJP/man/man3/login_auth.3 new file mode 100644 index 0000000000..19e90b67ce --- /dev/null +++ b/ja_JP.eucJP/man/man3/login_auth.3 @@ -0,0 +1,73 @@ +.\" Copyright (c) 1995 David Nugent +.\" All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, is permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice immediately at the beginning of the file, without modification, +.\" 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. This work was done expressly for inclusion into FreeBSD. Other use +.\" is permitted provided this notation is included. +.\" 4. Absolutely no warranty of function or purpose is made by the author +.\" David Nugent. +.\" 5. Modifications may be freely made to this file providing the above +.\" conditions are met. +.\" +.\" $Id: login_auth.3,v 1.1.1.1 1999-12-09 16:26:01 kuriyama Exp $ +.\" +.Dd December 29, 1996 +.Os FreeBSD +.Dt LOGIN_AUTH 3 +.Sh 名称 +.\" .Nm authenticate +.Nm auth_script +.Nm auth_env +.Nm auth_scan +.Nm auth_rmfiles +.Nm auth_checknologin +.Nm auth_cat +.Nm auth_ttyok +.Nm auth_hostok +.\" .Nm auth_timesok +.Nd ログインクラス受け入れデータベースの認証形式 +.Sh 書式 +.Fd #include +.Fd #include +.\" .Ft int +.\". Fn authenticate "const char *name" "const char *classname" "const char *style" "const char *service" +.Ft int +.Fn auth_script "const char * path" ... +.Ft void +.Fn auth_env "void" +.Ft int +.Fn auth_scan "int ok" +.Ft void +.Fn auth_rmfiles "void" +.Ft void +.Fn auth_checknologin "login_cap_t *lc" +.Ft int +.Fn auth_cat "const char *file" +.Ft int +.Fn auth_ttyok "login_cap_t *lc" "const char *tty" +.Ft int +.Fn auth_hostok "login_cap_t *lc" "const char *hostname" "char const *ip" +.\" .Ft int +.\" .Fn auth_timesok "login_cap_t *lc" "time_t now" +.Sh 解説 +この関数セットは、 +.Xr login.conf 5 +が提供するログインクラスの認証形式 +インターフェスをサポートします。 +.Pp +.Sh 戻り値 +.Pp +.Sh 関連項目 +.Xr getcap 3 , +.Xr login_cap 3 , +.Xr login_class 3 , +.Xr login.conf 5 , +.Xr termcap 5 diff --git a/ja_JP.eucJP/man/man3/login_cap.3 b/ja_JP.eucJP/man/man3/login_cap.3 new file mode 100644 index 0000000000..ea49268c98 --- /dev/null +++ b/ja_JP.eucJP/man/man3/login_cap.3 @@ -0,0 +1,515 @@ +.\" Copyright (c) 1995 David Nugent +.\" All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, is permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice immediately at the beginning of the file, without modification, +.\" 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. This work was done expressly for inclusion into FreeBSD. Other use +.\" is permitted provided this notation is included. +.\" 4. Absolutely no warranty of function or purpose is made by the author +.\" David Nugent. +.\" 5. Modifications may be freely made to this file providing the above +.\" conditions are met. +.\" +.\" $Id: login_cap.3,v 1.1.1.1 1999-12-09 16:26:01 kuriyama Exp $ +.\" +.Dd December 27, 1996 +.Os FreeBSD +.Dt LOGIN_CAP 3 +.Sh 名称 +.Nm login_getclassbyname , +.Nm login_close , +.Nm login_getclass , +.Nm login_getpwclass , +.Nm login_getuserclass , +.Nm login_getcapstr , +.Nm login_getcaplist , +.Nm login_getcaptime , +.Nm login_getcapnum , +.Nm login_getcapsize , +.Nm login_getcapbool , +.Nm login_getstyl +.Nd ログインクラスデータベース +に対するプログラミングインターフェス +.Sh 書式 +.Fd #include +.Fd #include +.Ft void +.Fn login_close "login_cap_t * lc" +.Ft login_cap_t * +.Fn login_getclassbyname "const char *nam" "const struct passwd *pwd" +.Ft login_cap_t * +.Fn login_getclass "const char *nam" +.Ft login_cap_t * +.Fn login_getpwclass "const struct passwd *pwd" +.Ft login_cap_t * +.Fn login_getuserclass "const struct passwd *pwd" +.Ft char * +.Fn login_getcapstr "login_cap_t *lc" "const char *cap" "char *def" "char *error" +.Ft char ** +.Fn login_getcaplist "login_cap_t *lc" "const char *cap" "const char *chars" +.Ft char * +.Fn login_getpath "login_cap_t *lc" "const char *cap" "char *error" +.Ft rlim_t +.Fn login_getcaptime "login_cap_t *lc" "const char *cap" "rlim_t def" "rlim_t error" +.Ft rlim_t +.Fn login_getcapnum "login_cap_t *lc" "const char *cap" "rlim_t def" "rlim_t error" +.Ft rlim_t +.Fn login_getcapsize "login_cap_t *lc" "const char *cap" "rlim_t def" "rlim_t error" +.Ft int +.Fn login_getcapbool "login_cap_t *lc" "const char *cap" "int def" +.Ft char * +.Fn login_getstyle "login_cap_t *lc" "char *style" "const char *auth" +.Pp +.Sh 解説 +これらの関数は +.Xr login.conf 5 +に備わっているログインクラスデータベース +に対するプログラミングインターフェスを表します。このデータベースに +収録されているのは、 +CAPABILITIES +、属性およびデフォルト環境、ユーザや特殊 +ユーザとしての稼動中のプログラムに対する課金上の設定などで、 +.Pa /etc/master.passwd +の登録データ内のログインクラスフィールドに +定義されています。 +.Pp +.Xr login.conf 5 +内のレコードは、コロン +.Ql \&: +で分離されるフィールドで +構成されています。各レコードの最初のフィールドはデータベース全体で一意な +レコードのための複数の識別子です。それぞれ +'|' +で分離されており、最後尾に +'name' +識別子が付いていることもあります。レコードの残りのフィールドは +keyword/data +のペアで構成されます。ロングラインは空のレコード内で +バックスラッシュが後ろにつき、次の連続する行は随時読み +取られるようになっています。このことは、キーワードが +2 つの意味にある文字に +限定されないことを除けば +.Xr termcap 5 +で使用されている形式と類似しており、 +読み易すく改善されている点が利点です。 +termcap +レコードの場合と同様に、 +tc= +が記述されているフィールドによって複数レコードを相互に +関連させることができます +(レコードが包含関係にあります)。 +.Aq Pa recordid +で示されるすべてのレコードは +発生した箇所で +tc= +フィールドにより +置きかえられます。 +CAPABILITIES +データベースの形式と利用方法に関する +詳細については、 +.Xr getcap 3 +を参照してください。 +.Pp +.Nm login_cap +インターフェスには、 +tc= +参照の拡張により、 +ログインレコードクラスを取り出す便利な方法が備わっています。 +プログラム要求により、 +.Fn login_getclass , +.Fn login_getpwclass , +.Fn login_getuserclass +または +.Fn login_getclassbyname +のうちどれか +1 つを呼び +出して実行します。それぞれの関数はログイン +CAPABILITIES +構造体 +.Ft login_cap_t +を戻り値として返し、 +API +の残りを使用して指定した値をデータベースに引き続き +問い合せするときに使用されます。 +login_cap_t +が不要になった場合は、関数 +.Fn login_close +の呼び出しを実行して使用していたリソースをすべて解放する +必要があります。 +.Pp +login_cap_t +の構造は +login_cap.h +で次のように定義されます。 +.Bd -literal -offset indent +typedef struct { + char *lc_class; + char *lc_cap; + char *lc_style; +} login_cap_t; +.Ed +.Pp +.Ar lc_class +メンバーには取り出したログインクラスの名前に対するポインタ +があります。これは、 +.Fn login_getclass +または +.Fn login_getuserclass +を使用したクラス名により +.Fn login_getclassbyname +経由で直接的に、または、 +.Fn login_getpwclass +を使用したユーザのログインレコード経由で間接的に +要求されたものと必ずしも同じではありません。参照されたユーザに + /etc/master.passwd +で定義されたログインクラスがない場合、クラス名は +NULL +か空ストリングです。 +また、定義されたクラスがデータベースに存在しない場合、 +各関数は、 +'default' +という +ID +のレコードを探索し、 +.Ar lc_class +フィールドにその +名前を戻り値として取得します。 +.Pp +.Ar lc_cap +フィールドは、ライブラリで内部的に使用され、拡張されたログイン +CAPABILITIES +レコードを保持します。プログラムからの例外要求では、低次の +.Fn getcap +方式の関数とともにレコードを直接アクセスしようとしてこれを +使用する傾向があります。 +.Pp +.Ar lc_style +フィールドに対しては、ログイン自身の操作プログラムからの +要求に従って、関数 +.Fn login_getstyle +により、認可方式が設定されます。 +.Pp +前述したように、関数 +.Fn get*class +は、 +CAPABILITIES +データベースの +マッチングまたはデフォルトレコードのアクセスに使用される +login_cap_t +オブジェクトを戻り値として返します。 +.Fn getclassbyname +は +2 つの引数を受け +取ります。最初のものは取り出し対象レコードのレコード識別子で、 +2 番めのものは、任意指定のディレクトリ名です。最初の引数 +.Ar name +が +NULL +か、空ストリング、 +あるいは補助的なまたはシステムのログインクラスデータベースに +クラスが存在しない場合、システム +.Em デフォルト +レコードが代わりに +返されてきます。 +2 番めの引数 +.Ar dir +パラメータが +NULL +のとき、 +システムログインクラスデータベースだけが使用されますが、 +NULL +でないときは、 +.Xr .login_conf 5 +というファイル内で名前付きディレクトリが検索され、中にある +CAPABILITIES +レコードがシステムデフォルトを上書きします。この体系により +ユーザは、 +'me' +という +ID +のレコードがあるプライベートクラスに対する +クラスレコードを生成して、システムログインクラス・データベースのレコード +におけるログイン設定値を上書きできます。 +Login +のコンテキストでは、次の +2 つの理由により、ユーザが上書きできないオプションがあります。第 +1 に、 +リソース設定値やデフォルトのプロセス優先順位などの多くのオプションでは、 +効果を発揮させるためにルート権限が必要である +こと、第 +2 に、 +ユーザファイルの他のフィールドは、ログインの初期段階ではセキュリティや +管理上の理由から、十分な検討が行われていません。どの設定がユーザが +上書きできるのかについての詳細については、 +.Xr login.conf 5 +を +参照してください。実際には、これらは、そうでない場合に常に初期起動 +シエルスクリプトで上書きされるユーザのデフォルトログイン環境によって明確に +制限されます。ユーザの +.Pa .login_conf +は、ログイン時、シエルが呼ばれる前に +実行される優先ログイン環境設定での簡便な方法をユーザ +に提供します。 +.Pp +指定レコードが +NULL +か、空または存在しないとき、さらに不測の事態に +備えてデフォルトレコードがシステムにない場合、メモリアロケーションエラー +になるか、あるいは +.Xr cgetent 3 +が何らかの理由によりログイン +CAPABILITIES +データベースにアクセスできなくなり、 +NULL +を返してきます。 +.Pp +関数 +.Fn login_getpwclass , +.Fn login_getclass +および +.Fn login_getuserclass +で、ユーザパスワード登録情報に対応するログインクラスレコードの取り出し、 +.Fn login_getclassbyname +呼び出しによるクラス名の取り出しができます。 +処理が失敗した場合は +NULL +が返されます。これらの関数の間で、 +.Fn login_getuserclass +はユーザによる上書きが可能なユーザホームディレクトリ上の +.login_conf +を含んでいますが、 +.Fn login_getpwclass +および +.Fn login_getclass +では、それへの参照を +.Pa /etc/login.conf +上のシステムログインクラスに制限している点で +異なります。 +.Fn login_getpwclass +が +.Fn login_getclass +と異なる唯一の点は、 +パスワードデータベースでの定義がないときにユーザルートをシステムルート +として認めていることです。他方、パスワードのポインタが +NULL +のとき、または +ユーザレコードにログインクラスがない場合、システムの「デフォルト」登録 +レコードの取得が行われます。 +.Pp +プログラムで +login_cap_t +オブジェクトを使用する必要がなくなると、 +.Fn login_close +呼び出しを実行し、ログインクラスで使用していたリソースを +解放します。 +.Fn login_close +は +NULL +ポインタを返しますが、これには +弊害はありません。 +.Pp +残りの関数は、個別の権限レコードの取り出しに使用されます。各関数は、 +login_cap_t +オブジェクトを第 +1 引数とし、 +CAPABILITIES +タグ +を第 +2 引数とします。残りのパラメータは、 +CAPABILITIES +レコードが見つからないときの +デフォルトまたはエラー値を指定します。受け渡しされるパラメータの型は +関連する +CAPABILITIES +のタイプによって変わってきます。たとえば、 +ストリング、リスト、時間値、ファイルやメモリサイズ、パス (コロンで +分離されたデイレクトリリストから構成される)、またはバイナリ値フラグ +などです。 +.Pp +このグループのすべての関数では、ポインタを返すとき +.Xr free 3 +呼出を使用できないことに注意してください。検索や +CAPABILITIES +タグ処理の間に +割り当てられたメモリは、後続するこのグループの関数呼び出しで自動的に +再利用されるか、または +.Fn login_close +呼び出しで解除されます。 +.Bl -tag -width "login_gatcaplist()" +.Fn login_getcapstr +この関数は、単純ストリング +CAPABILITIES +を返します。 +ストリングが見つからないとき、 +.Ar def +内の定義値がデフォルト値として +返されます。エラーが発生したとき、 +.Ar error +パラメータの値が返されます。 +.Pp +.It Fn login_getcaplist +本関数は、名前付き +CAPABILITY +タグの値を +NULL +で +終了する配列の値リストとして返します。ログインクラスデータベースには、 +リストタイプのタグがあり、複数のカンマまたはスペースで分離した値で +構成されています。通常、この関数は直接アプリケーションから呼び +出されることはなく、 +.Fn login_getstyle +経由で間接的に使用されます。 +.Pp +.It Fn login_getpath +この関数は、 +.Ql &: +で分離されたディレクトリリストを +返します。 +この関数の呼出しが実行される +CAPABILITY +タグ +はスペースで分離された +デイレクトリリストで構成されます。 +.Pp +.It Fn login_getcaptime +この関数は、時、分、秒 (デフォルト)、年 ( +365 日基準)、週、あるいはこれらの任意の組み合わせで表される値の特殊な +CAPABILITY +タグに関連する時間値を返します。接尾語により使用される単位を +決定します。 +S は秒を、M は分を、H は時を、D は日を、W は週を表し、Y は +365 日基準による年を表します。 +単位接尾語では大文字、小文字の区別はありません。 +.Pp +時間値は、通常はリソースの設定値、課金システム、およびセッション制限値に +使用されます。オペレーティングシステムやコンパイラ (FreeBSD 対応) で +サポートしている場合、戻り値は 2 次元 (long long) の +.Em rlim_t +型になります。値 'inf' または 'infinity' で無限の値を表せます。 +その場合 +RLIM_INFINITY +が +戻り値となります。 +.Pp +.It Fn login_getcapnum +この関数は、タグに関する数値を返します。数値は、 +tag= または標準的な +.Fn cgetnum +書式 tag# +で表現されます。 +最初の書式は 2 番目のものより優先的に使用されます。 +2 番めの書式は、 +.Xr getcap 3 +データベースの書式との互換性と整合性があり、数値タイプの場合、 +数値のデリミタとして +.Ql \&# +が使われます。最初の書式の場合、指定される値は +'inf' または 'infinity' で、戻り値は RLIM_INFINITY +になります。指定された +CAPABILITY +タグを見つけることができない場合、 +.Ar def +パラメータが返されます。 +エラーが起きると、 +.Ar error +パラメータが返されます。 +.Pp +.It Fn login_getcapsize +.Fn login_getcapsize +は、サイズ(ファイルまたは +メモリの場合)を表す値を、バイト数(デフォルト)、 +512 バイトのブロック数、 +KB, +MB, +GB +表示で返します。また +.Ar long long +タイプをサポートしているシステム +であれば、 +TB +表示もあります。使用されている接尾語により単位、複合値を +決定し、単位は組み合せた形で使用されます。(例えば、 +1m500k = 1.5megabytes) 接尾語がない値 A はバイトを、 +B は 512 バイトブロックを、 +K は KB を、 +M は MB を、 +G は GB を、 +そして +T +は TB を表します。 +大文字と小文字の区別はありません。エラー値が返ってくるのは、ログイン +CAPABILITIES +データベースエラーがあるか、間違った接尾語が使用されているか、 +または数値が変換ができない場合です。 +.Pp +.It Fn login_getcapbool +この関数は、特定のフラグに関連したバイナリ値を、返します。指定された +CAPABILITY +タグがないか、 +'tag@'(boolean フラグの詳細については +.Xr getcap 3 +を参照) により無効にされているとき、 +0 が返ってきます。タグが見つかれば +1 が返ります。 +.Pp +.It Fn login_getstyle +この関数は、ログイン認可システムで使用され、特定の +ケースで有効なログインの形式を決定します。関数は、 +3 つのパラメータと、 +.Nm login_cap +登録レコードそのもの、および 2 つの任意指定パラメータ、 +'auth' +と +'style' +の認可タイプを受け取り、これらを用いてこれらのルールと矛盾しない +認可スタイルを決定します。 +.Pp +.Bl -bullet -indent offset +.It +'auth' が NULL または 空ストリングでなければ、 +CAPABILITY +レコードの +'auth-' +タイプのタグの検索を行います。存在しなければ、デフォルトの +デフォルトタグ +'auth=' +を検索します。 +.It +先のステップで正当な認可リストが見つからない場合、 +'passwd' +がデフォルトの認可リストとされます。 +.It +'style' が NULL でも +空でもないとき、先行ステップで見つかった認可方式の +リストからそれを検索します。 +.It +'style' が NULLか空ストリングのとき、 +'passwd' +をデフォルトの認可に使用します。 +.It +'style' が、認可方式の選択リストに見つかった場合、それを返し、 +そうでないときは NULL を返します。 +.El +.Pp +この体系により、管理者は、アクセス方式に従って、システムが受け取る +認可方式を決定します。たとえば、管理者がネットワークを経由したシステムへの +アクセスに使用された認証方式として、skey または kerberos を要求します。 +また、直接のダイアルアップまたはコンソールログイン経由での標準的方式を +要求することもあり、'snooping' ネットワークパケットによりパスワードが +発見されるリスクを著しく減少させられます。 +.El +.Sh 関連項目 +.Xr getcap 3 , +.Xr login_class 3 , +.Xr login.conf 5 , +.Xr termcap 5 + + + diff --git a/ja_JP.eucJP/man/man3/login_class.3 b/ja_JP.eucJP/man/man3/login_class.3 new file mode 100644 index 0000000000..425a8d4098 --- /dev/null +++ b/ja_JP.eucJP/man/man3/login_class.3 @@ -0,0 +1,187 @@ +.\" Copyright (c) 1995 David Nugent +.\" All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, is permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice immediately at the beginning of the file, without modification, +.\" 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. This work was done expressly for inclusion into FreeBSD. Other use +.\" is permitted provided this notation is included. +.\" 4. Absolutely no warranty of function or purpose is made by the author +.\" David Nugent. +.\" 5. Modifications may be freely made to this file providing the above +.\" conditions are met. +.\" +.\" $Id: login_class.3,v 1.1.1.1 1999-12-09 16:26:01 kuriyama Exp $ +.\" +.Dd December 28, 1996 +.Os FreeBSD +.Dt LOGIN_CLASS 3 +.Sh 名称 +.Nm setclasscontext , +.Nm setusercontext , +.Nm setclassresources , +.Nm setclassenvironment +.Nd ログインクラスデータベースにアクセスする能力をもつ関数群 +.Sh 書式 +.Fd #include +.Fd #include +.Ft int +.Fn setclasscontext "const char *classname" "unsigned int flags" +.Ft int +.Fn setusercontext "login_cap_t *lc" "const struct passwd *pwd" "uid_t uid" "unsigned int flags" +.Ft void +.Fn setclassresources "login_cap_t *lc" +.Ft void +.Fn setclassenvironment "login_cap_t *lc" "const struct passwd *pwd" "int paths" +.Pp +.Sh 解説 +これらの関数は、ログインクラスデータベース関して +.Xr login_cap 3 +のマニュアルに記載されているインターフェスより高次のインターフェスを +提供します。これらの関数が使用されるのは、リソースに関する限界値や、 +環境およびシステムにログインするユーザへの課金の設定、およびログインクラス +に基づくシステムデーモンの設定と環境の適切な組を設定するときです。これらの +関数呼び出しは、現在のプロセスがルート権限で実行されているときだけ +可能です。LOGIN_SETLOGIN フラグが使用される場合、この関数は +.Xr setlogin 2 +の呼び出しを実行し、当該関数についてはマニュアルページに説明してある注意を +払う必要があります。これは同一のセッションで実行されているすべてのプロセス +に影響をあたえますが、現在のプロセスが影響を受けることはありません。 +.Pp +.Fn setclasscontext +は、種々の、指定された名前付クラスの値に基づくクラス +のコンテキスト値 (リソースの限界値、umask やプロセスの優先順位) を +設定します。 +.Pp +.Fn setusercontext +は、指定された login_cap_t オブジェクト、 +指定された passwd レコード ( login_cap_t が nullの場合) +に基づく、クラスのコンテキストバリューを設定します。 +また最新のセッションへのログインや、 +最新のプロセスのユーザおよびグループの所有者を設定します。 +これらの関数は、それぞれ +.Ar flags +パラメタで渡されたビットフラグにより選択でき、次に示す中の +複数のものから構成されます。 +.Bl -tag -width LOGIN_SETRESOURCES +.It LOGIN_SETLOGIN +現在のセッションと関連を持つログインに +passwd 構造で定義されたユーザを対応させます。 +.Xr setlogin 2 +このオプションが使用される場合、 +.Ar pwd +パラメタは NULL 値以外を指定する必要があります。 +.It LOGIN_SETUSER +現在のプロセスの所有者に、 +.Xr setuid 2 +を使用して +.Ar uid +パラメータで指定された uid を設定します。 +.It LOGIN_SETGROUP +現在のプロセスのグループとしての所有者に、 +.Xr setgid 2 +を使用して passwd 構造で定義されたグループ識別子を設定します。 +また、 +.Xr initgroups 3 +呼出を実行して現在のプロセスに +関するグループのアクセスリストを整えます。 +.Ar pwd +パラメータは、このオプションが使用される場合、 +NULL 以外の値を指定する必要があります。 +.It LOGIN_SETRESOURCES +システムのログインクラスデータベースで定義される +設定値に基づき現在のプロセスのリソースの限界値を設定します。クラス権限タグ +は、-cur (ソフトリミット) または -max (ハードリミット)の接尾語と次に示す +リソース設定子を適切に組み合わせて使用します。 +.Bd -literal +cputime RLIMIT_CPU +filesize RLIMIT_FSIZE +datasize RLIMIT_DATA +stacksize RLIMIT_STACK +coredumpsize RLIMIT_CORE +memoryuse RLIMIT_RSS +memorylocked RLIMIT_MEMLOCK +maxproc RLIMIT_NPROC +openfiles RLIMIT_NOFILE +.Ed +.It LOGIN_SETPRIORITY +システムのログインクラスデータベースで定義された +値に基づき、現プロセスのスケジュール時の優先順位を設定します。使用される +クラス権限タグは次のとおりです。 +.Bd -literal +Priority +.Ed +.It LOGIN_SETUMASK +現在のプロセスの umask にユーザまたはシステムの +ログインクラスデータベースでの値を設定します。 +使用されるクラス権限タグは次のとおりです。 +.Bd -literal +umask +.Ed +.It LOGIN_SETPATH +ユーザまたはシステムのログインクラスデータベースに基づく値を +'path' および 'manpath' +環境変数に設定します。該当する環境変数 +セットとともに使用されるクラス権限タグは次のとおりです。 +.Bd -literal +path PATH +manpath MANPATH +.Ed +.It LOGIN_SETENV +ユーザまたはシステムのログインクラスデータベースに +基づく値を種々の環境変数に設定します。該当する環境変数セットとともに +使用されるクラス権限タグは次のとおりです。 +.Bd -literal +lang LANG +charset MM_CHARSET +timezone TZ +term TERM +.Ed +.Pd +環境変数の追加として、リスト型の +権限設定 'setenv=var1 val1,var2 val2..,varN valN ' +を使用できます。 +.It LOGIN_SETALL +上記の設定をすべて可能にします。 +.El +.Pp +環境変数の設定時と適切な passwd ポインタが +.Ar pwd +により与えられる場合、文字 +.Ql \&~ +と +.Ql \&$ +はそれぞれユーザのホームディレクトリおよびログイン名と +置きかえられことがあることに注意してください。 +.Pp +関数 +.Fn setclassresources +および +.Fn setclassenvironment +は、上記コンテキスト設定の関数の +サブセットですが、単独でも使用できます。 +.Sh 戻り値 +.Fn setclasscontext +および +.Fn setusercontext +は、エラーが起きた場合 -1 を返します。 +正常終了の場合 0 を返します。 +ユーザ、ログイン、グループまたはリソースの設定を行っている最中に +エラーが起きた場合、LOG_ERR の優先順位によりメッセージが +.Xr syslog 3 +に通知され、現在アクティブ状態の機能に通知されます。 +.Sh 関連項目 +.Xr setgid 2 , +.Xr setlogin 2 , +.Xr setuid 2 , +.Xr getcap 3 , +.Xr initgroups 3 , +.Xr login_cap 3 , +.Xr login.conf 5 , +.Xr termcap 5 diff --git a/ja_JP.eucJP/man/man3/login_ok.3 b/ja_JP.eucJP/man/man3/login_ok.3 new file mode 100644 index 0000000000..e822e9f761 --- /dev/null +++ b/ja_JP.eucJP/man/man3/login_ok.3 @@ -0,0 +1,140 @@ +.\" Copyright (c) 1995 David Nugent +.\" All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, is permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice immediately at the beginning of the file, without modification, +.\" 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. This work was done expressly for inclusion into FreeBSD. Other use +.\" is permitted provided this notation is included. +.\" 4. Absolutely no warranty of function or purpose is made by the author +.\" David Nugent. +.\" 5. Modifications may be freely made to this file providing the above +.\" conditions are met. +.\" +.\" $Id: login_ok.3,v 1.1.1.1 1999-12-09 16:26:01 kuriyama Exp $ +.\" +.Dd January 2, 1997 +.Os FreeBSD +.Dt LOGIN_OK 3 +.Sh 名称 +.Nm auth_ttyok +.Nm auth_hostok +.Nm auth_timeok +.Nd ログイン制約に基づくログインクラス・チェック用関数 +.Sh 書式 +.Fd #include +.Fd #include +.Fd #include +.Ft int +.Fn auth_ttyok "login_cap_t *lc" "const char *tty" +.Ft int +.Fn auth_hostok "login_cap_t *lc" "const char *host" "char const *ip" +.Ft int +.Fn auth_timeok "login_cap_t *lc" "time_t t" +.Sh 解説 +この関数セットは、ログインが、 +.Xr login.conf 5 +という +ログインデータベース上のログインクラス登録権限に基づき許可できるかどうかを +判定します。 +.Pp +.Fn auth_ttyok +は、名前付 +.Ar tty +が指定されたクラスのユーザで +利用可能かどうかを判定します。またそれが +.Em ttys.allow +アクセスリストに載っており、 +.Em ttys.deny +アクセスリストに載っていないこともチエックします。 +.Ar tty +デバイス経由でくるログインは、 +.Em ttys.allow +リストがなく (あるいは指定されたログインクラスの登録権限定義がない) +ても、空でない +.Em ttys.deny +リストが存在しない限り、またはデバイスあるいは +.Ar tty +グループ( +.Xr ttys 5 +を参照のこと)がリストに載っていなければ、受入れられます。 +.Ar tty +に対するアクセスは、 +.Ar tty +デバイス名で固有の制限と範囲が決められます。また +デバイス名はワイルドカード指定 (例えば、ttyD* または cuaD*) +を含むか、または group= タグが +.Pa /etc/ttys +に割り振られている場合、ttygroup の名前を定義します。 +ttys と ttygroups +の一致はケースによります。 +.Dv NULL +または文字列を +.Ar tty parameter +として渡すと、関数はゼロでない数値を返します。 +.Pp +.Fn auth_hostok +は、リモートロングインにおけるホスト側の制約をチエック +します。この関数は、 +.Em host.allow +および +.Em host.deny +のログインクラスの権限レベルに対し、ホスト名や IP アドレス +(具体的には n.n.n.n のようなテキスト形式で指定されます。) +の両方のチエックを行います。 +ttys およびそのグループについてと同様、許可、 +非許可権限レコード内でワイルドカードや文字 +クラスを使用できます。関数 +.Xr fnmatch 3 +は対応付けに使用されます。ホスト名の +対応付けは大文字か小文字かによります。この関数ではホスト名が完全形式で +記述 (たとえば、必要ならばローカルドメイン名が追加される) されている +必要があることに注意する必要があります。さらに、IP アドレスは標準的な +形式になっています。ホスト名やアドレス参照は行われません。 +.Pp +この関数の呼び出しは、ホスト名を使用するか、または IP アドレスを +指定せず (例えば +.Dv NULL +指定) に実行できます。またマッチングはパラメータが +指定されなければ実行されません。どちらのパラメータについて +.Dv NULL +か空の文字列が渡された場合、ゼロ以外の戻り値が返されます。 +.Pp +関数 +.Fn auth_timeok +は、指定の時間値が、ログインクラス +.Em times.allow +の範囲にあり、 +.Em times.deny +アクセスリストにないかどうか判定します。 +.Em times.allow +リストが存在しないか空であれば、指定時間が +.Em times.deny +リストに示す時間帯にない限り、いつでもアクセス可能です。 +.Em times.allow +および +.Em times.deny +のフィールドに含まれる時間帯レコードの形式の詳細については、 +.Xr login_times 3 +のマニュアルページを参照してください。 +.Sh 戻り値 +これらの関数からの戻り値がゼロでない場合、ログインが認可されています。 +戻り値がゼロの場合は、対象が +.Em allow +アクセスリストにないか +.Em deny +アクセスリストに載っています。 +.Pp +.Sh 関連項目 +.Xr getcap 3 , +.Xr login_cap 3 , +.Xr login_class 3 , +.Xr login_times 3 , +.Xr login.conf 5 , +.Xr termcap 5 diff --git a/ja_JP.eucJP/man/man3/login_times.3 b/ja_JP.eucJP/man/man3/login_times.3 new file mode 100644 index 0000000000..f6cba2ae79 --- /dev/null +++ b/ja_JP.eucJP/man/man3/login_times.3 @@ -0,0 +1,157 @@ +.\" Copyright (c) 1995 David Nugent +.\" All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, is permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice immediately at the beginning of the file, without modification, +.\" 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. This work was done expressly for inclusion into FreeBSD. Other use +.\" is permitted provided this notation is included. +.\" 4. Absolutely no warranty of function or purpose is made by the author +.\" David Nugent. +.\" 5. Modifications may be freely made to this file providing the above +.\" conditions are met. +.\" +.\" $Id: login_times.3,v 1.1.1.1 1999-12-09 16:26:01 kuriyama Exp $ +.\" +.Dd January 2, 1997 +.Os FreeBSD +.Dt LOGIN_TIMES 3 +.Sh 名称 +.Nm parse_lt +.Nm in_ltm +.Nm in_ltms +.Nd ログイン時間帯のチエックおよび解析を行う関数 +.Sh 書式 +.Fd #include +.Fd #include +.Fd #include +.Ft login_time_t +.Fn parse_lt "const char *str" +.Ft int +.Fn in_ltm "const login_time_t *lt" "struct tm *t" "time_t *ends" +.Ft int +.Fn in_ltms "const login_time_t *lt" "struct tm *t" "time_t *ends" +.Sh 解説 +この関数セットは、 +.Xr login.conf 5 +で使用されている、ログイン許可時間に関する定義済みリストと +対照させてログインおよびセッション時間のチエックと解析を行います。 +.Pp +ログインクラスの +.Ar times.allow +と +.Ar times.deny +権限フィールドで定義された許可、非許可セッション時間の形式は、 +1 +桁または +2 ,3 +桁以上の文字の日付コードを定義する接頭語で構成されます。 +ハイフンで分離される 24 時形式の開始、終了時間がそれに続きます。 +日付コードは、特定の日付を選択するために接合されるか、または +'Any' や 'All'(任意の曜日またはすべての曜日) や、 +曜日指定 (土曜日と日曜日を含む) のための 'Wk'、 +週末を表す 'Wd' +などの、特殊な表記記号も使用することができます。 +.Pp +時間帯はたとえば次のとおりです。 +.Dl MoThFrSa1400-2200 +これは、月曜日、木曜日、kinn曜日、土曜日の午後 2 時から +10 時の間と解釈されます。 +.Dl Wd0600-1800 +これは、土曜日と日曜日の午前 6 時から午後 6 時までの意味です。 +.Dl Any0400-1600 +これは、任意の曜日の午前 4 時から午後 4 時の意味です。 +.Pp +注意事項:時間帯の表示はすべてシステムのローカル時間です。 +.Pp +関数 +.Fn parse_lt +は、アスキー表示の時間帯を +.Ft login_time_t +タイプの構造に変換します。 +定義は次のとおりです。 +.Bd -literal +typedef struct login_time +{ + u_short lt_start; /* 開始時刻 */ + u_short lt_end; /* 終了時刻 */ + u_char lt_dow; /* 曜日 */ +} login_time_t; +.Ed +.Pp +.Ar lt_start +および +.Ar lt_end +フィールドには、定義された時間の開始と終了時間が、 +夜中から経過した分数を収録しています。 +.Ar lt_dow +フィールドはビットフィールドで、 +各曜日の 1 ビットと未使用の 1 ビットを持っています。 +.Em LTM_* +系列のマクロは、ビットの個別のまたは組み合わせの検査に使用されます。 +このフィールドにビットが設定されていない場合、すなわち、値 +.Em LTM_NONE +が入っているとき、時間帯はすべて間違っているとみなされます。 +これは、値 +.Ar login_time_t +の配列の終端を示す慣習として使用されます。 +.Fn parse_lt +が +.Em LTM_NONE +と同等の +.Ar lt_dow +が設定された +.Ar login_time_t +を返した場合、構文解析エラーがあります。 +.Pp +残りの関数により、指定された +time_t +または特別な時間帯または時間帯の配列に対する構造体 tm をテストできます。 +.Fn in_ltm +により、第 2 パラメータとして渡された構造体 tm で指定された時間が第 +1 パラメータで定義された時間内にあるかどうか決定します。 +.Pp +指定の時間が時間帯内にあるかどうかをバイナリ型の戻り値で返します。 +時間が所定の時間帯になく、関数の第 3 パラメータが NULL でなければ、 +渡された時間に関係する時間帯の終了時間が返されます。 +.Pp +.Fn in_ltms +は、 +.Fn in_ltm +と類似していますが、第 1 パラメータが +.Ar login_time_t +オブジェクトの配列のポインタでなければならないという点は +異なります。なお配列は、要素数が LC_MAXTIMES (64) +で上限が規定されており、 +.Em LTM_NON +が設定された +.Ar lt_dow +フィールドにより終端が規定されています。 +.Sh 戻り値 +.Fn parse_lt +は解析された時間帯を含む login_time_t 型の構造体を +返します。構文解析エラーがある場合、 +.Ar lt_dow +フィールドに +.Em LTM_NONE +(すなわち 0) が設定されます。 +.Pp +.Fn in_ltm +は、指定された時間が第一パラメータとして渡された login_time_t +で定義した時間帯内にあれば、ゼロ以外の値を返します。 +.Pp +.Fn in_ltms +は、指定された時間が適合する最初の時間帯のインデックスを +返し、ない場合は -1 を返します。 +.Sh 関連事項 +.Xr getcap 3 , +.Xr login_cap 3 , +.Xr login_class 3 , +.Xr login.conf 5 , +.Xr termcap 5 diff --git a/ja_JP.eucJP/man/man3/login_tty.3 b/ja_JP.eucJP/man/man3/login_tty.3 new file mode 100644 index 0000000000..ffe716edfb --- /dev/null +++ b/ja_JP.eucJP/man/man3/login_tty.3 @@ -0,0 +1,66 @@ +.\" +.\" Copyright (c) 1996 Joerg Wunsch +.\" +.\" 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 DEVELOPERS ``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 DEVELOPERS 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: login_tty.3,v 1.1.1.1 1999-12-09 16:26:01 kuriyama Exp $ +.\" " +.Dd December 29, 1996 +.Os +.Dt LOGIN_TTY 3 +.Sh 名称 +.Nm login_tty +.Nd 新規ログインセッションの tty 準備 +.Sh 書式 +.Fd #include +.Ft int +.Fn login_tty "int fd" +.Pp +Link with +.Va -lutil +on the +.Xr cc 1 +command line. +.Sh 解説 +関数 +.Fn login_tty +は、新規ログインセッションの端末を準備します。 +.Fn login_tty +に渡されたファイル指示子 +.Ar fd +は端末デバイス上で、読み込みや書き込みが可能である必要があります。 +.Xr setsid 2 +により新規セッションが割り当てられた後、 +呼び出しプロセスの制御デバイスが作られます。この端末デバイスは更に、 +呼び出しプロセスでの標準入力や出力、及び標準エラー出力になります。 +.Sh 戻り値 +.Fn Login_tty +は、呼び出しプロセスの制御デバイス +.Ar fd +が参照しているデバイスを作成できない場合、 +-1 を返し、そうでない場合は 0 を返します。 +.Sh 関連項目 +.Xr dup2 2 , +.Xr ioctl 2 , +.Xr setsid 2 , +.Xr tty 4 diff --git a/ja_JP.eucJP/man/man3/logout.3 b/ja_JP.eucJP/man/man3/logout.3 new file mode 100644 index 0000000000..561f6c9542 --- /dev/null +++ b/ja_JP.eucJP/man/man3/logout.3 @@ -0,0 +1,73 @@ +.\" +.\" Copyright (c) 1996 Joerg Wunsch +.\" +.\" 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 DEVELOPERS ``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 DEVELOPERS 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: logout.3,v 1.1.1.1 1999-12-09 16:26:01 kuriyama Exp $ +.\" " +.Dd December 29, 1996 +.Os +.Dt LOGOUT 3 +.Sh 名称 +.Nm logout +.Nd utmpファイルからの登録の削除 +.Sh 書式 +.Fd #include +.Fd #include +.Ft int +.Fn logout "char *line" +.Pp +Link with +.Va -lutil +on the +.Xr cc 1 +command line. +.Sh 解説 +関数 +.Fn logout +は、引数 +.Ar line +で指定された (通常 tty 名で) スロットを探して +.Xr utmp 5 +ファイルを探索します。スロットがみつからない場合は、 +.Em name +及び +hos +フィールドが空のレコードで更新され、 +タイムスタンプは最新時間に更新されます。 +.Sh 戻り値 +関数 +.Fn Logout +は引数 +.Ar line +で指定したスロットが見つからない場合、1 を返して更新し、 +そうでない場合は 0 を返します。 +.Sh 関連項目 +.Xr login 3 , +.Xr utmp 5 , +.Xr wtmp 5 +.Sh バグ +.Fn logout +の呼び出しインターフェスは +.Xr login 3 +のインタフェースと整合性がとれていません。 diff --git a/ja_JP.eucJP/man/man3/logwtmp.3 b/ja_JP.eucJP/man/man3/logwtmp.3 new file mode 100644 index 0000000000..b9fa2fe300 --- /dev/null +++ b/ja_JP.eucJP/man/man3/logwtmp.3 @@ -0,0 +1,74 @@ +.\" +.\" Copyright (c) 1996 Joerg Wunsch +.\" +.\" 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 DEVELOPERS ``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 DEVELOPERS 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: logwtmp.3,v 1.1.1.1 1999-12-09 16:26:01 kuriyama Exp $ +.\" " +.Dd December 29, 1996 +.Os +.Dt LOGWTMP 3 +.Sh 名称 +.Nm logwtmp +.Nd wtmp ファイルに新規レコードを追加 +.Sh 書式 +.Fd #include +.Fd #include +.Ft void +.Fn logwtmp "const char *line" "const char *name" "const char *host" +.Pp +Link with +.Va -lutil +on the +.Xr cc 1 +command line. +.Sh 解説 +.Fn logwtmp +は、 +.Xr wtmp 5 +ファイルに新規レコードの追加します。 +引数は、 +.Ar line , +.Ar name +と +.Ar host +及び現在時間を与えます。 +.Pp +.Ar host +で指定するホスト名の長さが +.Xr wtmp 5 +ファイルのホスト名フィールドと合わない場合、最初は、 +.Xr gethostbyname 3 +により数値のIPアドレスに変換しようとします。 +これに失敗した場合、ホスト名は +.Qq invalid hostname +(不正ホスト名) として記録されます。 +.Pp +呼び出しプロセスは読み込み、書き込みの両方の権限を持っている +必要があります。 +.Sh 戻り値 +なし +.Sh 関連項目 +.Xr gethostbyname 3 , +.Xr login 3 , +.Xr wtmp 5 diff --git a/ja_JP.eucJP/man/man3/lsearch.3 b/ja_JP.eucJP/man/man3/lsearch.3 new file mode 100644 index 0000000000..2907a5eeac --- /dev/null +++ b/ja_JP.eucJP/man/man3/lsearch.3 @@ -0,0 +1,104 @@ +.\" Copyright (c) 1989, 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. +.\" +.\" @(#)lsearch.3 8.1 (Berkeley) 6/4/93 +.\" +.Dd June 4, 1993 +.Dt LSEARCH 3 +.Os +.Sh 名称 +.Nm lsearch , +.Nm lfind +.Nd 線形探索ルーチン +.Sh 書式 +.Fd #include +.Ft char * +.Fn lsearch "const void *key" "const void *base" "size_t *nelp" "size_t width" "int (*compar)(void *, void *)" +.Ft char * +.Fn lfind "const void *key" "const void *base" "size_t *nelp" "size_t width" "int (*compar)(void *, void *)" +.Sh 解説 +.Bf -symbolic +このインタフェースは、これが書かれるより前に時代遅れでした。 +これは互換ライブラリ libcompat から利用可能となっています。 +.Ef +.Pp +関数 +.Fn lsearch +及び +.Fn lfind +は基本的な線形探索機能を提供します。 +.Pp +.Fa base +は配列の先頭を指すポインタです。 +引数 +.Fa nelp +は配列の現在の要素数であり、 +各要素サイズのバイト長は +.Fa width +です。 +関数 +.Fa compar +は、2 つの要素比較に使用される比較ルーチンです。 +この関数は、2 つの引数、 +比較対象を指すポインタ +.Fa key +と配列メンバーを指すポインタを、 +この順序でとります。 +そして、 +.Fa key +が指す比較対象が配列のメンバより、小さい、等しい、大きいと +考えられるそれぞれの場合について、 +負、 0 、正の整数を返さなければなりません。 +.Pp +関数 +.Fn lsearch +及び +.Fn lfind +は、 +.Fa base +によって参照される配列の中で +.Fa key +が位置するポインタを返します。 +もし +.Fa key +が存在しない場合、 +.Fn lfind +はヌルポインタを返し、 +.Fn lsearch +はそれを配列に追加します。 +.Fn lsearch +要素が配列に追加されると、 +により配列要素が追加されると、引数 +.Fa nelp +によって参照される位置が 1 つ加算されます。 +.Sh 関連項目 +.Xr bsearch 3 , +.Xr db 3 diff --git a/ja_JP.eucJP/man/man3/malloc.3 b/ja_JP.eucJP/man/man3/malloc.3 new file mode 100644 index 0000000000..8b3a6e6042 --- /dev/null +++ b/ja_JP.eucJP/man/man3/malloc.3 @@ -0,0 +1,435 @@ +.\" Copyright (c) 1980, 1991, 1993 +.\" 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. +.\" +.\" @(#)malloc.3 8.1 (Berkeley) 6/4/93 +.\" $Id: malloc.3,v 1.1.1.1 1999-12-09 16:26:01 kuriyama Exp $ +.\" +.Dd August 27, 1996 +.Dt MALLOC 3 +.Os FreeBSD 2 +.Sh 名称 +.Nm malloc, calloc, realloc, free, reallocf +.Nd 汎用のメモリ割り当てのための関数群 +.Sh 書式 +.Fd #include +.Ft void * +.Fn malloc "size_t size" +.Ft void * +.Fn calloc "size_t number" "size_t size" +.Ft void * +.Fn realloc "void *ptr" "size_t size" +.Ft void * +.Fn reallocf "void *ptr" "size_t size" +.Ft void +.Fn free "void *ptr" +.Ft char * +.Va malloc_options; +.Sh 解説 +.Fn malloc +関数は、 +.Fa size +バイトのメモリを割り当てます。 +割り当てられた空間は (可能なポインタ強制の後で) +あらゆるタイプのオブジェクトが保存できるように適切に調整されます。 +その空間の長さが少なくとも +.Em pagesize +バイトである場合 ( +.Xr getpagesize 3 +参照 )、返されるメモリはページ境界が調整されていることでしょう。 +.Fn malloc +に失敗すると、 NULL ポインタが返されます。 +.Pp +.Fn calloc +関数は、 +.Fa number +個の、長さが +.Fa size +であるオブジェクトに空間を割り当てます。 +この関数を呼び出した結果は、割り当てられたメモリがナルに +初期化されていることを除けば、 +引数 +.Dq "number * size" +で +.Fn malloc +を呼び出した結果と同じです。 +.Pp +.Fn realloc +関数は、 +.Fa ptr +で参照される、以前に割り当てられたメモリのサイズを +.Fa size +バイトに変更します。 +メモリの内容は、新しいサイズと古いサイズのうち +小さい方のサイズまでは変化しません。 +新しいサイズの方が大きい場合、 +新しく割り当てられた部分のメモリの値は未定義です。 +要求されたメモリを割り当てることができなかった場合は +NULL が返されますが、 +.Fa ptr +が参照するメモリは有効で変化しません。 +.Fa ptr +が NULL である場合、 +.Fn realloc +関数は、指定したサイズの +.Fn malloc +と同じ動きをします。 +.Pp +.Fn reallocf +関数は、要求されたメモリを割り当てることができなかった場合に、 +渡されたポインタを解放することを除けば、 +.Fn realloc +関数呼び出しと同じです。 +これは FreeBSD に固有の API で、 +.Fn realloc +の従来型のコーディングスタイルを用いると、 +ライブラリの内部でメモリリークを引き起こすという +問題をなくすために設計されました。 +.Pp +.Fn free +関数は、 +.Fa ptr +で参照される割り当て済みのメモリを +今後の割り当てのために使用できるようにします。 +.Fa ptr +が NULL である場合、何も実行されません。 +.Pp +.Sh 調整 +これらのメモリ割り当てルーチン群の 1 つが初めて呼び出されるときに、 +この割り当て実行の動作に影響を与える +さまざまなフラグがセットもしくはリセットされます。 +.Pp +.Pa /etc/malloc.conf +というシンボリックリンクで参照されるファイルの「名称」、 +環境変数 +.Ev MALLOC_OPTIONS +の値、 +グローバル変数 +.Va malloc_options +が指す文字列は、 +この順序で 1 文字毎にフラグとして解釈されます。 +.Pp +ほとんどのフラグは 1 文字で、 +大文字は動作が設定されたこと、つまりオンになっていることを表し、 +小文字は動作が設定されていないこと、つまりオフになっていることを表します。 +.Bl -tag -width indent +.It A +すべての警告 +( 理解できないフラグが設定されているという警告を除く ) 、 +およびメモリ割り当ての失敗を致命的エラーにします。 +この場合、プロセスは +.Fn abort 3 +が呼び出します。 +.It J +.Fn malloc , +.Fn realloc , +.Fn reallocf +に割り当てられる新規のメモリ、同様に +.Fn free , +.Fn realloc , +.Fn reallocf +で返されるメモリの各バイトを 0xd0 に初期化します。 +このオプションは +.Dq R +オプションもセットします。 +これはデバッグ用のオプションで、パフォーマンスの低下に強い影響を与えます。 +.It H +割り当て関数で使用されないページに関するヒントをカーネルに与えます。 +システムが過度にページングを行なっている場合はパフォーマンスが向上します。 +このオプションは、デフォルトでオフになっています。 +.It R +最初の割り当てが十分に大きい場合であっても、 +.Fn realloc +関数と +.Fn reallocf +関数が常にメモリの再割り当てをするようになります。 +メモリを圧縮する場合の大きな助けとなります。 +.Pp +.It U +すべてのオペレーションで、 +.Xr ktrace 1 +のための +.Dq utrace +エントリを生成します。 +このオプションの詳細については、ソースを参照してください。 +.It V +ゼロバイトを割り当てようとしたときに、 +有効なポインタの代わりに NULL ポインタが返されるようになります。 +( デフォルトの動作では、最小の割り当てを行なってそのポインタを返します。 ) +このオプションは System V との互換性のために提供されています。 +このオプションは +.Dq X +オプションと適合しません。 +.It X +割り当て関数でエラーを返す代わりに、 +診断メッセージを stderr に 表示し、 +( +.Xr abort 3 +を使って ) +プログラムを core に落します。 +このオプションは、コンパイル時に、 +ソースコードに以下を組み込むようにして設定するべきです。 +.Bd -literal -offset indent +extern char *malloc_options; +malloc_options = "X"; +.Ed +.Pp +.It Z +このオプションを設定すると、 +.Dq J +オプションと +.Dq R +オプションが +設定され、要求されたバイト列にゼロが出力されます。 +これはデバッグ用のオプションで、パフォーマンスの低下に強い影響を与えます。 +.It < +キャッシュサイズ 2 分の 1 にします。 +デフォルトのキャッシュサイズは 16 ページです。 +このオプションは複数回指定できます。 +.It > +キャッシュサイズを 2 倍にします。 +デフォルトのキャッシュサイズは 16 ページです。 +このオプションは複数回指定できます。 +.El +.Pp +.Dq J +オプションと +.Dq Z +オプションは、テストとデバッグ用です。 +これらのオプションを使用しているときに +動作が変わるアプリケーションには欠陥があります。 +.Sh 使用例 +キャッシュサイズをシステム全体で小さくし、 +問題が発生した場合は常にコアダンプを取るような設定は、 +.Pp +.Bd -literal -offset indent +ln -s 'A<' /etc/malloc.conf +.Ed +.Pp +プログラムがこれらの関数の呼出し時に戻り値をチェックしないことを +ソースで明示するには、 +.Bd -literal -offset indent +extern char *malloc_options; +malloc_options = "X"; +.Ed +.Sh 環境変数 +以下の環境変数は、メモリ割り当て関数の実行に影響を与えます。 +.Bl -tag -width MMM +.It Ev MALLOC_OPTIONS +環境変数 +.Ev MALLOC_OPTIONS +を設定すると、この環境変数に含まれる文字は、 +メモリ割り当て関数群のフラグとして解釈されます。 +.Sh 戻り値 +.Fn malloc +関数と +.Fn calloc +関数は、成功した場合は割り当てられたメモリのポインタを返し、 +それ以外の場合は NULL ポインタを返します。 +.Pp +.Fn realloc +関数と +.Fn reallocf +関数は、成功した場合は +.Fa ptr +と同一の、割り当てられたメモリのポインタを戻します。 +それ以外の場合は NULL ポインタを返します。 +その場合でも +.Fa ptr +によって参照されるメモリは利用可能でそのまま残ります。 +.Pp +.Fn free +関数は値を返しません。 +.Pp +.Sh MALLOC の問題のデバッグ +この実装は、解放されているページには、割り当てられていない限り +アクセスされず、再利用のためにカーネルに積極的に返されるという点が、 +他 ( のシステム ) のメモリ割り当ての実装と大きく異なります。 +.Bd -filled -offset indent +ほとんど ( のシステム ) のメモリ割り当ての実装では、 +リンクドリストを含んだデータ構造が、 +解放されているメモリのかたまりの中に保存され、 +解放されているすべてのメモリを互いに結合するために使用されます。 +解放リストが横切るたびに、 +未使用のはずの、ページアウトされているようなページが、 +プライマリメモリに入るためにページフォルトを起こすため、 +これは最適とは言えません。 +ページングを行なうシステムでは、 +一つのプロセスによって生じるページフォルトの数が +5 倍に増加する結果となることがあります。 +.Pp +このアーキテクチャには、これまでは検出されなかった、インタフェースの +細々とした違反が実際に検出されるようになるという副作用があります。 +このため、ずっと問題なく動いていたプログラムが、この割り当ての実装と +リンクしたとたんに問題が続出することがあります。 +.Pp +最初にするべきこと、そしてもっとも重要なことは +.Dq A +オプションを設定することです。 +このオプションを設定すると、 +できるだけ処理を継続しようとする通常の方針をとるかわりに +問題が発生したときに (可能であれば) コアダンプを強制的に取ります。 +.Pp +デバッガのサポートのために、 +適切なオプションとシンボルでプログラムを再コンパイルするのが +おそらく賢明です。 +.Pp +プログラムが、通常とは異なる結果を出したり、コアダンプしたり、 +次のセクションで挙げるようなメッセージを出さずに +違ったふるまいをし始めるような場合は、 +プログラムがナルバイトで満たされている記憶領域に依存している場合だと +思われます。 +.Dq Z +オプションを設定して実行してみてください。 +状況が好転した場合は、この診断が正しかったことになります。 +これでもプログラムがおかしなふるまいをするようなら、 +割り当てられた領域以外のメモリ、 +大抵は割り当てられた領域の前方ではなく後方にアクセスするという問題だと +思われます。 +.Pp +あるいは、症状が容易に再現しない場合は、 +.Dq J +オプションを設定すると問題を起こす助けになるかもしれません。 +.Pp +本当に難しい状況では、カーネルで +.Dq U +オプションがサポートされている場合はそれを設定すると、 +これらの関数のすべての呼出しの詳細なトレースが作成されます。 +.Pp +あいにく、この実装では、検出された問題に関する詳細は提供されません。 +そのような情報を保存することで、パフォーマンスが悪影響を受けるためです。 +パフォーマンスと引き換えにいっそうの健全さのチェックと詳細な診断を行ない、 +問題の検出と位置の特定に焦点を当てた、 +利用可能なメモリ割り当ての実装がインターネットには数多くあります。 +.Sh 診断メッセージ +.Fn malloc , +.Fn calloc , +.Fn realloc , +.Fn free +がエラーや警告を検出すると、 +メッセージがファイル記述子 STDERR_FILENOに出力されます。 +エラーはコアダンプとなります。 +.Dq A +オプションを設定すると、すべての +警告はエラーとして扱われます。 +.Pp +以下では、出力される可能性があるエラーメッセージとその意味について +簡単に説明します。 +.Bl -tag -width indent +.It "(ES): mumble mumble mumble +.Dq EXTRA_SANITY +が定義された状態でメモリ割り当て関数がコンパイルされており、 +詳細なエラーチェック中にエラーが検出されました。 +詳細については、ソースコードを参照してください。 +.It "allocation failed +.Dq A +オプションを指定している場合は、メモリ割り当て関数が失敗すると +致命的なエラーとなります。 +.It "mmap(2) failed, check limits +システムが危険な過負荷な状態であるか、プロセスの制限が正しく +指定されていないと思われます。 +.It "freelist is destroyed +内部の解放リストが壊れています。 +.El +.Pp +.Bl -tag -width indent +以下では、出力される可能性がある警告メッセージとその意味について +簡単に説明します。 +.It "chunk/page is already free +すでに解放されているメモリを +.Fn free +で解放しようとしました。 +.It "junk pointer ... +メモリ割り当て関数に与えられたポインタが、 +認識されているメモリ境界の外側を指しています。 +.It "malloc() has never been called +メモリが割り振られていないにも関わらず、解放しようとしたり、 +再割り当てしようとしました。 +.It "modified (chunk-/page-) pointer +.Fn free +か +.Fn realloc +に渡されたポインタが書き換えられています。 +.It "pointer to wrong page +.Fn malloc +か +.Fn calloc +が解放 (?) しようとしているポインタが、 +正しいページを参照していません。 +.It "recursive call +メモリ割り当て関数を再帰的に呼び出そうとしました。 +これは許可されていません。 +特にシグナルハンドラでは、メモリの割り当てをするべきではありません。 +.It "out of memory +.Dq X +オプションが指定されていて、かつ、メモリの割り割り当てに失敗しました。 +.It "unknown char in MALLOC_OPTIONS +不明なオプションが指定されました。 +.Dq A +オプションを設定していても、この警告は単なる警告として扱われます。 +.Sh 関連項目 +.Xr brk 2 , +.Xr alloca 3 , +.Xr getpagesize 3 , +.Xr memory 3 +.Pa /usr/share/doc/papers/malloc.ascii.gz +.Sh 規格 +.Fn malloc , +.Fn calloc , +.Fn realloc , +.Fn free +関数は +.St -ansiC +に準拠しています。 +.Sh バグ +問題が発生した場合に出力されるメッセージは、 +実際の値についての詳細を提供しません。 +.Pp +ゼロバイトを割り当てるように要求された場合に +ヌルポインタを返すことは、 +愚かな問いかけに対する愚かな反応であると言えます。 +.Pp +この実装の作者は、Poul-Henning Kamp です。 +問題が発生した場合は、彼 +.Li +まで報告してください。 +.Sh 歴史 +現在のメモリ割り当ての実装は、 +個々のゲルマニウムトランジスタで作成された、 +20 ビットバイナリコンピュータに取り付けられたドラムの +ファイルシステムとしてスタートしました。 +それ以降は、二次保存域ではなく、一次保存域を操作するようになりました。 +この新しい形態と機能は +.Fx 2.2 +で最初に現れました。 diff --git a/ja_JP.eucJP/man/man3/math.3 b/ja_JP.eucJP/man/man3/math.3 new file mode 100644 index 0000000000..36b3e7d8a3 --- /dev/null +++ b/ja_JP.eucJP/man/man3/math.3 @@ -0,0 +1,575 @@ +.\" Copyright (c) 1985 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. +.\" +.\" from: @(#)math.3 6.10 (Berkeley) 5/6/91 +.\" $Id: math.3,v 1.1.1.1 1999-12-09 16:26:01 kuriyama Exp $ +.\" +.TH MATH 3M "May 6, 1991" +.UC 4 +.ds up \fIulp\fR +.ds nn \fINaN\fR +.de If +.if n \\ +\\$1Infinity\\$2 +.if t \\ +\\$1\\(if\\$2 +.. +.SH 名称 +math \- 数学ライブラリ関数の導入 +.SH 解説 +この関数は、C の数学ライブラリ +.I libm +を構成します。リンクエディタは、\*(lq\-lm\*(rq +オプションが指定されると、このライブラリを検索します。この関数の +宣言は、インクルードファイル +.Ri < math.h > +で入手できます。 +.SH 関数リスト +以下のそれぞれの倍精度浮動小数点数関数は、単精度関数と対になっており、 +名前が f で終わる関数は単制度浮動小数点数を扱います。たとえば +acos(double x) +は、浮動小数を扱う +acosf(float x) +と対になっています。 +.sp +.nf +.ta \w'copysign'u+2n +\w'infnan.3m'u+10n +\w'inverse trigonometric func'u +\fI名称\fP \fIページ\fP \fI解説\fP \fIエラー拘束 (ULP)\fP +.ta \w'copysign'u+4n +\w'infnan.3m'u+4n +\w'inverse trigonometric function'u+6nC +.sp 5p +acos sin.3m 逆三角関数 3 +acosh asinh.3m 逆双曲線関数 3 +asin sin.3m 逆三角関数 3 +asinh asinh.3m 逆双曲線関数 3 +atan sin.3m 逆三角関数 1 +atanh asinh.3m 逆双曲線関数 3 +atan2 sin.3m 逆三角関数 2 +cabs hypot.3m 複素絶対値 1 +cbrt sqrt.3m 立方根 1 +ceil floor.3m 以上の整数 0 +copysign ieee.3m 符号ビットのコピー 0 +cos sin.3m 三角関数 1 +cosh sinh.3m 双曲線関数 3 +erf erf.3m 誤差関数 ??? +erfc erf.3m 補足誤差関数 ??? +exp exp.3m 指数 1 +expm1 exp.3m exp(x)\-1 1 +fabs floor.3m 絶対値 0 +floor floor.3m 以下の整数 0 +hypot hypot.3m ユークリッド距離 1 +ilogb ieee.3m 指数抽出 0 +j0 j0.3m ベッセル関数 ??? +j1 j0.3m ベッセル関数 ??? +jn j0.3m ベッセル関数 ??? +lgamma lgamma.3m 対数ガンマ関数(旧 gamma.3m) +log exp.3m 自然対数 1 +log10 exp.3m 底が10の対数 3 +log1p exp.3m log(1+x) 1 +pow exp.3m 指数 x**y 60\-500 +remainder ieee.3m 余り 0 +rint floor.3m 最も近い整数に丸める 0 +scalbn ieee.3m 指数調整 0 +sin sin.3m 三角関数 1 +sinh sinh.3m 双曲線関数 3 +sqrt sqrt.3m 平方根 1 +tan sin.3m 三角関数 3 +tanh sinh.3m 双曲線関数 3 +y0 j0.3m ベッセル関数 ??? +y1 j0.3m ベッセル関数 ??? +yn j0.3m ベッセル関数 ??? +.ta +.fi +.SH 注釈 +カリフォルニア大学から 1985 年末に配布された 4.3 BSD では、上記の関数に +2 つのバージョンが用意されています。1 つは DEC VAX\-11 ファミリの +コンピュータの倍精度 "D" フォーマットで、もう 1 つは IEEE 754 標準の +バイナリ浮動小数点数演算に準拠した倍精度演算です。 +UNIX が誕生したときのものよりも、他のプログラムが正確で頑丈になったこと +から予想できるように、この 2 つのバージョンも、非常に似たような +挙動を示します。たとえば、これらのプログラムは、上の表の \*(ups の +数以内で正確です。\*(up は、最終桁の単位です。これらのプログラムは、 +かつての数学ライブラリ \fIlibm\fR で発生していた異常状態を修正しました。 +この異常状態が発生すると、以下のような結果が得られていました。 +.RS +sqrt(\-1.0) = 0.0 であり log(\-1.0)= \-1.7e38 +.br +cos(1.0e\-11) > cos(0.0) > 1.0 +.br +x = 2.0, 3.0, 4.0, ..., 9.0 のときに、pow(x,1.0) +.if n \ +!= +.if t \ +\(!= +x +.br +pow(\-1.0,1.0e10) が整数オーバフロー例外を起こしていた +sqrt(1.0e30) と sqrt(1.0e\-30) の計算が非常に遅かった +.RE +しかしこの 2 つのバージョンには、説明しなければならない +違いがあります。以下に注意してください。 +.PP +\fBDEC VAX\-11 D_floating\-point:\fR +.PP +これは、オリジナルの数学ライブラリ \fIlibm\fR が開発されたフォーマット +であり、このマニュアルが原則的に依って立つフォーマットです。これは、 +PDP\-11 および初期の VAX\-11 マシンの倍精度フォーマットです。 +1983 年以降の VAX\-11 は、IEEE 倍精度フォーマットにより近い、 +オプションの "G" フォーマットを備えています。初期の +DEC MiroVAX には D フォーマットがなく、G 倍精度のみが +備わっています。 +.PP +D_floating\-point のプロパティ: +.RS +ワードサイズ: 64 ビット、8 バイト。基数: バイナリ。 +.br +精度: 56 ビット、10 進数で約 17 桁。 +.RS +x と x' が連続した正の D_floating\-point 浮動小数点数 +(1 \*(up ずつ異なる) である場合は、 +.br +1.3e\-17 < 0.5**56 < (x'\-x)/x \(<= 0.5**55 < 2.8e\-17 +.br +となる。 +.RE +.nf +.ta \w'Range:'u+1n +\w'Underflow threshold'u+1n +\w'= 2.0**127'u+1n +範囲: オーバフローしきい値 = 2.0**127 = 1.7e38 + アンダーフローしきい値 = 0.5**128 = 2.9e-39 + 注意: この範囲は相対的に狭くなっています。 +.ta +.fi +.RS +オーバフローが発生すると、計算は常に中断されます。 +.br +アンダーフローが発生すると、ゼロになります。 +.br +警告: +.RS +アンダーフローにより、x +.if n \ +!= +.if t \ +\(!= +y で x\-y = 0 となる可能性があります。同じように、 +x > y > 0 であっても、x\(**y = 0 もしくは +y/x = 0 ということが警告なしに発生してしまいます。 +.RE +.RE +ゼロは曖昧に表現されます。 +.RS +ハードウェアでは、2**55 通りのゼロの表現を受理しますが、 +生成されるものは明らかな表現だけです。 +VAX には -0 がありません。 +.RE +VAX アーキテクチャには無限 ( +.If +) もありません。 +.br +予約オペランド: +.RS +ハードウェアは 2**55 通りを認識しますが、生成されるものは 1 つだけです。 +予約オペランドに対する浮動小数演算は、MOVF や MOVD でさえ計算を中断する +ので、あまり使用されません。 +.RE +例外: +.RS +ゼロ除算とオーバフローするオペレーションは不正なオペレーションで、 +計算は中断されます。古いマシンでは予約オペランドが作成され、 +計算が中断されます。 +.RE +丸め: +.RS + (PDP\-11 では必ずしもそうとは言えませんが) VAXでのすべての有理数演算 +(+, \-, \(**, /) は、オーバフロー、アンダーフロー、ゼロ除算が +発生しない場合、\*(up の半分以内に丸められます。丸め誤差が \*(up +のちょうど半分である場合、丸めは 0 から離れます。 +.RE +.RE +.PP +範囲が狭いことを別にすると、D_floating\-point は、1960 年代に設計された +ものとしては優れたコンピュータ算術演算のひとつです。 +D_floating\-point のプロパティは、4.3 BSD で配布された VAX の +基本的な関数に忠実に反映されています。オーバフローや +アンダーフローが発生するのは、結果が範囲外になるか範囲外に非常に近い +場合のみで、その場合はオーバフローやアンダーフローを起こす有理算術 +オペレーションと同じような動作をします。同じように、log(0) と atanh(1) +のような式は 1/0 のように動作し、sqrt(\-3) と acos(3) は 0/0 +のように動作します。これらはすべて予約オペランドを作成し、 +計算は中断されます。この状況については、 +それぞれのマニュアルページで詳しく説明します。 +.RS +.ll -0.5i +このレスポンスは厳し過ぎるので、すべての浮動小数演算の例外を適切に +処理するように開発された、柔軟で統一されたスキームで近い将来に +置き換えられる予定です。 +.\" See infnan(3M) for the present state of affairs.\fR +.ll +0.5i +.RE +.PP +UNIX 用 4.3 BSD の新しい \fIlibm\fR の関数を DEC の VAX/VMS ライブラリと +比較すると、一部の VMS 関数は多少速く、一部は多少精度が高く、一部は +かなり例外に厳しくなって(pow(0.0,0.0) と atan2(0.0,0.0) など)おり、 +ほとんどは、\fIlibm\fR よりも多くのメモリを使用します。 +VMS コードは、大きいテーブルで補間して速さと精度を達成しています。 +\fIlibm\fR コードは、将来はすべてが ROM に収まりそうなほど +小型で相当工夫を凝らした式を使用しています。 +.PP +それより重要なことは、DEC が VMS コードを特許とみなし、許可なく +使用することを厳しく禁じているのに対し、4.3 BSD の \fIlibm\fR コードは +public domain を意図しているということです。つまり、 +出所を常に明らかにして、ユーザがコードを使用した感想を報告して +コードの作者の研究に協力する限りにおいて、\fIlibm\fR コードは自 +由にコピーできます。それゆえ、算術処理が VAX D_floating\-point +に似ているマシンの UNIX ユーザであっても、新しい \fIlibm\fR よりも +劣るものを使用する必要がないということです。 +.PP +\fBIEEE STANDARD 754 浮動小数点数算術演算:\fR +.PP +この標準は、他のコンピュータ算術演算方式よりも広く +採用されてきています。以下のような多くのメーカが、この標準の一部の +バージョンに準拠した VLSI チップを製造しています。 +.nf +.ta 0.5i +\w'Intel i8070, i80287'u+6n + Intel i8087, i80287 National Semiconductor 32081 + Motorola 68881 Weitek WTL-1032, ... , -1165 + Zilog Z8070 Western Electric (AT&T) WE32106. +.ta +.fi +この他にも、ソフトウェアによる実装 (Apple Macintosh は完璧にそれ) から、 +Hewlett-Packard 9000 シリーズの VLSI による実装や、果ては ECL を +駆使し、3 Megaflop を達成した ELXSI 6400 まで極めて広い実装の幅を +誇ります。他の企業の中には、丸め、オーバフロー、アンダーフロー +などの例外の処理でこの標準の方法に従わずに、IEEE 754 のフォーマット +だけを採用しています。 +DEC VAX G_floating\-point フォーマットは、IEEE 754 Double +フォーマットに非常に似ているので、上に挙げたほとんどの初等関数の +IEEE バージョンの C プログラムは、MicroVAX で実行するように簡単に +変換できますが、わざわざ変換してやろうという人はいないようです。 +.PP +4.3 BSD \fIlibm\fR のコードのうち、IEEE 754 準拠マシン用のものは、 +National Semi. 32081 と WTL 1164/65 用になっています。 +Intel チップや Zilog チップ、または Apple Macintosh か ELXSI 6400 +でこのコードを使用する場合は、これらの企業が提供するよりよいコード +(無料になると思われる) か、上のコードの作者が設計した +コードを使用することになります。 +\fIatan\fR, \fIcabs\fR, \fIcbrt\fR, \fIerf\fR, \fIerfc\fR, \fIhypot\fR, +\fIj0\-jn\fR, \fIlgamma\fR, \fIpow\fR, \fIy0\-yn\fR を除けば、 +Motorola 68881 は \fIlibm\fR のすべての関数をチップに搭載し、 +しかもより速く正確になっています。 +Motorola, Apple, i8087, z8070, WE32106 では、 +有効桁数 64 ビットを使用しています。4.3 BSD の \fIlibm\fR コードには、 +public domain を意図しているという長所があります。 +出所を常に明らかにし、ユーザがコードを使用した感想を報告して +作者の研究に協力すれば、\fIlibm\fR コードは自由にコピーできます。 +算術演算が IEEE 754 に似ているマシンの UNIX ユーザは、新しい \fIlibm\fR +に劣るものを使用する必要がないということです。 +.PP +IEEE 754 Double-Precision のプロパティ: +.RS +ワードサイズ: 64 ビット、8 バイト、基数: バイナリ +.br +精度: 53 ビット、(10 進数で) 約 16 桁。 +.RS +x と x' が連続した正の倍精度浮動小数点数である +(1 \*(up ずつ異なる) 場合は、 +.br +1.1e\-16 < 0.5**53 < (x'\-x)/x \(<= 0.5**52 < 2.3e\-16 +となる。 +.RE +.nf +.ta \w'範囲:'u+1n +\w'アンダーフロー閾値'u+1n +\w'= 2.0**1024'u+1n +範囲: オーバフローしきい値 = 2.0**1024 = 1.8e308 + アンダーフローしきい値 = 0.5**1022 = 2.2e-308 +.ta +.fi +.RS +オーバフローが発生すると、デフォルトで符号付きの無限になります。 +アンダーフローは 0.5**1074 = 4.9e-324 の倍数の整数のうち最も +近いものに段階的に丸められます。 +.RE +ゼロは、+0 か \-0 のようにあいまいに表現されます。 +.RS +符号は乗算か除算で正しく変換され、符号付きゼロの加算で維持されます。 +しかし x が有限の 場合、x\-x は +0 になります。0 の符号が +問題になる演算は、0 除算と copysign(x,\(+-0) のみです。 +とくに比較 (x > y, x \(>= y など) はゼロの符号から +影響を受けませんが、有限な値 x = y である場合は、 +.If +\&= 1/(x\-y) +.if n \ +!= +.if t \ +\(!= +\-1/(y\-x) = +.If \- +になります。 +.RE +.If +は符号付きです。 +.RS +.If +をそれ自身か有限の数値に加算しても +無限は維持されます。 +.If +の符号は乗算と除算で正しく変換され、 +.If (有限値)/\(+- \0=\0\(+-0 +(非ゼロ値))/0 = +.If \(+- +になります。しかし、 +.if n \ +無限\-無限, 無限\(**0, 無限/無限 +.if t \ +\(if\-\(if, \(if\(**0, \(if/\(if +は、0/0 や sqrt(\-3) と同様に不正な演算であり、\*(nn が生成されます。 +.RE +予約オペランド: +.RS +2**53\-2 通りの予約オペランドがあり、すべて +\*(nn (\fIN\fRot \fIa N\fRumber) と呼ばれます。一部は発信 \*(nn +と呼ばれ、それに対して浮動小数点演算を実行するとトラップが発生します。 +値の欠落か未初期化、または配列の存在しない要素をマークするために +使用されます。その他は無発信 \*(nn と呼ばれます。これは +不正演算の結果のデフォルト値で、それ以後の算術演算に影響が波及します。 +x +.if n \ +!= +.if t \ +\(!= +x である場合、x は \*(nn です。その他すべての論理演算 +(x > y, x = y, x < y など) は、\*(nn が関係する場合は +偽になります。 +.br +注意: \*(nn は三分法を妨害します。 +.RS +\*(nn が関係する場合、純粋な (不) 等値演算ではなく +順序付け比較を伴う論理演算は +偽になるだけでなく、不正演算となります。 +.RE +.RE +丸め: +.RS +デフォルトでは、すべての代数演算 (+, \-, \(**, /, +.if n \ +sqrt) +.if t \ +\(sr) +は、\*(up の半分以内に丸められます。丸め誤差が \*(up +のちょうど半分である場合、丸めた値の最下位有効ビットはゼロになります。 +通常はこのような丸めが最適で、たとえば +x = 1.0, 2.0, 3.0, 4.0, ..., 2.0**52 +である場合、商と積の両方が丸められるにも関わらず、 +(x/3.0)\(**3.0 == x, (x/10.0)\(**10.0 == x, ... +になります。このような結果となるのは、IEEE 754 のような丸めのみです。 +しかし 1 つの丸めがどの状況でも最適であるとは限らないため、 +IEEE 754 では、ゼロへの丸め、 +.If + +への丸め、 +.If - +への丸めをプログラマが選択できるようになっています。最低でも +1.0e\-10 から 1.0e37 くらいまででは、 +バイナリと小数の変換に同じ種類の丸めを指定できます。 +.RE +例外: +.RS +IEEE 754 では、5 種類の浮動小数例外が認識されます。 +以下では、重要な順にその 5 種類を挙げます。 +.RS +.nf +.ta \w'Invalid Operation'u+6n +\w'Gradual Underflow'u+2n +例外 デフォルトの結果 +.tc \(ru + +.tc +不正演算 \*(nn, または偽 +.if n \{\ +オーバフロー \(+-無限 +ゼロ除算 \(+-無限 \} +.if t \{\ +オーバフロー \(+-\(if +ゼロ除算 \(+-\(if \} +アンダーフロー 段階的アンダーフロー +不精密 丸めた値 +.ta +.fi +.RE +注意: 例外は、適切に処理されればエラーではありません。 +例外を例外的なものにしてしまうのは、すべての例を満たす +デフォルトレスポンスがない場合です。逆に、デフォルトレスポンスが +ほとんどの例を満たす場合、それでも満たされない例を、 +例外が発生するたびに演算を中断するという手で正当化することは +できません。 +.RE +.PP +IEEE 754 では、それぞれの浮動小数例外のためにフラグを +用意しています。このフラグは例外が発生するたびに上がり、プログラムで +リセットするまで、上がった状態で残ります。プログラムでは、フラグのテスト、 +保存、復元もできます。 +IEEE 754 には、デフォルトの結果が満足の行くものでない +例外にプログラムで対処する方法として、以下の 3 つがあります。 +.IP 1) \w'\0\0\0\0'u +後で例外の原因となる可能性がある条件をテストし、その +テスト結果に従って処理を変えて例外を避ける。 +.IP 2) \w'\0\0\0\0'u +フラグをテストし、プログラムで最後にフラグをリセット +してから例外が発生したかどうかを確認する。 +.IP 3) \w'\0\0\0\0'u +結果をテストし、1 つの例外のみが発生する値であるかどうかを確認する。 +.RS +警告: アンダーフローが発生したかどうかを確実に発見するには、 +積や商がアンダーフローしきい値よりゼロに近いかどうかをテスト +するか、アンダーフローフラグをテストするしかありません。 +(IEEE 754 では、和と差がアンダーフローを起こすことはありません。 +x +.if n \ +!= +.if t \ +\(!= +y である場合、x\-y は完全に正確で、値が小さくてもゼロではありません。 +) 段階的にアンダーフローを起こす積と商は、徐々に精度を失っても +ゼロにはならないため、ゼロと比較しても (VAX で実行する可能性がある)、 +ロスは明らかになりません。段階的にアンダーフローを起こした値を +アンダーフローしきい値より大きい値と加算する場合、段階的な +アンダーフローで失われる桁は切り捨てられるので失われません。 +このため、通常の場合、段階的なアンダーフローは無視できることがあります。 +ゼロにフラッシュされるアンダーフローでは、同じことが正しいとは限りません。 +.RE +.PP +IEEE 754 に準拠するシステムでは、以下のような方法でも例外に +対処できます。 +.IP 4) \w'\0\0\0\0'u +異常終了 (ABORT)。このメカニズムでは、「ON ERROR GO TO」のような +エラー処理ステートメントに関連する方法で処理する事がらとして、例外を +前もって分類します。言語が異なれば、このステートメントの形式は +変わりますが、次のような共通した特徴があります。 +.IP \(em \w'\0\0\0\0'u +例外を起こした演算結果の値を代用し、式の途中から計算を +再開する方法がなくなります。例外の結果は放棄されます。 +.IP \(em \w'\0\0\0\0'u +エラー処理ステートメントがないサブプログラムでは、どの +プログラムが呼び出してもそのサブプログラムは例外のために異常終了し、 +エラー処理ステートメントが見つかるまでサブプログラムが次々に呼び +出されるか、タスク全体が異常終了してメモリのダンプが取られます。 +.IP 5) \w'\0\0\0\0'u +停止(STOP)。対話型のデバッグ環境が必要になるこのメカニズムは、 +プログラマ用であってプログラム向きではありません。例外はプログラマの +間違いの兆候として前もって分類されます。例外が発生すると、例外を起こした +オペレーションの近くで実行が停止されるので、プログラマは、例外がどのように +発生したのかを確認できます。多くの場合は、最初の数個の例外は大きな +問題ではなく、プログラマはそれぞれの例外が発生するたびに、実行が +停止されなかったかのように実行を再開できます。 +.IP 6) \w'\0\0\0\0'u +\&... その他の方法については、この文書では説明しません。 +.RE +.PP +例外処理には、範囲 (scope) という重大な問題があります。問題の解決策は +分かっていますが、人手不足のため、4.3 BSD の \fIlibm\fR で配布するとき +までに完全に実現できませんでした。理想的には、それぞれの初等関数を、 +次のような意味で分割せずに自動的に動作させる必要があります。 +.IP i) \w'iii)'u+2n +関数に提供したデータが値しない例外を発生させない。 +.IP ii) \w'iii)'u+2n +発生したすべての例外をその関数で識別し、サブルーチンでは +識別しない。 +.IP iii) \w'iii)'u+2n +関数の定義が例外処理と関連しているにも関わらず、上記 5 つの +例外処理方法によって呼出し側プログラムを変更し、小さな関数の +内部処理を中断しない。 +.PP +プログラマが、デバッグ済みサブプログラムをユーザが気付かないような +小さなものに簡単にできるようになれば理想的です。しかし、小さな関数の +3 つすべての特徴をシミュレートすることは、多くのテスト、保存、復元が +伴うため、厄介な作業になっています。現在、この不便さを改善する作業が +進んでいます。 +.PP +この作業が進むまで、\fIlibm\fR の関数はそれほど小さくなりませんが、 +以下の場合を除き、不適切な例外を発生させません。 +.RS +オーバフロー/アンダーフロー +.RS +正しく計算した結果が、範囲内に収まっている場合。 +.RE +\fIcabs\fR, \fIcbrt\fR, \fIhypot\fR, \fIlog10\fR, \fIpow\fR +の不正。 +.RS +エラーの偶発的な取り消しによって正確になった場合。 +.RE +.RE +その他の場合 +.RS +不正演算は、以下のような場合にのみ発生します。 +.RS +\*(nn 以外の結果が誤っていると思われる場合。 +.RE +オーバフローは、以下のような場合にのみ発生します。 +.RS +正しい結果が有限であるが、オーバフローしきい値を +越えている場合。 +.RE +ゼロ除算は、以下のような場合にのみ発生します。 +.RS +有限演算で、関数が無限の値を受けた場合。 +.RE +アンダーフローは、以下のような場合にのみ発生します。 +.RS +正しい結果がゼロではないが、アンダーフローしきい値より +小さい場合。 +.RE +不正確は、以下のような場合にのみ発生します。 +.RS +正しい結果の表現に、より広い範囲かより高い精度が必要な +場合。 +.SH バグ +信号が適切である場合、その信号はコードの特定オペレーションから +発信されているので、上記の手法 5) を使用している場合は、 +サブルーチンをトレースしてその信号を発している関数を特定する +必要があります。すべてのコードは、IEEE 754 のデフォルトを使用します。 +つまり、すべてのゼロ除算をトラップしようとすると、 +トラップしない場合にゼロ除算でも正しい結果を出すコードが中断されると +いうことです。 +.SH 関連項目 +\fBfpgetround\fR(3), +\fBfpsetround\fR(3), +\fBfpgetprec\fR(3), +\fBfpsetprec\fR(3), +\fBfpgetmask\fR(3), +\fBfpsetmask\fR(3), +\fBfpgetsticky\fR(3) +\fBfpresetsticky\fR(3) - IEEE 浮動小数インタフェース +.SH 注釈 +IEEE 754 とエクステンション p854 については、 +1984 年 8 月に発行された、IEEE の雑誌『MICRO』を参照してください。 +W. J. Cody らが「A Proposed Radix\- and Word\-length\-independent +Standard for Floating-point Arithmetic」という記事の中で +説明しています。Apple Macintosh の Pascal, C, BASIC のマニュアル +には、IEEE 754 の機能に関する分かりやすい説明があります。 +IEEE の雑誌『COMPUTER vol. 14 no. 3』(1981 年 3 月) と 1979 年 10 月の +『ACM SIGNUM Newsletter Special Issue』の記事も役立ちますが、この +記事はのちに変更された標準仕様案に関係しています。 diff --git a/ja_JP.eucJP/man/man3/mbrune.3 b/ja_JP.eucJP/man/man3/mbrune.3 new file mode 100644 index 0000000000..5721aa4f1d --- /dev/null +++ b/ja_JP.eucJP/man/man3/mbrune.3 @@ -0,0 +1,156 @@ +.\" Copyright (c) 1993 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" This code is derived from software contributed to Berkeley by +.\" Paul Borman at Krystal Technologies. +.\" +.\" 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. +.\" +.\" @(#)mbrune.3 8.2 (Berkeley) 4/19/94 +.\" +.Dd April 19, 1994 +.Dt MBRUNE 3 +.Os +.Sh 名称 +.Nm mbrune , +.Nm mbrrune , +.Nm mbmb +.Nd C のためのマルチバイト文字 (rune) サポート +.Sh 書式 +.Fd #include +.Ft char * +.Fn mbrune "const char *string" "rune_t rune" +.Ft char * +.Fn mbrrune "const char *string" "rune_t rune" +.Ft char * +.Fn mbmb "const char *string" "char *pattern" +.Sh 解説 +これらのルーチン群は、マルチバイト文字列のための +.Fn strchr , +.Fn strrchr , +.Fn strstr +相当の機能を提供します。 +.Pp +.Fn mbrune +関数は、 +.Ar string +の指す文字列の中で、 +.Fa rune +が最初に現れる位置を指します。 +終端の +.Dv NUL +文字は文字列の一部とみなされます。 +.Fa rune +が +.Ql \e0 +である場合は +.Fn mbrune +は終端の +.Ql \e0 +を指します。 +.Pp +.Fn mbrrune +関数は、文字列 +.Fa string +の中で +.Fa rune +が最後に現れる位置を指します。 +.Fa rune +が +.Ql \e0 +である場合は +.Fn mbrune +は終端の +.Ql \e0 +を指します。 +.Pp +.Fn mbmb +関数は、 +ヌルで終端する文字列 +.Fa string +の中で、ヌルで終端する文字列 +.Fa pattern +が最初に現れるものを指します。 +.Fa pattern +が空文字列である場合、 +.Fn mbmb +は +.Fa string +を返します。 +.Fa pattern +が +.Fa string +の中のどこにも現れない場合、 +.Fn mbmb +は +.Dv NULL +を返します。 +それ以外の場合、 +.Fn mbmb +は、 +.Fa pattern +が最初に現れる先頭の文字のポインタを返します。 +.Sh 戻り値 +.Fn mbrune +関数は、該当する文字の位置を示すポインタを返します。 +文字列中に該当する文字が見つからない場合は +.Dv NULL +を返します。 +.Pp +.Fn mbrrune +関数は、該当する文字のポインタを返します。 +文字列中に該当する文字が見つからない場合は +.Dv NULL +を返します。 +.Pp +.Fn mbmb +関数は、 +.Fa pattern +のポインタを返します。 +文字列中に該当する +.Fa pattern +が見つからない場合は +.Dv NULL +を返します。 +.Pp +.Sh 関連項目 +.Xr mbrune 3 , +.Xr rune 3 , +.Xr setlocale 3 , +.Xr euc 4 , +.Xr utf2 4 +.Sh 歴史 +.Fn mbrune , +.Fn mbrrune , +.Fn mbmb +関数は、Bell Labs の Plan 9 で +.Fn utfrune , +.Fn utfrrune , +.Fn utfutf +として現れました。 diff --git a/ja_JP.eucJP/man/man3/md2.3 b/ja_JP.eucJP/man/man3/md2.3 new file mode 100644 index 0000000000..b28167b3f7 --- /dev/null +++ b/ja_JP.eucJP/man/man3/md2.3 @@ -0,0 +1,169 @@ +.\" +.\" ---------------------------------------------------------------------------- +.\" "THE BEER-WARE LICENSE" (Revision 42): +.\" wrote this file. As long as you retain this notice you +.\" can do whatever you want with this stuff. If we meet some day, and you think +.\" this stuff is worth it, you can buy me a beer in return. Poul-Henning Kamp +.\" ---------------------------------------------------------------------------- +.\" +.\" $Id: md2.3,v 1.1.1.1 1999-12-09 16:26:00 kuriyama Exp $ +.\" +.Dd October 9, 1996 +.Dt MD2 3 +.Os FreeBSD 2 +.Sh 名称 +.Nm MD2Init , +.Nm MD2Update , +.Nm MD2Pad , +.Nm MD2Final , +.Nm MD2End , +.Nm MD2File , +.Nm MD2Data +.Nd RSA Data Security +.Sh 書式 +.Fd #include +.Fd #include +.Ft void +.Fn MD2Init "MD2_CTX *context" +.Ft void +.Fn MD2Update "MD2_CTX *context" "const unsigned char *data" "unsigned int len" +.Ft void +.Fn MD2Pad "MD2_CTX *context" +.Ft void +.Fn MD2Final "unsigned char digest[16]" "MD2_CTX *context" +.Ft "char *" +.Fn MD2End "MD2_CTX *context" "char *buf" +.Ft "char *" +.Fn MD2File "const char *filename" "char *buf" +.Ft "char *" +.Fn MD2Data "const unsigned char *data" "unsigned int len" "char *buf" +.Sh 解説 +MD2 関数群は、任意の数の入力バイトに対して +128 ビット暗号チェックサム ( ダイジェスト ) を計算します。 +暗号チェックサムは一方向ハッシュ関数なので +特定出力に対応する入力を ( 徹底的な検索を除いて ) 見つけることはできません。 +結果的には入力データの「指紋」しか見つからず、 +実際の入力が明らかになることはありません。 +.Pp +MD2 は最も遅く、 MD4 は最も高速で、 MD5 はその中間です。 +MD2 は、プライバシが重要なメールのみで使用できます。 +MD4 には弱すぎると酷評されたため、 +「安全ベルトを付けた MD4」として MD5 が開発されました。 +疑わしいときは MD5 を使用してください。 +.Pp +.Fn MD2Init , +.Fn MD2Update , +.Fn MD2Final +関数は中心的な関数群です。 +MD2_CTX を割り当て、 +.Fn MD2Init +で初期化し、 +.Fn MD2Update +でデータを処理し、最後に +.Fn MD2Final +で結果を取り出してください。 +.Pp +.Fn MD2Pad +は +計算を終了しないで、 +.Fn MD2Final +と同じ方法でメッセージデータをつめることができます。 +.Pp +.Fn MD2End +は +.Fn MD2Final +のラッパで、 +16 進 128 ビットを表現する +33 文字 ( 最後の「 \e0 」を含む ) の +.Tn ASCII +文字列に戻り値を変換します。 +.Pp +.Fn MD2File +はファイルのダイジェストを計算し、 +.Fn MD2End +を使用して結果を返します。 +ファイルを開けない場合はヌルポインタを返します。 +.Fn MD2Data +はメモリに存在するデータのダイジェストを計算し、 +.Fn MD2End +を使用して結果を返します。 +.Pp +.Fn MD2End , +.Fn MD2File , +.Fn MD2Data +の使用にあたっては +.Ar buf +を NULL ポインタとすることができます。 +この場合は +.Xr malloc 3 +で割り当てられた文字列が返されるので、使用後は +.Xr free 3 +で割り当てを解除しなければなりません。 +.Ar buf +が NULL でない時は、少なくとも 33 文字分のバッファを +指していなければなりません。 +.Sh 関連項目 +.Xr md2 3 , +.Xr md4 3 , +.Xr md5 3 +.Rs +.%A B. Kaliski +.%T The MD2 Message-Digest Algorithm +.%O RFC 1319 +.Re +.Rs +.%A R. Rivest +.%T The MD4 Message-Digest Algorithm +.%O RFC 1186 +.Re +.Rs +.%A R. Rivest +.%T The MD5 Message-Digest Algorithm +.%O RFC 1321 +.Re +.Rs +.%A RSA Laboratories +.%T Frequently Asked Questions About today's Cryptography +.Re +.Sh 作者 +オリジナルの MD2 ルーチンは、 +.Tn RSA +Data Security 社によって開発され、 +上記のリファレンスで公開されました。 +このコードは、 +.An Poul-Henning Kamp Aq phk@login.dkuug.dk +により、この実装から直接引き出されました。 +.Pp +Phk ristede runen. +.Sh 歴史 +この関数は、 +.Fx 2.0 +に現れました。 +.Pp +.Sh バグ +同じハッシュ値を持つような 2 つのファイルを見つける方法、 +または特定のハッシュ値を持つようなファイルを見つける方法は +知られていません。 +一方、そのような方法が存在しないという保証もありません。 +.Pp +MD2 は、プライバシが重要なメールに使用する場合のみライセンス供与されます。 +その他の場合は MD4 か MD5 を使用してください。 +.Pp +.Sh COPYRIGHT +Copyright (C) 1990-2, RSA Data Security, Inc. Created 1990. All +rights reserved. +.Pp +このソフトウェアの複製や使用のためのライセンスは、 +このソフトウェアやこの関数について言及したり参照したりする +すべての資料で +「 RSA Data Security 社の MD2 メッセージダイジェストアルゴリズム」 +であることが明示されていれば、 +プライバシが重要となる非営利インターネットメールに供与されます。 +.Pp +RSA Data Security 社は、このソフトウェアの商業性、またはこの +特定の目的に対するこのソフトウェアの適合性について表明しません。 +このソフトウェアは、いかなる種類の、明示的または暗黙的な保証もなく、 +「現状のまま」で提供されます。 +.Pp +この警告は、この文書かソフトウェア、またはその両方のすべてのコピーに +掲載しなければなりません。 diff --git a/ja_JP.eucJP/man/man3/md4.3 b/ja_JP.eucJP/man/man3/md4.3 new file mode 100644 index 0000000000..8297abd454 --- /dev/null +++ b/ja_JP.eucJP/man/man3/md4.3 @@ -0,0 +1,167 @@ +.\" +.\" ---------------------------------------------------------------------------- +.\" "THE BEER-WARE LICENSE" (Revision 42): +.\" wrote this file. As long as you retain this notice you +.\" can do whatever you want with this stuff. If we meet some day, and you think +.\" this stuff is worth it, you can buy me a beer in return. Poul-Henning Kamp +.\" ---------------------------------------------------------------------------- +.\" +.\" $Id: md4.3,v 1.1.1.1 1999-12-09 16:26:00 kuriyama Exp $ +.\" +.Dd October 9, 1996 +.Dt MD4 3 +.Os FreeBSD 2 +.Sh 名称 +.Nm MD4Init , +.Nm MD4Update , +.Nm MD4Pad , +.Nm MD4Final , +.Nm MD4End , +.Nm MD4File , +.Nm MD4Data +.Nd RSA Data Security 社の ``MD4'' メッセージダイジェストを計算する +.Sh 書式 +.Fd #include +.Fd #include +.Ft void +.Fn MD4Init "MD4_CTX *context" +.Ft void +.Fn MD4Update "MD4_CTX *context" "const unsigned char *data" "unsigned int len" +.Ft void +.Fn MD4Pad "MD4_CTX *context" +.Ft void +.Fn MD4Final "unsigned char digest[16]" "MD4_CTX *context" +.Ft "char *" +.Fn MD4End "MD4_CTX *context" "char *buf" +.Ft "char *" +.Fn MD4File "const char *filename" "char *buf" +.Ft "char *" +.Fn MD4Data "const unsigned char *data" "unsigned int len" "char *buf" +.Sh 解説 +MD4 関数群は、任意の数の入力バイトについて +128 ビット暗号チェックサム ( ダイジェスト ) を計算します。 +暗号チェックサムは一方向ハッシュ関数なので +特定出力に対応する入力を ( 徹底的な検索を除いて ) 見つけることはできません。 +結果的には入力データの「指紋」しか見つからず、 +実際の入力が明らかになることはありません。 +.Pp +MD2 は最も遅く、 MD4 は最も高速で、 MD5 はその中間です。 +MD2 は、プライバシが重要なメールのみで使用できます。 +MD4 は弱すぎると酷評されたため、 +「安全ベルトを付けた MD4」として MD5 が開発されました。 +疑わしいときは MD5 を使用してください。 +.Pp +.Fn MD4Init , +.Fn MD4Update , +.Fn MD4Final +関数は中心的な関数群です。 +MD4_CTX を割り当て、 +.Fn MD4Init +で初期化し、 +.Fn MD4Update +でデータを処理し、最後に +.Fn MD4Final +で結果を取り出してください。 +.Pp +.Fn MD4Pad +は、計算を終了しないで +.Fn MD4Final +と同じ方法でメッセージデータをつめることができます。 +.Pp +.Fn MD4End +は +.Fn MD4Final +のラッパで、 +16 進 128 ビットを表現する +33 文字 ( 最後の「 \e0 」を含む ) の +.Tn ASCII +文字列に戻り値を変換します。 +.Pp +.Fn MD4File +はファイルのダイジェストを計算し、 +.Fn MD4End +を使用して結果を返します。 +ファイルを開けない場合はヌルポインタを返します。 +.Fn MD4Data +はメモリに存在するデータのダイジェストを計算し、 +.Fn MD4End +を使用して結果を返します。 +.Pp +.Fn MD4End , +.Fn MD4File , +.Fn MD4Data +の使用にあたっては +.Ar buf +を NULL ポインタとすることができます。 +この場合は +.Xr malloc 3 +で割り当てられた文字列が返されるので、使用後は +.Xr free 3 +で割り当てを解除しなければなりません。 +.Ar buf +が NULL でない時は、少なくとも 33 文字分のバッファを +指していなければなりません。 +.Sh 関連項目 +.Xr md2 3 , +.Xr md4 3 , +.Xr md5 3 +.Rs +.%A B. Kaliski +.%T The MD2 Message-Digest Algorithm +.%O RFC 1319 +.Re +.Rs +.%A R. Rivest +.%T The MD4 Message-Digest Algorithm +.%O RFC 1186 +.Re +.Rs +.%A R. Rivest +.%T The MD5 Message-Digest Algorithm +.%O RFC 1321 +.Re +.Rs +.%A RSA Laboratories +.%T Frequently Asked Questions About today's Cryptography +.Re +.Sh 作者 +オリジナルの MD4 ルーチンは、 +.Tn RSA +Data Security 社によって開発され、 +上記のリファレンスで公開されました。 +このコードは、 +.An Poul-Henning Kamp Aq phk@login.dkuug.dk +により、この実装から直接引き出されています。 +.Pp +Phk ristede runen. +.Sh 歴史 +この関数は、 +.Fx 2.0 +で現れました。 +.Sh バグ +同じハッシュ値を持つような 2 つのファイルを見つける方法、 +または特定のハッシュ値を持つようなファイルを見つける方法は +知られていません。 +一方、そのような方法が存在しないという保証もありません。 +.Pp +MD2 は、プライバシが重要なメールに使用する場合のみライセンス供与されます。 +その他の場合は MD4 か MD5 を使用してください。 +.Pp +.Sh COPYRIGHT +Copyright (C) 1991-2, RSA Data Security, Inc. Created 1991. All +rights reserved. +.Pp +このソフトウェアの複製や使用のためのライセンスは、 +このソフトウェアやこの関数について言及したり参照したりする +すべての資料で +「 RSA Data Security 社の MD2 メッセージダイジェストアルゴリズム」 +であることが明示されていれば、 +プライバシが重要となる非営利インターネットメールに供与されます。 +.Pp +RSA Data Security 社は、このソフトウェアの商業性、またはこの +特定の目的に対するこのソフトウェアの適合性について表明しません。 +このソフトウェアは、いかなる種類の、明示的または暗黙的な保証もなく、 +「現状のまま」で提供されます。 +.Pp +この警告は、この文書かソフトウェア、またはその両方のすべてのコピーに +掲載しなければなりません。 diff --git a/ja_JP.eucJP/man/man3/md5.3 b/ja_JP.eucJP/man/man3/md5.3 new file mode 100644 index 0000000000..d51a2f2ac0 --- /dev/null +++ b/ja_JP.eucJP/man/man3/md5.3 @@ -0,0 +1,167 @@ +.\" +.\" ---------------------------------------------------------------------------- +.\" "THE BEER-WARE LICENSE" (Revision 42): +.\" wrote this file. As long as you retain this notice you +.\" can do whatever you want with this stuff. If we meet some day, and you think +.\" this stuff is worth it, you can buy me a beer in return. Poul-Henning Kamp +.\" ---------------------------------------------------------------------------- +.\" +.\" $Id: md5.3,v 1.1.1.1 1999-12-09 16:26:00 kuriyama Exp $ +.\" +.Dd October 9, 1996 +.Dt MD5 3 +.Os FreeBSD 2 +.Sh 名称 +.Nm MD5Init , +.Nm MD5Update , +.Nm MD5Pad , +.Nm MD5Final , +.Nm MD5End , +.Nm MD5File , +.Nm MD5Data +.Nd RSA Data Security 社の ``MD5'' メッセージダイジェストを計算する +.Sh 書式 +.Fd #include +.Fd #include +.Ft void +.Fn MD5Init "MD5_CTX *context" +.Ft void +.Fn MD5Update "MD5_CTX *context" "const unsigned char *data" "unsigned int len" +.Ft void +.Fn MD5Pad "MD5_CTX *context" +.Ft void +.Fn MD5Final "unsigned char digest[16]" "MD5_CTX *context" +.Ft "char *" +.Fn MD5End "MD5_CTX *context" "char *buf" +.Ft "char *" +.Fn MD5File "const char *filename" "char *buf" +.Ft "char *" +.Fn MD5Data "const unsigned char *data" "unsigned int len" "char *buf" +.Sh 解説 +MD5 関数群は、任意の数の入力バイトについて +128 ビット暗号チェックサム ( ダイジェスト ) を計算します。 +暗号チェックサムは一方向ハッシュ関数なので +特定出力に対応する入力を ( 徹底的な検索を除いて) 見つけることはできません。 +結果的には入力データの「指紋」しか見つからず、 +実際の入力が明らかになることはありません。 +.Pp +MD2 は最も遅く、 MD4 は最も高速で、 MD5 はその中間です。 +MD2 は、プライバシが重要なメールのみで使用できます。 +MD4 は弱すぎると酷評されたため、 +「安全ベルトを付けた MD4」として MD5 が開発されました。 +疑わしいときは MD5 を使用してください。 +.Pp +.Fn MD5Init , +.Fn MD5Update , +.Fn MD5Final +関数は中心的な関数群です。 +MD5_CTX を割り当て、 +.Fn MD5Init +で初期化し、 +.Fn MD5Update +でデータを処理し、最後に +.Fn MD5Final +で結果を取り出してください。 +.Pp +.Fn MD5Pad +は、計算を終了しないで +.Fn MD5Final +と同じ方法でメッセージデータをつめることができます。 +.Pp +.Fn MD5End +は +.Fn MD5Final +のラッパで、 +16 進 128 ビットを表現する +33 文字 ( 最後の「 \e0 」を含む ) の +.Tn ASCII +文字列に戻り値を変換します。 +.Pp +.Fn MD5File +はファイルのダイジェストを計算し、 +.Fn MD5End +を使用して結果を返します。 +ファイルを開けない場合はヌルポインタを返します。 +.Fn MD5Data +はメモリに存在するデータのダイジェストを計算し、 +.Fn MD5End +を使用して結果を返します。 +.Pp +.Fn MD5End , +.Fn MD5File , +.Fn MD5Data +の使用にあたっては +.Ar buf +を NULL ポインタとすることができます。 +この場合は +.Xr malloc 3 +で割り当てられた文字列が返されるので、使用後は +.Xr free 3 +で割り当てを解除しなければなりません。 +.Ar buf +が NULL でない時は、少なくとも 33 文字分のバッファを +指していなければなりません。 +.Sh 関連項目 +.Xr md2 3 , +.Xr md4 3 , +.Xr md5 3 +.Rs +.%A B. Kaliski +.%T The MD2 Message-Digest Algorithm +.%O RFC 1319 +.Re +.Rs +.%A R. Rivest +.%T The MD4 Message-Digest Algorithm +.%O RFC 1186 +.Re +.Rs +.%A R. Rivest +.%T The MD5 Message-Digest Algorithm +.%O RFC 1321 +.Re +.Rs +.%A RSA Laboratories +.%T Frequently Asked Questions About today's Cryptography +.Re +.Sh 作者 +オリジナルの MD5 ルーチンは、 +.Tn RSA +Data Security 社によって開発され、 +上記のリファレンスで公開されました。 +このコードは、 +.An Poul-Henning Kamp Aq phk@login.dkuug.dk +により、この実装から直接引き出されています。 +.Pp +Phk ristede runen. +.Sh 歴史 +この関数は、 +.Fx 2.0 +で現れました。 +.Sh バグ +同じハッシュ値を持つような 2 つのファイルを見つける方法、 +または特定のハッシュ値を持つようなファイルを見つける方法は +知られていません。 +一方、そのような方法が存在しないという保証もありません。 +.Pp +MD2 は、プライバシが重要なメールに使用する場合のみライセンス供与されます。 +その他の場合は MD4 か MD5 を使用してください。 +.Pp +.Sh COPYRIGHT +Copyright (C) 1991-2, RSA Data Security, Inc. Created 1991. All +rights reserved. +.Pp +このソフトウェアの複製や使用のためのライセンスは、 +このソフトウェアやこの関数について言及したり参照したりする +すべての資料で +「 RSA Data Security 社の MD2 メッセージダイジェストアルゴリズム」 +であることが明示されていれば、 +プライバシが重要となる非営利インターネットメールに供与されます。 +.Pp +RSA Data Security 社は、このソフトウェアの商業性、またはこの +特定の目的に対するこのソフトウェアの適合性について表明しません。 +このソフトウェアは、いかなる種類の、明示的または暗黙的な保証もなく、 +「現状のまま」で提供されます。 +.Pp +この警告は、この文書かソフトウェア、またはその両方のすべてのコピーに +掲載しなければなりません。 diff --git a/ja_JP.eucJP/man/man3/memccpy.3 b/ja_JP.eucJP/man/man3/memccpy.3 new file mode 100644 index 0000000000..8bf4035a17 --- /dev/null +++ b/ja_JP.eucJP/man/man3/memccpy.3 @@ -0,0 +1,73 @@ +.\" Copyright (c) 1990, 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. +.\" +.\" @(#)memccpy.3 8.1 (Berkeley) 6/9/93 +.\" +.Dd June 9, 1993 +.Dt MEMCCPY 3 +.Os +.Sh 名称 +.Nm memccpy +.Nd 文字が見つかるまでバイト列をコピーする +.Sh 書式 +.Fd #include +.Ft void * +.Fn memccpy "void *dst" "const void *src" "int c" "size_t len" +.Sh 解説 +.Fn memccpy +関数は、バイト列 +.Fa src +からバイト列 +.Fa dst +に複数バイトをコピーします。 +文字 +.Fa c +(unsigned char に変換されたものとして ) +がバイト列 +.Fa src +中に見つかるとコピーは中断し、バイト列 +.Fa dst +中の +.Fa c +のコピーの後方のバイトを指すポインタが返されます。 +そうでない時は +.Fa len +個のバイトがコピーされ、 NULL ポインタが返されます。 +.Sh 関連項目 +.Xr bcopy 3 , +.Xr memcpy 3 , +.Xr memmove 3 , +.Xr strcpy 3 +.Sh 歴史 +.Fn memccpy +関数は、 +.Bx 4.4 +で最初に現れました。 diff --git a/ja_JP.eucJP/man/man3/memchr.3 b/ja_JP.eucJP/man/man3/memchr.3 new file mode 100644 index 0000000000..ab2cf31c4a --- /dev/null +++ b/ja_JP.eucJP/man/man3/memchr.3 @@ -0,0 +1,78 @@ +.\" Copyright (c) 1990, 1991, 1993 +.\" 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. +.\" +.\" @(#)memchr.3 8.1 (Berkeley) 6/4/93 +.\" +.Dd June 4, 1993 +.Dt MEMCHR 3 +.Os +.Sh 名称 +.Nm memchr +.Nd バイト列中のバイトの位置を示す +.Sh 書式 +.Fd #include +.Ft void * +.Fn memchr "const void *b" "int c" "size_t len" +.Sh 解説 +.Fn memchr +関数は、 +バイト列 +.Fa b +中で +(unsigned char に変換された ) +.Fa c +が最初に見つかった位置を示します。 +.Sh 戻り値 +.Fn memchr +関数は、該当するバイトのポインタを返します。 +該当するバイトが +.Fa len +個のバイト中に存在しない時は NULL を返します。 +.Sh 関連項目 +.Xr index 3 , +.Xr rindex 3 , +.Xr strchr 3 , +.Xr strcspn 3 , +.Xr strpbrk 3 , +.Xr strrchr 3 , +.Xr strsep 3 , +.Xr strspn 3 , +.Xr strstr 3 , +.Xr strtok 3 +.Sh 規格 +.Fn memchr +関数は、 +.St -ansiC +に準拠しています。 diff --git a/ja_JP.eucJP/man/man3/memcmp.3 b/ja_JP.eucJP/man/man3/memcmp.3 new file mode 100644 index 0000000000..f6634ee8ff --- /dev/null +++ b/ja_JP.eucJP/man/man3/memcmp.3 @@ -0,0 +1,80 @@ +.\" Copyright (c) 1990, 1991, 1993 +.\" 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. +.\" +.\" @(#)memcmp.3 8.1 (Berkeley) 6/4/93 +.\" $Id: memcmp.3,v 1.1.1.1 1999-12-09 16:26:00 kuriyama Exp $ +.\" +.Dd June 4, 1993 +.Dt MEMCMP 3 +.Os +.Sh 名称 +.Nm memcmp +.Nd バイト列を比較する +.Sh 書式 +.Fd #include +.Ft int +.Fn memcmp "const void *b1" "const void *b2" "size_t len" +.Sh 解説 +.Fn memcmp +関数は、バイト列 +.Fa b1 +をバイト列 +.Fa b2 +と比較します。 +両方のバイト列は、 +.Fa len +の長さのバイト列であるとみなされます。 +.Sh 戻り値 +.Fn memcmp +関数は、2 つのバイト列が一致する場合、ゼロを返します。 +そうでない時は、最初に一致しなかった 2 つのバイト間の差 +(unsigned char の値として扱われます。たとえば +.Sq Li \e\200 +は +.Sq Li \&\e0 +よりも大きくなります。 ) +が返されます。 +長さがゼロのバイト列は常に一致します。 +.Sh 関連項目 +.Xr bcmp 3 , +.Xr strcasecmp 3 , +.Xr strcmp 3 , +.Xr strcoll 3 , +.Xr strxfrm 3 +.Sh 規格 +.Fn memcmp +関数は、 +.St -ansiC +に準拠しています。 diff --git a/ja_JP.eucJP/man/man3/memcpy.3 b/ja_JP.eucJP/man/man3/memcpy.3 new file mode 100644 index 0000000000..b81f5e1a91 --- /dev/null +++ b/ja_JP.eucJP/man/man3/memcpy.3 @@ -0,0 +1,87 @@ +.\" Copyright (c) 1990, 1991, 1993 +.\" 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. +.\" +.\" @(#)memcpy.3 8.1 (Berkeley) 6/4/93 +.\" +.Dd June 4, 1993 +.Dt MEMCPY 3 +.Os +.Sh 名称 +.Nm memcpy +.Nd バイト列のコピー +.Sh 書式 +.Fd #include +.Ft void * +.Fn memcpy "void *dst" "const void *src" "size_t len" +.Sh 解説 +.Fn memcpy +関数は、バイト列 +.Fa src +からバイト列 +.Fa dst +に +.Fa len +個のバイトを +コピーします。 +.Sh 戻り値 +.Fn memcpy +関数は、 +.Fa dst +のオリジナルの値を返します。 +.Pp +.Sh 関連項目 +.Xr bcopy 3 , +.Xr memccpy 3 , +.Xr memmove 3 , +.Xr strcpy 3 +.Pp +.Sh 規格 +.Fn memcpy +関数は、 +.St -ansiC +に準拠しています。 +.Pp +.Sh バグ +この実装では、 +.Fn memcpy +が +.Xr bcopy 3 +を用いて実現されているため、バイト列が重なりあっていても構いません。 +他の実装では、重なりあっているバイト列をコピーしようとすると +びっくりするかもしれません。 +もっと簡単な解決策は、 +.Fn memcpy +を使用しないことです。 +.Pp diff --git a/ja_JP.eucJP/man/man3/memmove.3 b/ja_JP.eucJP/man/man3/memmove.3 new file mode 100644 index 0000000000..e7b31f7cc1 --- /dev/null +++ b/ja_JP.eucJP/man/man3/memmove.3 @@ -0,0 +1,78 @@ +.\" Copyright (c) 1990, 1991, 1993 +.\" 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. +.\" +.\" @(#)memmove.3 8.1 (Berkeley) 6/4/93 +.\" +.Dd June 4, 1993 +.Dt MEMMOVE 3 +.Os +.Sh 名称 +.Nm memmove +.Nd バイトストリングをコピーします。 +.Sh 書式 +.Fd #include +.Ft void * +.Fn memmove "void *dst" "const void *src" "size_t len" +.Sh 解説 +.Fn memmove +関数は、ストリング +.Fa src +からストリング +.Fa dst +に +.Fa len +バイトを +コピーします。 +2 つのストリングがオーバーラップすることがありますが、コピー +は問題を起こすような方法では行なわれません。 +.Pp +.Sh 戻り値 +.Fn memmove +関数は、 +.Fa dst +のオリジナルの値を戻します。 +.Pp +.Sh 関連項目 +.Xr bcopy 3 , +.Xr memccpy 3 , +.Xr memcpy 3 , +.Xr strcpy 3 +.Pp +.Sh 規格 +.Fn memmove +関数は、 +.St -ansiC +に準拠しています。 +.\"kuma 1999-11-10 diff --git a/ja_JP.eucJP/man/man3/memory.3 b/ja_JP.eucJP/man/man3/memory.3 new file mode 100644 index 0000000000..62a2a25a0f --- /dev/null +++ b/ja_JP.eucJP/man/man3/memory.3 @@ -0,0 +1,75 @@ +.\" Copyright (c) 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. +.\" +.\" @(#)memory.3 8.1 (Berkeley) 6/4/93 +.\" $Id: memory.3,v 1.1.1.1 1999-12-09 16:26:00 kuriyama Exp $ +.\" +.Dd June 4, 1993 +.Dt MEMORY 3 +.Os BSD 4 +.Sh 名称 +.Nm malloc , +.Nm free , +.Nm realloc , +.Nm calloc , +.Nm alloca +.Nd 一般的なメモリ割り当て操作 +.Sh 書式 +.Fd #include +.Ft void * +.Fn malloc "size_t size" +.Ft void +.Fn free "void *ptr" +.Ft void * +.Fn realloc "void *ptr" "size_t size" +.Ft void * +.Fn calloc "size_t nelem" "size_t elsize" +.Ft void * +.Fn alloca "size_t size" +.Sh 解説 +この関数は、呼出しプロセスのメモリの割り当てと解放を行ないます。 +詳細については、それぞれのマニュアルページを参照してください。 +.Pp +.Sh 関連項目 +.Xr alloca 3 , +.Xr calloc 3 , +.Xr free 3 , +.Xr malloc 3 , +.Xr realloc 3 +.Pp +.Sh 規格 +この関数は、 +.Fn alloca +を除き、 +.St -ansiC +に +準拠しています。 +.\"kuma 1999-11-10 diff --git a/ja_JP.eucJP/man/man3/memset.3 b/ja_JP.eucJP/man/man3/memset.3 new file mode 100644 index 0000000000..69325453f6 --- /dev/null +++ b/ja_JP.eucJP/man/man3/memset.3 @@ -0,0 +1,70 @@ +.\" Copyright (c) 1990, 1991, 1993 +.\" 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. +.\" +.\" @(#)memset.3 8.1 (Berkeley) 6/4/93 +.\" +.Dd June 4, 1993 +.Dt MEMSET 3 +.Os +.Sh 名称 +.Nm memset +.Nd バイトストリングにバイトを書き込む +.Sh 書式 +.Fd #include +.Ft void * +.Fn memset "void *b" "int c" "size_t len" +.Sh 解説 +.Fn memset +関数は、値 +.Fa c +(符号なしキャラクタに変換) の +.Fa len +バイトを +ストリング +.Fa b +に書き込みます。 +.Sh 戻り値 +.Fn memset +関数は、最初の引数を戻します。 +.Pp +.Sh 関連項目 +.Xr bzero 3 , +.Xr swab 3 +.Sh 規格 +.Fn memset +関数は、 +.St -ansiC +に準拠しています。 +.\"kuma 1999-11-10 diff --git a/ja_JP.eucJP/man/man3/mktemp.3 b/ja_JP.eucJP/man/man3/mktemp.3 new file mode 100644 index 0000000000..287c6b7032 --- /dev/null +++ b/ja_JP.eucJP/man/man3/mktemp.3 @@ -0,0 +1,174 @@ +.\" Copyright (c) 1989, 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. +.\" +.\" @(#)mktemp.3 8.1 (Berkeley) 6/4/93 +.\" +.Dd February 11, 1998 +.Dt MKTEMP 3 +.Os +.Sh 名称 +.Nm mktemp +.Nd 一意な一時ファイル名を作成 +.Sh 書式 +.Fd #include +.Ft char * +.Fn mktemp "char *template" +.Ft int +.Fn mkstemp "char *template" +.Ft char * +.Fn mkdtemp "char *template" +.Sh 解説 +.Fn mktemp +関数は、特定ファイル名テンプレートの一部を書き換えて +ファイル名を作成します。このファイル名は一意的で、 +アプリケーションでの使用に +適合しています。テンプレートとしては、 +/tmp/temp.XXXX +のように、任意の +ファイル名に数桁の文字 +.Ql X +が付いているものが使用されます。最後の +.Ql X +は、 +現在のプロセス番号か固有な文字、またはその両方の組み合わせで置き +換えられます。 +.Fn mktemp +が戻す一意的なファイル名の数は、 +.Ql X +の数によって決まります。 +.Ql X +が6 桁である場合、 +.Fn mktemp +は約 +26 ** 6 +とおりのファイル名を作成できます。 +.Pp +.Fn mkstemp +関数は、テンプレートを同じように置き換えて +テンプレートファイル、モード 0600 を作成し、読み書き用としてオープンした +ファイル記述子を返します。これにより、ファイルの存在を確認することと +使用するためにオープンすることとの間の競合状況を避けられます。 +.Fn mkdtemp +関数は、テンプレートを +.Xr mktemp 3 +と同じように置き換え、 +テンプレートディレクトリ、モード 0700 を作成します。 +.Sh 戻り値 +.Fn mktemp +関数と +.Fn mkdtemp +関数は、問題がない場合はテンプレートのポインタを戻し、問題がある場合は +.Dv NULL +を戻します。 +.Fn mkstemp +関数は、適切なファイルを作成できない場合に \-1 を戻します。 +どの呼出しでもエラーが発生すると、エラーコードがグローバル変数 +.Va errno +に書き込まれます。 +.Sh エラー +.Fn mkstemp +関数と +.Fn mkdtemp +関数は、以下の 1 つの値に +.Va errno +を設定します。 +.Bl -tag -width [ENOTDIR] +.It Bq Er ENOTDIR +テンプレートのパス名部分が、存在するディレクトリではない。 +.El +.Pp +.Fn mkstemp +関数と +.Fn mkdtemp +関数は、 +.Xr stat 2 +関数で規定されるどの値も +.Va errno +に設定する可能性があります。 +.Pp +.Fn mkstemp +関数は、 +.Xr open 2 +関数で規定されるどの値も +.Va errno +に設定する可能性があります。 +.Pp +.Fn mkdtemp +関数は、 +.Xr mkdir 2 +関数で規定されるどの値も +.Va errno +に設定する可能性があります。 +.Sh 注 +コアダンプに終わる問題として普通なものは、プログラマが、 +.Fn mktemp , +.Fn mkstemp , +.Fn mkdtemp +に読込み専用ストリングを渡しているために発生します。 +この問題は、 +.St -ansiC +コンパイラが普及する前に +開発されたプログラムで多く見られます。たとえば +引数 +.Qq /tmp/tempfile.XXXXXX +を指定して +.Fn mkstemp +を呼び出すと、 +.Fn mkstemp +が、指定されたストリング定数を修正しようとするので、コアダンプが +起こります。問題を起こすプログラムが、このような関数呼出しを頻繁に +行なっている場合は、メモリの書込み可能セグメントへストリング定数を +保存するようにプログラムをコンパイルすることもできます。詳細については、 +.Xr gcc 1 +を参照してください。 +.Sh バグ +システム攻撃者は、 +.Fn mktemp +が作成したファイル名を推測できます。できるかぎり +.Fn mkstemp +を使用してください。 +.Pp +.Sh 関連項目 +.Xr chmod 2 , +.Xr getpid 2 , +.Xr mkdir 2 , +.Xr open 2 , +.Xr stat 2 +.Sh 歴史 +.Fn mktemp +関数は、 +.At v7 +に追加されました。 +.Fn mkdtemp +関数は、 +.Ox 2.2 +に追加されました。 +.\"kuma 1999-11-10 diff --git a/ja_JP.eucJP/man/man3/modf.3 b/ja_JP.eucJP/man/man3/modf.3 new file mode 100644 index 0000000000..637b540863 --- /dev/null +++ b/ja_JP.eucJP/man/man3/modf.3 @@ -0,0 +1,72 @@ +.\" Copyright (c) 1991, 1993 +.\" 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. +.\" +.\" @(#)modf.3 8.1 (Berkeley) 6/4/93 +.\" +.Dd June 4, 1993 +.Dt MODF 3 +.Os +.Sh 名称 +.Nm modf +.Nd 浮動小数からの符号付きの整数値/小数値取り出し +.Sh 書式 +.Fd #include +.Ft double +.Fn modf "double value" "double *iptr" +.Sh 解説 +.Fn modf +関数は、整数部分と小数部分に引数 +.Fa value +を分割します。整数部分と +小数部分とは、引数と同じ符号になります。整数部分は、 +.Fa iptr +が指すオブジェクトに +.Em double +として保存されます。 +.Sh 戻り値 +.Fn modf +関数は、 +.Fa value +の符号付き小数部分を戻します。 +.Sh 関連項目 +.Xr frexp 3 , +.Xr ldexp 3 , +.Xr math 3 +.Sh 規格 +.Fn modf +関数は、 +.St -ansiC +に準拠しています。 +.\"kuma 1999-11-12 diff --git a/ja_JP.eucJP/man/man3/moncontrol.3 b/ja_JP.eucJP/man/man3/moncontrol.3 new file mode 100644 index 0000000000..5e295c29e4 --- /dev/null +++ b/ja_JP.eucJP/man/man3/moncontrol.3 @@ -0,0 +1,105 @@ +.\" Copyright (c) 1980, 1991, 1992, 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. +.\" +.\" @(#)moncontrol.3 8.1 (Berkeley) 6/4/93 +.\" +.Dd June 4, 1993 +.Dt MONCONTROL 3 +.Os BSD 4 +.Sh 名称 +.Nm moncontrol , +.Nm monstartup +.Nd 実行プロファイルの制御 +.Sh 書式 +.Fd #include +.Ft int +.Fn moncontrol "int mode" +.Ft int +.Fn monstartup "u_long *lowpc" "u_long *highpc" +.Sh 解説 +.Xr cc 1 +の +.Fl pg +オプションでコンパイルした実行可能プログラムには、 +.Xr gprof 1 +呼出しグラフ実行プロファイラの統計情報を収集するための関数呼出しが自動的に +組み込まれます。典型的なオペレーションの場合、プロファイル採取はプログラムの +起動時に始まり、プログラム呼出しが終了したときに終わります。プログラムが +終了すると、プロファイリングデータはファイル +.Em progname.gmon +に書き込まれ (progname はプログラムの名前)、 +.Xr gprof 1 +で結果が検査されます。 +.Pp +.Fn moncontrol +は、プログラムでのプロファイル取得を選択的に制御します。 +プロファイル取得は、プログラムが起動されると始まります。 +ヒストグラムティック値と関数呼び出し回数の収集を止めるには +.Fn moncontrol 0 +を使用し、ヒストグラムティック値と関数呼び出し回数の収集を再開するには +.Fn moncontrol 1 +を使用します。この機能により、特定のオペレーションのコストが計測できます。 +プログラムの終了時には、 +.Fn moncontrol +の状態に関係なく出力ファイルが作成されることに注意してください。 +.Pp +.Fl pg +でロードしていないプログラムでも、プロファイルを取得する +アドレスの範囲を指定して +.Fn monstartup +を呼び出し、プロファイリング統計情報を選択的に収集することができます。 +サンプル抽出するアドレスの範囲は、 +.Fa lowpc +と +.Fa highpc +で指定します。 +サンプル抽出される最下位アドレスは +.Fa lowpc +で、最上位アドレスは +.Fa highpc +のすぐ下になります。出力の呼出しグラフに表示されるのは、この範囲のうち、 +.Xr cc 1 +の +.Fl pg +オプションでコンパイルした関数のみですが、実行時間が計測されるのは、 +このアドレス範囲のすべての関数です。プロファイル採取は、 +.Fn monstartup +から戻ったときに始まります。 +.Sn 関連ファイル +.Bl -tag -width Pa -compact +.It Pa progname.gmon 実行データファイル +.El +.Sh 関連項目 +.Xr cc 1 , +.Xr gprof 1 , +.Xr profil 2 , +.Xr clocks 7 +.\"kuma 1999-11-12 diff --git a/ja_JP.eucJP/man/man3/mpool.3 b/ja_JP.eucJP/man/man3/mpool.3 new file mode 100644 index 0000000000..e6c1a3dae4 --- /dev/null +++ b/ja_JP.eucJP/man/man3/mpool.3 @@ -0,0 +1,212 @@ +.\" 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. +.\" +.\" @(#)mpool.3 8.1 (Berkeley) 6/4/93 +.\" $Id: mpool.3,v 1.1.1.1 1999-12-09 16:26:00 kuriyama Exp $ +.\" +.TH MPOOL 3 "June 4, 1993" +.UC 7 +.SH 名称 +mpool \- 共有メモリバッファプール +.SH 書式 +.nf +.ft B +#include +#include + +MPOOL * +mpool_open (DBT *key, int fd, pgno_t pagesize, pgno_t maxcache); + +void +mpool_filter (MPOOL *mp, void (*pgin)(void *, pgno_t, void *), +.ti +5 +void (*pgout)(void *, pgno_t, void *), void *pgcookie); + +void * +mpool_new (MPOOL *mp, pgno_t *pgnoaddr); + +void * +mpool_get (MPOOL *mp, pgno_t pgno, u_int flags); + +int +mpool_put (MPOOL *mp, void *pgaddr, u_int flags); + +int +mpool_sync (MPOOL *mp); + +int +mpool_close (MPOOL *mp); +.ft R +.fi +.SH 解説 +.IR Mpool +は、ページを基準にした、ファイルのバッファ管理を行なう +ライブラリインタフェースです。バッファはプロセス間で共有できます。 +.PP +関数 +.I mpool_open +はメモリプールを初期化します。引数 +.I key +は、バッファ +を共有する複数のプロセス間でネゴシエートするために使われるバイトストリングです。 +ファイルバッファが共有メモリにマップされた場合は、同じキーを +使用しているすべてのプロセスがバッファを共有します。 +.I key +がヌルである場合、バッファはプライベートメモリにマップされます。 +引数 +.I fd +は、基礎となる +ファイルのファイル記述子で、検索可能になっている必要があります。 +.I key +がヌルではなく、すでにマップされているファイルと一致する場合、引数 +.I fd +は無視されます。 +.PP +引数 +.I pagesize +は、ファイルを分割するページのサイズ (バイト単位) です。引数 +.I maxcach +は、一度にキャッシュする、基礎となるファイルの最大ページ数です。 +この値は、ファイルのバッファを共有するプロセス数とは +関係ありませんが、ファイルを共有するプロセスが指定した最大値になります。 +.PP +関数 +.I mpool_filter +は、ページの透過的入出力処理を行ないます。 +.I pgin +関数が指定されると、保存ファイルからメモリプールにバッファを +読み込むたびに呼び出されます。 +.I pgout +関数が指定されると、保存ファイルにバッファが書き込まれるたびに +呼び出されます。どちらの関数も、 +.I pgcookie +ポインタ、ページ番号、読み書きを行なうページのポインタで呼び出されます。 +.PP +関数 +.I mpool_new +は、MPOOL ポインタとアドレスを引数として取ります。 +新しいページを割り振ることができる場合は、ページのポインタが返され、ページ番号が +.I pgnoaddr +アドレスに保存されます。割り振ることができない場合はヌルが返され、 +.I errno +が設定されます。 +.PP +関数 +.I mpool_get +は、MPOOL ポインタとページ番号を引数として取ります。 +ページが存在する場合は、ページのポインタが返されます。 +ページが存在しない場合はヌルが返され、 +.I errno +がセットされます。フラグパラメータは、今のところ使用されていません。 +.PP +関数 +.I mpool_put +は、 +.I pgaddr +が参照するページを解放します。 +.I pgaddr +は、あらかじめ +.I mpool_get +または +.I mpool_new +が返したアドレスでなければなりません。フラグの値は +以下の値の論理和によって指定されます。 +.TP +MPOOL_DIRTY ページが修正されており、保存ファイルに書き込む必要があります。 +.PP +関数 +.I mpool_put +は、正常終了時には 0 を返し、エラーのときは -1 を返します。 +.PP +関数 +.I mpool_sync +は、MPOOL ポインタに対して、変更されたすべてのページを +保存ファイルに書き込みます。 +.I mpool_sync +は、正常終了時には 0 を返し、エラーのときは -1 を返します。 +.PP +関数 +.I mpool_close +は、メモリプールクッキーに対して割り振られたメモリを解放します。 +修正されたページは、保存ファイルに書き込まれません。 +.I mpool_close +は、正常終了時には 0 を返し、エラーのときは -1 を返します。 +.SH エラー +関数 +.I mpool_open +でエラーが発生すると、ライブラリルーチン +.IR malloc (3) +で指定されたエラーの +.I errno +がセットされます。 +.PP +関数 +.I mpool_get +でエラーが発生すると、以下の +.I errno +がセットされます。 +.TP 15 +[EINVAL] +要求されたレコードが存在しない。 +.PP +関数 +.I mpool_new +と +.I mpool_get +でエラーが発生すると、ライブラリルーチン +.IR read (2) , +.IR write (2) , +.IR malloc (3) +で指定されたエラーの +.I errno +がセットされます。 +.PP +関数 +.I mpool_sync +でエラーが発生すると、ライブラリルーチン +.IR write (2) +で指定されたエラーの +.I errno +がセットされます。 +.PP +関数 +.I mpool_close +でエラーが発生すると、ライブラリルーチン +.IR free(3) +で +指定したエラーの +.I errno +がセットされます。 +.SH 関連項目 +.IR dbopen (3), +.IR btree (3), +.IR hash (3), +.IR recno (3) diff --git a/ja_JP.eucJP/man/man3/msgctl.3 b/ja_JP.eucJP/man/man3/msgctl.3 new file mode 100644 index 0000000000..df043ee3c0 --- /dev/null +++ b/ja_JP.eucJP/man/man3/msgctl.3 @@ -0,0 +1,210 @@ +.\" $NetBSD: msgctl.2,v 1.1 1995/10/16 23:49:15 jtc Exp $ +.\" +.\" Copyright (c) 1995 Frank van der Linden +.\" 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 for the NetBSD Project +.\" by Frank van der Linden +.\" 4. The name of the author may not be used to endorse or promote products +.\" derived from this software without specific prior written permission +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 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: msgctl.3,v 1.1.1.1 1999-12-09 16:26:00 kuriyama Exp $ +.\"/ +.Dd November 24, 1997 +.Dt MSGCTL 3 +.Os FreeBSD +.Sh 名称 +.Nm msgctl +.Nd メッセージ制御オペレーション +.Sh 書式 +.Fd #include +.Fd #include +.Fd #include +.Ft int +.Fn msgctl "int msqid" "int cmd" "struct msqid_ds *buf" +.Sh 解説 +.Fn msgctl +システムコールは、 +.Fa msqid +が指定するメッセージキューに対して制御オペレーションを実行します。 + +各メッセージキューには、それに関連したデータ構造体があります。 +その一部は +.Fn msgctl +で変更できます。 +.Fn msgctl +のアクションを決めるデータ構造もあります。このデータ構造体は +.Aq Pa sys/msg.h +で定義され、以下のようなメンバが含まれています (その他のメンバも +あります)。 +.Bd -literal +struct msqid_ds { + struct ipc_perm msg_perm; /* メッセージキューのパーミッションビット */ + struct msg *msg_first; /* キューの最初のメッセージ */ + struct msg *msg_last; /* キューの最後のメッセージ */ + u_long msg_cbytes; /* キューで使用しているバイト数 */ + u_long msg_qnum; /* キューで使用しているメッセージ数 */ + u_long msg_qbytes; /* キューで使用する最大バイト数 */ + pid_t msg_lspid; /* 最後の msgsnd のプロセスID */ + pid_t msg_lrpid; /* 最後の msgrcv のプロセスID */ + time_t msg_stime; /* 最後の msgsnd の時間 */ + long msg_pad1; + time_t msg_rtime; /* 最後の msgrcv の時間 */ + long msg_pad2; + time_t msg_ctime; /* 最後の msgctl の時間 */ + long msg_pad3; + long msg_pad4[4]; + }; +.Ed +.Pp +.Bf -literal +shmid_ds +.Ef +構造体の中で使用される +.Bf -literal +ipc_perm +.Ef +構造体は、 +.Aq Pa sys/ipc.h +で以下のように定義されています。 +.Bd -literal +struct ipc_perm { + ushort cuid; /* 生成者のユーザID */ + ushort cgid; /* 生成者のグループID */ + ushort uid; /* ユーザID */ + ushort gid; /* グループID */ + ushort mode; /* r/w パーミッション */ + ushort seq; /* シーケンス番号 (一意に生成された msg/sem/shm ID) */ + key_t key; /* ユーザが指定した msg/sem/shm キー */ +}; +.Ed +.Pp +.Fn msgctl +が実行するオペレーションは、以下のうちの 1 つで +.Fa cmd +で指定されます。 +.Bl -tag -width IPC_RMIDX +.It Dv IPC_STAT +メッセージキューの情報を集め、 +.Fa buf +が指す構造体に配置します。 +.It Dv IPC_SET +.Fa msqid +に関連する構造体の +.Va msg_perm.uid +フィールド、 +.Va msg_perm.gid +フィールド、 +.Va msg_perm.mode +フィールド、 +.Va msg_qbytes +フィールドの値を設定します。この値は、 +.Fa buf +が指す構造体で対応するフィールドから取られます。このオペレーションを +実行できるのは、スーパユーザ、またはメッセージキューに関連する +データ構造体の +.Va msg_perm.cuid +か +.Va msg_perm.uid +と等しい実効ユーザ ID を持つプロセスのみです。 +.Va msg_qbytes +の値を増やせるのは、スーパユーザのみです。システム制限 +( +.Aq Pa sys/msg.h +の MSGMNB) を越えた +.Va msg_qbytes +の値は、その制限に切り捨てられます。 +.It Dv IPC_RMID +.Fa msqid +が指定するメッセージキューを削除し、 +.Fa msqid +に関連する +データを破壊します。スーパユーザ、または、キューに +関連するデータ構造体の +.Va msg_perm.cuid +または +.Va msg_perm.uid +の値が、実効ユーザ ID に等しいプロセスのみが、これを実行できます。 +.El + +メッセージキューからの読込み権かメッセージキューへの書込み権 ( +.Xr msgsnd 3 +と +.Xr msgrcv 3 +参照) は、ファイルと同じように ( +.Xr chmod 2 +参照)、 +.Va msg_perm.mode +フィールドによって決まります。実効ユーザ ID は、 +.Va msg_perm.cuid +フィールドか +.Va msg_perm.uid +フィールドと一致し、実効グループ ID は、 +.Va msg_perm.cgid +か +.Va msg_perm.gid +と一致します。 +.Sh 戻り値 +問題なく終了すると 0 が戻されます。問題なく終了しないと -1 が戻され、 +グローバル変数 +.Va errno +がそのエラーを示すように設定されます。 +.Sh エラー +.Fn msgctl +は、以下のような場合にエラーとなります。 +.Bl -tag -width Er +.It Bq Er EPERM +.Fa cmd +が IPC_SET か IPC_RMID と等しく、呼出し側がスーパユーザではない場合。 +または実効ユーザ ID がメッセージキューに関連するデータ構造の +.Va msg_perm.uid +フィールドか +.Va msg_perm.cuid +フィールドと一致しない場合。 + +IPC_SET を用いて +.Va msg_qbytes +の値を上げようとしたが、呼出し側がスーパユーザでない場合。 +.It Bq Er EACCES +コマンドが IPC_STAT であるが、このメッセージキューの +読込み権が呼出し側にない場合。 +.It Bq Er EINVAL +.Fa msqid +が正しいメッセージキュー ID でない場合。 + +.Va cmd +が正しいコマンドでない場合。 +.It Bq Er EFAULT +.Fa buf +が正しいアドレスを指定していない場合。 +.El +.Sh 関連項目 +.Xr msgget 3 , +.Xr msgrcv 3 , +.Xr msgsnd 3 +.Sh 歴史 +メッセージキューは、 +AT&T Unix System V +の最初のリリースに追加されました。 +.\"kuma 1999-11-12 diff --git a/ja_JP.eucJP/man/man3/msgget.3 b/ja_JP.eucJP/man/man3/msgget.3 new file mode 100644 index 0000000000..2a5c0d66ae --- /dev/null +++ b/ja_JP.eucJP/man/man3/msgget.3 @@ -0,0 +1,139 @@ +.\" $NetBSD: msgget.2,v 1.1 1995/10/16 23:49:19 jtc Exp $ +.\" +.\" Copyright (c) 1995 Frank van der Linden +.\" 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 for the NetBSD Project +.\" by Frank van der Linden +.\" 4. The name of the author may not be used to endorse or promote products +.\" derived from this software without specific prior written permission +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 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. +.\"/ +.Dd August 17, 1995 +.Dt MSGGET 3 +.Os FreeBSD +.Sh 名称 +.Nm msgget +.Nd メッセージキューの取得 +.Sh 書式 +.Fd #include +.Fd #include +.Fd #include +.Ft int +.Fn msgget "key_t key" "int msgflg" +.Sh 解説 +.Fn msgget +は、 +.Fa key +に関連するメッセージキュー ID を戻します。メッセージキュー ID は、 +0 より大きい一意的な整数です。 +.Pp +メッセージキューは、 +.Fa key +が +.Dv IPC_PRIVATE +と等しい場合、または +.Fa key +に関連するメッセージキュー ID が存在せず、かつ、 +.Dv IPC_CREAT +ビットが +.Fa msgflg +で設定されている場合に作成されます。 +.Pp +新しいメッセージキューが作成された場合、関連するデータ構造 ( +.Fa msqid_ds +構造体。 +.Xr msgctl 3 +参照) は、以下のように初期化されます。 +.Bl -bullet +.It +.Va msg_perm.cuid +と +.Va msg_perm.uid +は、呼び出しプロセスの実効ユーザ ID に設定されます。 +.It +.Va msg_perm.gid +と +.Va msg_perm.cgid +は、呼び出しプロセスの実効グループ ID に設定されます。 +.It +.Va msg_perm.mode +は、 +.Fa msgflg +の下位 9 ビットが設定されます。 +.It +.Va msg_cbytes , +.Va msg_qnum , +.Va msg_lspid , +.Va msg_lrpid , +.Va msg_rtime , +.Va msg_stime +には 0 が設定されます。 +.It +.Va msg_qbytes +は、キューのバイト数 +.Pf ( Dv MSGMNB ) +についてのシステムの最大値が設定されます。 +.It +.Va msg_ctime +は、現在の時刻に設定されます。 +.Sh 戻り値 +問題なく終了すると、正のメッセージキュー ID が戻されます。問題なく +終了しないと -1 が戻され、グローバル変数 +.Va errno +がそのエラーを示すように設定されます。 +.Sh エラー +.Bl -tag -width Er +.It Bq Er EACESS +メッセージキューが +.Fa key +とすでに関連していますが、呼出し側にアクセス権がありません。 +.It Bq Er EEXIST +.Dv IPC_CREAT +と +.Dv IPC_EXCL +の両方が +.Fa msgflg +で設定されており、メッセージキューが +.Fa key +とすでに関連しています。 +.It Bq Er ENOSPC +メッセージキューの数に関するシステム制限に達しているため、 +新しいメッセージキューを作成できません。 +.It Bq Er ENOENT +.Fa msgflg +に +.Dv IPC_CREAT +が設定されていない状況で、 +.Fa key +に関連するメッセージキューが見つかりません。 +.Sh 関連項目 +.Xr msgctl 3 , +.Xr msgrcv 3 , +.Xr msgsnd 3 +.Pp +.Sh 歴史 +メッセージキューは、 +AT&T Unix System V +の最初のリリースに追加されました。 +.\"kuma 1999-11-12 diff --git a/ja_JP.eucJP/man/man3/msgrcv.3 b/ja_JP.eucJP/man/man3/msgrcv.3 new file mode 100644 index 0000000000..966275c8b7 --- /dev/null +++ b/ja_JP.eucJP/man/man3/msgrcv.3 @@ -0,0 +1,215 @@ +.\" $NetBSD: msgrcv.2,v 1.1 1995/10/16 23:49:20 jtc Exp $ +.\" +.\" Copyright (c) 1995 Frank van der Linden +.\" 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 for the NetBSD Project +.\" by Frank van der Linden +.\" 4. The name of the author may not be used to endorse or promote products +.\" derived from this software without specific prior written permission +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 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: msgrcv.3,v 1.1.1.1 1999-12-09 16:26:00 kuriyama Exp $ +.\" +.\"/ +.Dd November 24, 1997 +.Dt MSGRCV 3 +.Os FreeBSD +.Sh 名称 +.Nm msgrcv +.Nd メッセージキューからメッセージを受信 +.Sh 書式 +.Fd #include +.Fd #include +.Fd #include +.Ft int +.Fn msgrcv "int msqid" "void *msgp" "size_t msgsz" "long msgtyp" "int msgflg" +.Sh 解説 +.Fn msgrcv +関数は、 +.Fa msqid +で指定したメッセージキューからメッセージを受信し、 +.Fa msgp +が指す構造体に配置します。この構造体は、以下のメンバから +構成されている必要があります。 +.Bd -literal + long mtype; /* メッセージタイプ */ + char mtext[1]; /* メッセージ本体 */ +.Ed +.Pp +.Va mtype +は 0 より大きい整数で、メッセージの選択に使用されます。 +.Va mtext +はバイトの配列で、システム制限 +.Pf ( Dv MSGMAX ) +までのサイズです。 +.Pp +.Fa msgtyp +の値には以下のような意味があります。 +.Bl -bullet +.It +.Fa msgtyp +が 0 より大きい場合、タイプが +.Fa msgtyp +である最初のメッセージが受信されます。 +.It +.Fa msgtyp +が 0 と等しい場合、キューの最初のメッセージが受信されます。 +.It +.Fa msgtyp +が 0 より小さい場合、最低メッセージタイプが +.Fa msgtyp +の絶対値以下であるメッセージのうち最初のものが受信されます。 +.El +.Pp +.Fa msgsz +は、要求したメッセージの最大長を指定します。受信したメッセージが +.Fa msgsz +より長い場合、 +.Fa msgflg +で +.Dv MSG_NOERROR +フラグが設定されていると、メッセージはエラー通知なしで切り捨てられます。 +.Dv MSG_NOERROR +フラグが設定されていないと、エラーが戻されます。 +.Pp +.Fa msqid +が指定するメッセージキューに、一致するメッセージが存在しない場合、 +.Fn msgrcv +の動作は、 +.Fa msgflg +で +.Dv IPC_NOWAIT +フラグが設定されているかどうかによって決まります。 +.Dv IPC_NOWAIT +が設定されていると、 +.Fn msgrcv +はすぐに -1 を戻し、 +.Va errno +を +.Er EAGAIN +に設定します。 +.Dv IPC_NOWAIT +が設定されていないと、呼び出しプロセスは、以下の状態になるまでブロック +されます。 +.Bl -bullet +.It +要求されたタイプのメッセージがメッセージキューで +使用できるようになるまで。 +.It +メッセージキューが削除されるまで。この場合は -1 が戻され、 +.Va errno +が +.Er EINVAL +に設定されます。 +.It +シグナルが受信されるまで。この場合は -1 が戻され、 +.Va errno +が +.Er EINTR +に設定されます。 +.El +.Pp +メッセージが問題なく受信されると、 +.Fa msqid +に関連するデータ構造体は、以下のように更新されます。 +.Bl -bullet +.It +.Va msg_cbytes +が、そのメッセージのサイズだけ小さくなります。 +.It +.Va msg_lrpid +が、呼出し側のプロセス ID に設定されます。 +.It +.Va msg_lrtime +が、現在の時刻に設定されます。 +.It +.Va msg_qnum +から 1 が引かれます。 +.El +.Sh 戻り値 +問題なく終了すると、 +.Fn msgrcv +は、 +.Fa msgp +が指す構造体の +.Va mtext +フィールドに受信したバイト数を戻します。 +問題なく終了しない場合 -1 が戻され、 +.Va errno +がそのエラーを示すように設定されます。 +.Sh エラー +.Fn msgrcv +は、以下のような場合にエラーとなります。 +.Bl -tag -width Er +.It Bq Er EINVAL +.Fa msqid +が正しいメッセージキュー ID でない場合。 +.Pp +要求されたタイプのメッセージが使用できるようになる状態を +.Fn msgrcv +が待っている間にメッセージキューが削除された場合。 +.Pp +.Fa msgsz +が 0 より小さい場合。 +.It Bq Er E2BIG +一致するメッセージが受信されたが、サイズが +.Fa msgsz +より大きく、 +.Fa msgflg +で +.Dv MSG_NOERROR +フラグが設定されていない場合。 +.It Bq Er EACCES +呼び出しプロセスに、メッセージキューの読込み権がない場合。 +.It Bq Er EFAULT +.Fa msgp +が、正しいアドレスを指していない場合。 +.It Bq Er EINTR +システムコールが、シグナルの配送によって割り込まれた場合。 +.It Bq Er EAGAIN +要求されたタイプのメッセージがメッセージキューになく、 +.Fa msgflg +で +.Dv IPC_NOWAIT +が設定されている場合。 +.Sh 関連項目 +.Xr msgctl 3 , +.Xr msgget 3 , +.Xr msgsnd 3 +.Sh バグ +.Tn NetBSD +と +.Tn FreeBSD +では、メッセージキューが削除された場合に使用すべきエラー値 +.Er EIDRM +が定義されていません。また、利用可能なメッセージがない状態で +.Dv IPC_NOWAIT +が設定されている場合に使用すべきエラー値 +.Er ENOMSG +が定義されていません。 +.Sh 歴史 +メッセージキューは、 +AT&T Unix System V +の最初のリリースに +追加されました。 +.\"kuma 1999-11-12 diff --git a/ja_JP.eucJP/man/man3/msgsnd.3 b/ja_JP.eucJP/man/man3/msgsnd.3 new file mode 100644 index 0000000000..0664c507d3 --- /dev/null +++ b/ja_JP.eucJP/man/man3/msgsnd.3 @@ -0,0 +1,169 @@ +.\" $NetBSD: msgsnd.2,v 1.1 1995/10/16 23:49:24 jtc Exp $ +.\" +.\" Copyright (c) 1995 Frank van der Linden +.\" 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 for the NetBSD Project +.\" by Frank van der Linden +.\" 4. The name of the author may not be used to endorse or promote products +.\" derived from this software without specific prior written permission +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 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: msgsnd.3,v 1.1.1.1 1999-12-09 16:26:00 kuriyama Exp $ +.\" +.\"/ +.Dd November 24, 1997 +.Dt MSGSND 3 +.Os FreeBSD +.Sh 名称 +.Nm msgsnd +.Nd メッセージキューにメッセージを送信 +.Sh 書式 +.Fd #include +.Fd #include +.Fd #include +.Ft int +.Fn msgsnd "int msqid" "void *msgp" "size_t msgsz" "int msgflg" +.Sh 解説 +.Fn msgsnd +関数は、 +.Fa msqid +で指定されているメッセージキューからメッセージ +を送信します。 +.Fa msgp +は、メッセージを含む構造体を指します。この構造体は、 +以下のメンバから構成されている必要があります。 +.Bd -literal + long mtype; /* メッセージタイプ */ + char mtext[1]; /* メッセージ本体 */ +.Ed +.Pp +.Va mtype +は 0 より大きい整数で、メッセージの選択に使用されます ( +.Xr msgrcv 3 +参照)。 +.Va mtext +はバイトの配列で、システム制限 +.Pf ( Dv MSGMAX ) +までのサイズです。 +.Pp +メッセージキューにすでに存在するバイト数と +.Fa msgsz +の合計が、メッセージキューの最大バイト数 +.Pf ( Va msg_qbytes +。 +.Xr msgctl 3 +参照) より大きい場合、またはシステム全体のすべてのキューに存在する +メッセージ数がシステム制限にすでに等しくなっている場合は、 +.Fa msgflg +が +.Fn msgsnd +の動作を決めます。 +.Fa msgflg +で +.Dv IPC_NOWAIT +マスクが設定されている場合、呼び出しはすぐに戻されます。 +.Fa msgflg +で +.Dv IPC_NOWAIT +が設定されていない場合、呼出しは以下の状態になるまでブロックされます。 +.Bl -bullet +.It +呼出しがブロックされる条件がなくなるまで。この条件がなくなると、 +メッセージが送信されます。 +.It +メッセージキューが削除されるまで。この場合は -1 が戻され、 +.Va errno +が +.Er EINVAL +に設定されます。 +.It +呼び出し側がシグナルを受信するまで。呼び出しは、 +.Va errno +が +.Er EINTR +に設定された状態で戻ります。 +.El +.Pp +呼び出しで問題が発生しなかった場合、メッセージキューに関連する +データ構造は以下のように更新されます。 +.Bl -bullet +.It +.Va msg_cbytes +が、メッセージのサイズだけ大きくなります。 +.It +.Va msg_qnum +に 1 が加えられます。 +.It +.Va msg_lspid +が呼び出しプロセスのプロセス ID に設定されます。 +.It +.Va msg_stime +が現在の時刻に設定されます。 +.El +.Sh 戻り値 +問題なく終了すると 0 が戻されます。問題が発生すると -1 が戻され、 +.Va errno +がそのエラーを示すように設定されます。 +.Sh エラー +.Fn msgsnd +は、以下のような場合にエラーとなります。 +.Bl -tag -width Er +.It Bq Er EINVAL +.Fa msqid +が正しいメッセージキュー ID でない場合。 +.Pp +リソースが使用できるようになり、メッセージを送信できる +状態になることを +.Fn msgsnd +が待っている間に、メッセージキューが削除された場合。 +.Pp +.Fa msgsz +が 0 より小さいか、 +.Va msg_qbytes +より大きい場合。 +.It Bq Er EACCES +呼出しプロセスにメッセージキューの書込み権がない場合。 +.It Bq Er EAGAIN +キューかシステム全体にメッセージ用のスペースがなく、 +.Fa msgflg +で +.Dv IPC_NOWAIT +が設定されている場合。 +.It Bq Er EFAULT +.Fa msgp +が正しいアドレスを指していない場合。 +.It Bq Er EINTR +システムコールが、シグナルの配送によって割り込まれた場合。 +.Sh バグ +.Tn NetBSD +と +.Tn FreeBSD +は、メッセージキューが削除された場合に使用すべきエラー値 +.Er EIDRM +を定義していません。 +.Sh 歴史 +メッセージキューは、 +AT&T Unix System V +の最初のリリースに +追加されました。 +.\"kuma 1999-11-12 diff --git a/ja_JP.eucJP/man/man3/multibyte.3 b/ja_JP.eucJP/man/man3/multibyte.3 new file mode 100644 index 0000000000..447180040d --- /dev/null +++ b/ja_JP.eucJP/man/man3/multibyte.3 @@ -0,0 +1,226 @@ +.\" Copyright (c) 1993 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" This code is derived from software contributed to Berkeley by +.\" Donn Seeley of BSDI. +.\" +.\" 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. +.\" +.\" @(#)multibyte.3 8.1 (Berkeley) 6/4/93 +.\" +.Dd June 4, 1993 +.Dt MULTIBYTE 3 +.Os +.Sh 名称 +.Nm mblen , +.Nm mbstowcs , +.Nm mbtowc , +.Nm wcstombs , +.Nm wctomb +.Nd C 言語のマルチバイト文字サポート +.Sh 書式 +.Fd #include +.Ft int +.Fn mblen "const char *mbchar" "size_t nbytes" +.Ft size_t +.Fn mbstowcs "wchar_t *wcstring" "const char *mbstring" "size_t nwchars" +.Ft int +.Fn mbtowc "wchar_t *wcharp" "const char *mbchar" "size_t nbytes" +.Ft size_t +.Fn wcstombs "char *mbstring" "const wchar_t *wcstring" "size_t nbytes" +.Ft int +.Fn wctomb "char *mbchar" "wchar_t wchar" +.Sh 解説 +中国語のような自然言語の基本要素は、C 言語の +.Va char +型ひとつでは一意に表現できません。 +標準 C 言語規格では、ワイド文字とマルチバイト文字 +という、自然言語のエンコード方法の拡張を扱う 2 つの方法がサポート +されています。ワイド文字は、 +基本要素ひとつひとつを型 +.Va wchar_t +の単一オブジェクトにマップできるような内部表現です。マルチバイト文字は +入出力で使用され、C 言語の +.Va char +型のシーケンスとして基本要素ひとつひとつをコード化します。 +マルチバイト文字では、個々の基本要素は、 +1 バイト以上 +.Pq Dv MB_CHAR_MAX バイトまで +にマップされます。 +.Pp +ワイド文字とマルチバイト文字の解釈を支配するのは、カレントロケール +.Pq Xr setlocale 3 +です。ロケールカテゴリ +.Dv LC_CTYPE +の指定によりこの解釈を制御します。 +型 +.Va wchar_t +は、すべてのロケールでのワイドキャラクタ表現の最大値を +十分収容できるだけの大きさを持ちます。 +.Pp +マルチバイト文字列には、指定された表現方式の中で規定されるモード間での +切り替えを行なう +.Sq シフト +インジケータが含まれることがあります。シフトの発生を表すバイト列を +使用すると、これらのバイトは別の文字と見なされずに、それと隣接する +文字と一緒にまとめられます。 +.Sq 初期 +シフト状態は常に存在します。 +関数 +.Fn mbstowcs +と +.Fn wcstombs +は、マルチバイト文字列が初期シフト状態から解釈されるべきと想定します。 +関数 +.Fn mblen , +.Fn mbtowc , +.Fn wctomb +は、内部で静的シフト状態を維持管理します。 +ポインタ +.Fa mbchar +が +.Dv NULL +である呼び出しでは、カレントロケールがシフト状態を必要とする場合は +ゼロ以外が戻されます。シフト状態を必要としない場合はゼロが戻されます。 +シフト状態を必要とする場合、シフト状態は初期状態にリセットされます。 +.Dv LC_CTYPE +か +.Dv LC_ALL +カテゴリを指定して +.Fn setlocale +を呼び出した後では、内部シフト状態は未定義になります。 +.Pp +処理に便利なように、値が 0 のワイド文字 +.Pq ナルワイド文字 +は、ワイド文字列のターミネータとして認識されます。値が 0 の文字 +.Pq ナルバイト +は、マルチバイト文字列のターミネータとして認識されます。 +マルチバイト文字では、ナルバイトが許可されていません。 +.Pp +関数 +.Fn mblen +は、マルチバイト文字 +.Fa mbchar +のバイト長を算出します。 +.Fa nbytes +バイトまでが検査されます。 +.Pp +関数 +.Fn mbtowc +は、マルチバイト文字 +.Fa mbchar +をワイド文字に +変換し、その結果を +.Fa wcharp +が指すオブジェクトに格納します。 +.Fa nbytes +バイトまでが検査されます。 +.Pp +関数 +.Fn wctomb +は、ワイド文字 +.Fa wchar +をマルチバイト文字に +変換し、その結果を +.Fa mbchar +に格納します。 +.Fa mbchar +が指すオブジェクトは、 +そのマルチバイト文字を収容できるだけの大きさを持たねばなりません。 +.Pp +関数 +.Fn mbstowcs +は、マルチバイト文字列 +.Fa mbstring +をワイド文字列 +.Fa wcstring +に変換します。 +.Fa nwchars +以上のワイド文字は格納されません。最後のナルワイド文字は、空きが +ある場合に追加されます。 +.Pp +関数 +.Fn wcstombs +は、ワイド文字列 +.Fa wcstring +をマルチバイト文字列 +.Fa mbstring +に変換します。 +.Fa nbytes +バイトまでが +.Fa mbstring +に格納されます。文字列の最後の断片的なマルチバイト文字は格納されません。 +マルチバイト文字列は、空きがあればナルバイトで終わります。 +.Sh 戻り値 +カレントロケールがマルチバイト文字がサポートしていない場合、 +これらすべての関数は、文字を処理できる場合は -1 を戻し、 +処理できない場合は 0 を戻します。 +.Pp +.Fa mbchar +が +.Dv NULL +である場合、 +関数 +.Fn mblen , +.Fn mbtowc , +.Fn wctomb +は、シフト状態がサポートされている場合は 0 以外を戻し、 +シフト状態がサポートされていない場合は 0 を戻します。 +.Fa mbchar +が有効であると、この関数は +.Fa mbchar +で処理されたバイト数を戻します。マルチバイト文字を認識できない場合か +変換できない場合は -1 を戻します。 +.Pp +.Fn mbstowcs +関数は、変換されたワイド文字数を戻します。最後の +ナルワイド文字は数に含めません。 +.Fn wcstombs +関数は、変換されたバイト数を戻します。最後の +ナルバイトは数に含めません。不正なマルチバイト文字があると、 +どちらの関数も -1 を戻します。 +.Sh 関連項目 +.Xr mbrune 3 , +.Xr rune 3 , +.Xr setlocale 3 , +.Xr euc 4 , +.Xr utf2 4 +.Sh 規格 +関数 +.Fn mblen , +.Fn mbstowcs , +.Fn mbtowc , +.Fn wcstombs , +.Fn wctomb +は、 +.St -ansiC +に準拠しています。 +.Sh バグ +現在のシステムは、シフト状態をサポートしません。 +.\"kuma 1999-11-12 diff --git a/ja_JP.eucJP/man/man3/ncurses.3 b/ja_JP.eucJP/man/man3/ncurses.3 new file mode 100644 index 0000000000..a6699ae43b --- /dev/null +++ b/ja_JP.eucJP/man/man3/ncurses.3 @@ -0,0 +1,418 @@ +.TH ncurses 3 "" +.ds n 5 +.ds d @TERMINFO@ +.SH 名称 +\fBncurses\fR - CRT screen handling and optimization package +.SH 書式 +\fB#include \fR +.br +.SH 解説 +\fBncurses\fR ライブラリルーチンでは、端末に依存しない方法で、それなりに +最適化してキャラクタ画面を更新できます。 + +\fBncurses\fR ルーチンは、System V Release 4 UNIX の \fBcurses\fR(3) +ライブラリをエミュレートしますが、ソース形式で自由に再分配できます。 +System V Release 4 UNIX の curses との違いについては、それぞれの +マニュアルページのバグセクションで説明します。違いは少ししかなく、 +ncurses が発展するにつれ、違いは少なくなります。 + +このルーチンを使用しているプログラムは、\fB-lncurses\fR オプション、 +または(生成された場合は) \fB-ldcurses\fR や \fB-lpcurses\fR などの +デバッグライブラリの 1 つを使用してリンクする必要があります。 +dcurses ライブラリは、curses アクションを記述したトレースログを生成します。 +pcurses ライブラリは、プロファイル化をサポートしています。 + +\fBncurses\fR パッケージでは、画面全体、ウィンドウ、パッドの操作、 +ウィンドウとパッドへの出力、端末入力の読込み、端末、ncurses 入力と出力の +オプションの制御、環境クエリルーチン、カラー操作、ソフトラベルキーの使用、 +terminfo 機能、低レベル \fBncurses\fR ルーチンへのアクセスがサポート +されています。 + +ルーチンを初期化するには、ルーチン \fBinitscr\fR か \fBnewterm\fR +を呼び出してから、ウィンドウと画面を処理するその他のルーチンを使用する +必要があります。終了前には、ルーチン \fBendwin\fR を呼び出してください。 +エコーせずに 1 回に 1 キャラクタずつ入力するには (インタラクティブで +画面主導のほとんどのプログラムで必要)、以下のシーケンスを使用します。 + + \fBinitscr(); cbreak(); noecho();\fR + +ほとんどのプログラムでは、以下のシーケンスも使用します。 + + \fBnonl(); intrflush(stdscr,FALSE); keypad(stdscr,TRUE);\fR + +\fBncurses\fR プログラムを実行する前には、端末のタブストップを設定し、 +定義されていれば初期化文字列を出力する必要があります。 +これは、シェル環境変数 \fBTERM\fR をエクスポートした後でコマンド +\fBtput init\fR を実行すれば行なえます。 +[詳細については、\fBterminfo\fR(\*n) を参照してください。] + +\fBncurses\fR ライブラリでは、CRT 画面の全体か一部を表すキャラクタの +2 次元配列とみなせる、\fIwindows\fR というデータ構造を操作できます。 +デフォルトウィンドウは \fBstdscr\fR というもので、サイズは端末画面のサイズ +になっています。その他のウィンドウは、\fBnewwin\fR で作成できます。 + +ウィンドウは、\fBWINDOW *\fR のように宣言した変数で参照します。 +このデータ構造は、マニュアルセクション 3 のページで解説しているルーチン +(名前が「curs_」で始まるもの)で操作します。このうち最も基本的なルーチンは、 +\fBmove\fR と \fBaddch\fRです。このルーチンの一般的なバージョンは、名前が +\fBw\fR で始まります。このバージョンではウィンドウを指定できます。 +\fBw\fR で始まらないルーチンは \fBstdscr\fR に影響します。 + +ルーチンを使用してウィンドウを操作した後では \fBrefresh\fR が呼び出され、 +ユーザの CRT 画面を \fBstdscr\fR のように表示する指示が \fBncurses\fR に +出されます。ウィンドウのキャラクタのタイプは実際には \fBchtype\fR +(キャラクタと属性データ)なので、 +キャラクタのその他の情報もそれぞれのキャラクタとともに保存できます。 + +\fIパッド\fRという特殊なウィンドウも操作できます。パッドは画面のサイズに +制限されないウィンドウで、パッドの内容は完全に表示する必要がありません。 +詳細については curs_pad(3) を参照してください。 + +キャラクタの画面への描画の他に、ビデオ属性とカラーもサポート +されているので、下線、リバースビデオ、カラーなどのモードで、このような +表示拡張機能をサポートしている端末にキャラクタを表示できます。ライン描画 +キャラクタを出力するように指定することもできます。 +\fBncurses\fR は、入力時にエスケープシーケンスを送信する矢印キーと +ファンクションキーを 1 つの値に変換できます。 +ビデオ属性、ライン描画キャラクタ、入力値では、\fBA_REVERSE\fR、 +\fBACS_HLINE\fR、\fBKEY_LEFT\fR のような、\fB\fR に定義された名前が +使用されます。 + +環境変数 \fBLINES\fR と \fBCOLUMNS\fR を設定した場合、またはウィンドウ環境で +プログラムを実行している場合、\fIterminfo\fR で読み込まれた情報は、環境の行と +カラムの情報で上書きされます。これは、画面のサイズを変更できる、 +AT&T 630 レイヤなどで実行しているプログラムに影響します。 + +環境変数 \fBTERMINFO\fR を定義すると、\fBncurses\fR を使用しているプログラムは、 +ローカルの端末定義をチェックしてから標準の場所にチェックインします。 +たとえば \fBTERM\fR を \fBatt4424\fR に設定すると、 +コンパイルされた端末定義は以下の場所で見つかります。 + + \fB\*d/a/att4424\fR +(\fBa\fR は、大きなディレクトリの作成を避けるために \fBatt4424\fR の +最初の文字をコピーしたものです。) しかし \fBTERMINFO\fR を +\fB$HOME/myterms\fR に設定すると、\fBncurses\fRは +以下の場所を最初にチェックします。 + + \fB$HOME/myterms/a/att4424\fR + +チェックが失敗に終わると、次に以下をチェックします。 + + \fB\*d/a/att4424\fR + +これは、試験用定義を開発している場合、または \fB\*d\fR の書込み権がない +場合に便利です。 + +整数変数 \fBLINES\fR と \fBCOLS\fR は、\fB\fRに定義されています。 +この整数変数には、\fBinitscr\fR が画面のサイズに従って値を入力します。定数 +\fBTRUE\fR と \fBFALSE\fR の値は、それぞれ \fB1\fR と \fB0\fR になっています。 + +\fBncurses\fR ルーチンは、\fBWINDOW *\fR 変数 \fBcurscr\fR も定義します。 +この変数は、ごみを含む画面のクリアや再描画など、特定の低レベル操作で +使用します。\fBcurscr\fR は、少数のルーチンでしか使用されないでしょう。 + +.SS ルーチン名と引数名 +多くの \fBncurses\fR ルーチンには複数のバージョンがあります。 +\fBw\fR で始まるルーチンにはウィンドウ引数が必要です。 +\fBp\fR で始まるルーチンにはパッド引数が必要です。 +接頭語がないルーチンは、一般的に \fBstdscr\fR を使用します。 + +\fBmv\fR で始まるルーチンでは、移動先の \fIy\fR 座標と \fIx\fR 座標が +なければ、適切なアクションを実行できません。ルーチンが \fBmv\fR で +始まるということは、\fBmove\fR が呼び出されてから +別のルーチンが呼び出されるということです。 +\fIy\fR 座標はウィンドウの行を、\fIx\fR 座標はカラムを常に表します。 +左上は (1,1) ではなく常に (0,0) です。 + +\fBmvw\fR で始まるルーチンには、ウィンドウ引数と \fIx\fR 座標と +\fIy\fR 座標が必要です。ウィンドウ引数を指定してから座標を指定してください。 + +どのケースでも、\fIwin\fR は影響を受けるウィンドウで、 +\fIpad\fR は影響を受けるパッドです。\fIwin\fR と \fIpad\fR は、 +常に \fBWINDOW\fR 型のポインタです。 + +オプション設定ルーチンでは、値が \fBTRUE\fR か \fBFALSE\fR になっている +論理フラグ \fIbf\fR が必要です。 \fIbf\fR の型は常に \fBbool\fR です。 +変数 \fIch\fR と \fIattrs\fR の型は常に \fBchtype\fR です。 +型 \fBWINDOW\fR, \fBSCREEN\fR, \fBbool\fR, \fBchtype\fR は、 +\fB\fR で定義されています。 +\fBTERMINAL\fR 型は、\fB\fR で定義されています。 +その他すべての引数は整数です。 + +.SS ルーチン名インデックス +以下の表は、各 \fBncurses\fR ルーチン、およびその解説が載っている +マニュアルページの名前をまとめたものです。 + +.nf +\fBncurses\fR ルーチン名 マニュアルページ名 +___________________________________________ +addch curs_addch(3) +addchnstr curs_addchstr(3) +addchstr curs_addchstr(3) +addnstr curs_addstr(3) +addstr curs_addstr(3) +attroff curs_attr(3) +attron curs_attr(3) +attrset curs_attr(3) +baudrate curs_termattrs(3) +beep curs_beep(3) +bkgd curs_bkgd(3) +bkgdset curs_bkgd(3) +border curs_border(3) +box curs_border(3) +can_change_color curs_color(3) +cbreak curs_inopts(3) +clear curs_clear(3) +clearok curs_outopts(3) +clrtobot curs_clear(3) +clrtoeol curs_clear(3) +color_content curs_color(3) +copywin curs_overlay(3) +curs_set curs_kernel(3) +def_prog_mode curs_kernel(3) +def_shell_mode curs_kernel(3) +del_curterm curs_terminfo(\*n) +delay_output curs_util(3) +delch curs_delch(3) +deleteln curs_deleteln(3) +delscreen curs_initscr(3) +delwin curs_window(3) +derwin curs_window(3) +doupdate curs_refresh(3) +dupwin curs_window(3) +echo curs_inopts(3) +echochar curs_addch(3) +endwin curs_initscr(3) +erase curs_clear(3) +erasechar curs_termattrs(3) +filter curs_util(3) +flash curs_beep(3) +flushinp curs_util(3) +getbegyx curs_getyx(3) +getch curs_getch(3) +getmaxyx curs_getyx(3) +getparyx curs_getyx(3) +getstr curs_getstr(3) +getsyx curs_kernel(3) +getwin curs_util(3) +getyx curs_getyx(3) +halfdelay curs_inopts(3) +has_colors curs_color(3) +has_ic curs_termattrs(3) +has_il curs_termattrs(3) +hline curs_border(3) +idcok curs_outopts(3) +idlok curs_outopts(3) +immedok curs_outopts(3) +inch curs_inch(3) +inchnstr curs_inchstr(3) +inchstr curs_inchstr(3) +init_color curs_color(3) +init_pair curs_color(3) +initscr curs_initscr(3) +innstr curs_instr(3) +insch curs_insch(3) +insdelln curs_deleteln(3) +insertln curs_deleteln(3) +insnstr curs_insstr(3) +insstr curs_insstr(3) +instr curs_instr(3) +intrflush curs_inopts(3) +is_linetouched curs_touch(3) +is_wintouched curs_touch(3) +isendwin curs_initscr(3) +keyname curs_util(3) +keypad curs_inopts(3) +killchar curs_termattrs(3) +leaveok curs_outopts(3) +longname curs_termattrs(3) +meta curs_inopts(3) +move curs_move(3) +mvaddch curs_addch(3) +mvaddchnstr curs_addchstr(3) +mvaddchstr curs_addchstr(3) +mvaddnstr curs_addstr(3) +mvaddstr curs_addstr(3) +mvcur curs_terminfo(\*n) +mvdelch curs_delch(3) +mvderwin curs_window(3) +mvgetch curs_getch(3) +mvgetstr curs_getstr(3) +mvinch curs_inch(3) +mvinchnstr curs_inchstr(3) +mvinchstr curs_inchstr(3) +mvinnstr curs_instr(3) +mvinsch curs_insch(3) +mvinsnstr curs_insstr(3) +mvinsstr curs_insstr(3) +mvinstr curs_instr(3) +mvprintw curs_printw(3) +mvscanw curs_scanw(3) +mvwaddch curs_addch(3) +mvwaddchnstr curs_addchstr(3) +mvwaddchstr curs_addchstr(3) +mvwaddnstr curs_addstr(3) +mvwaddstr curs_addstr(3) +mvwdelch curs_delch(3) +mvwgetch curs_getch(3) +mvwgetstr curs_getstr(3) +mvwin curs_window(3) +mvwinch curs_inch(3) +mvwinchnstr curs_inchstr(3) +mvwinchstr curs_inchstr(3) +mvwinnstr curs_instr(3) +mvwinsch curs_insch(3) +mvwinsnstr curs_insstr(3) +mvwinsstr curs_insstr(3) +mvwinstr curs_instr(3) +mvwprintw curs_printw(3) +mvwscanw curs_scanw(3) +napms curs_kernel(3) +newpad curs_pad(3) +newterm curs_initscr(3) +newwin curs_window(3) +nl curs_outopts(3) +nocbreak curs_inopts(3) +nodelay curs_inopts(3) +noecho curs_inopts(3) +nonl curs_outopts(3) +noqiflush curs_inopts(3) +noraw curs_inopts(3) +notimeout curs_inopts(3) +overlay curs_overlay(3) +overwrite curs_overlay(3) +pair_content curs_color(3) +pechochar curs_pad(3) +pnoutrefresh curs_pad(3) +prefresh curs_pad(3) +printw curs_printw(3) +putp curs_terminfo(\*n) +putwin curs_util(3) +qiflush curs_inopts(3) +raw curs_inopts(3) +redrawwin curs_refresh(3) +refresh curs_refresh(3) +reset_prog_mode curs_kernel(3) +reset_shell_mode curs_kernel(3) +resetty curs_kernel(3) +restartterm curs_terminfo(\*n) +ripoffline curs_kernel(3) +savetty curs_kernel(3) +scanw curs_scanw(3) +scr_dump curs_scr_dmp(3) +scr_init curs_scr_dmp(3) +scr_restore curs_scr_dmp(3) +scr_set curs_scr_dmp(3) +scrl curs_scroll(3) +scroll curs_scroll(3) +scrollok curs_outopts(3) +set_curterm curs_terminfo(\*n) +set_term curs_initscr(3) +setscrreg curs_outopts(3) +setsyx curs_kernel(3) +setterm curs_terminfo(\*n) +setupterm curs_terminfo(\*n) +slk_attroff curs_slk(3) +slk_attron curs_slk(3) +slk_attrset curs_slk(3) +slk_clear curs_slk(3) +slk_init curs_slk(3) +slk_label curs_slk(3) +slk_noutrefresh curs_slk(3) +slk_refresh curs_slk(3) +slk_restore curs_slk(3) +slk_set curs_slk(3) +slk_touch curs_slk(3) +standend curs_attr(3) +standout curs_attr(3) +start_color curs_color(3) +subpad curs_pad(3) +subwin curs_window(3) +syncok curs_window(3) +termattrs curs_termattrs(3) +termname curs_termattrs(3) +tigetflag curs_terminfo(\*n) +tigetnum curs_terminfo(\*n) +tigetstr curs_terminfo(\*n) +timeout curs_inopts(3) +touchline curs_touch(3) +touchwin curs_touch(3) +tparm curs_terminfo(\*n) +tputs curs_terminfo(\*n) +typeahead curs_inopts(3) +unctrl curs_util(3) +ungetch curs_getch(3) +untouchwin curs_touch(3) +use_env curs_util(3) +vidattr curs_terminfo(\*n) +vidputs curs_terminfo(\*n) +vline curs_border(3) +vwprintw curs_printw(3) +vwscanw curs_scanw(3) +waddch curs_addch(3) +waddchnstr curs_addchstr(3) +waddchstr curs_addchstr(3) +waddnstr curs_addstr(3) +waddstr curs_addstr(3) +wattroff curs_attr(3) +wattron curs_attr(3) +wattrset curs_attr(3) +wbkgd curs_bkgd(3) +wbkgdset curs_bkgd(3) +wborder curs_border(3) +wclear curs_clear(3) +wclrtobot curs_clear(3) +wclrtoeol curs_clear(3) +wcursyncup curs_window(3) +wdelch curs_delch(3) +wdeleteln curs_deleteln(3) +wechochar curs_addch(3) +werase curs_clear(3) +wgetch curs_getch(3) +wgetnstr curs_getstr(3) +wgetstr curs_getstr(3) +whline curs_border(3) +winch curs_inch(3) +winchnstr curs_inchstr(3) +winchstr curs_inchstr(3) +winnstr curs_instr(3) +winsch curs_insch(3) +winsdelln curs_deleteln(3) +winsertln curs_deleteln(3) +winsnstr curs_insstr(3) +winsstr curs_insstr(3) +winstr curs_instr(3) +wmove curs_move(3) +wnoutrefresh curs_refresh(3) +wprintw curs_printw(3) +wredrawln curs_refresh(3) +wrefresh curs_refresh(3) +wscanw curs_scanw(3) +wscrl curs_scroll(3) +wsetscrreg curs_outopts(3) +wstandend curs_attr(3) +wstandout curs_attr(3) +wsyncdown curs_window(3) +wsyncup curs_window(3) +wtimeout curs_inopts(3) +wtouchln curs_touch(3) +wvline curs_border(3) +.fi +.SH 戻り値 +ルーチンの解説で特記されていなければ、整数を戻すルーチンは、エラーが +発生した場合は \fBERR\fR を戻し、問題がない場合は \fBERR\fR 以外の +整数値を戻します。 + +\fBsetscrreg\fR, \fBwsetscrreg\fR, \fBgetyx\fR, \fBgetbegyx\fR, +\fBgetmaxyx\fR 以外のすべてのマクロは、\fBw\fR バージョンの値を戻します。 +\fBsetscrreg\fR, \fBwsetscrreg\fR, \fBgetyx\fR, \fBgetbegyx\fR, +\fBgetmaxyx\fR の戻り値は定義されていません。(すなわち、 +割り当てステートメントの右側では使用しないでください。) + +ポインタを戻すルーチンは、エラーが発生すると \fBNULL\fR を戻します。 +.SH 関連項目 +ルーチンの詳細については、\fBterminfo\fR(5)、および名前が「curs_」で始まる +セクション 3 のページを参照してください。 +.SH 注 +ヘッダファイル \fB\fR を取り込むと、ヘッダファイル +\fB\fR と \fB\fR が自動的に取り込まれます。 diff --git a/ja_JP.eucJP/man/man3/nice.3 b/ja_JP.eucJP/man/man3/nice.3 new file mode 100644 index 0000000000..f31bad4240 --- /dev/null +++ b/ja_JP.eucJP/man/man3/nice.3 @@ -0,0 +1,70 @@ +.\" 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. +.\" +.\" @(#)nice.3 8.1 (Berkeley) 6/4/93 +.\" +.Dd June 4, 1993 +.Dt NICE 3 +.Os BSD 4 +.Sh 名称 +.Nm nice +.Nd プログラムのスケジューリング優先度の設定 +.Sh 書式 +.Fd #include +.Ft int +.Fn nice "int incr" +.Sh 解説 +.Bf -symbolic +このインタフェースは、setpriority(2) +で置き換えられました。 +.Ef +.Pp +.Fn nice +関数は、そのプロセスのスケジューリング優先度をシステムから入手し、 +.Fa incr +で指定する優先度の値に設定します。優先度の有効範囲は、-20 から 20 です。 +デフォルトの優先度は 0 です。優先度を下げると、スケジューリングが +良くなります。優先度を下げられるのは、スーパユーザのみです。 +.Pp +子プロセスは、 +.Xr fork 2 +を通じて親プロセスの優先度を継承します。 +.Sh 関連項目 +.Xr nice 1 , +.Xr fork 2 , +.Xr setpriority 2 , +.Xr renice 8 +.Sh 歴史 +.Fn nice +は、 +.At v6 +で追加されました。 +.\"kuma 1999-11-12 diff --git a/ja_JP.eucJP/man/man3/nlist.3 b/ja_JP.eucJP/man/man3/nlist.3 new file mode 100644 index 0000000000..999d090f19 --- /dev/null +++ b/ja_JP.eucJP/man/man3/nlist.3 @@ -0,0 +1,76 @@ +.\" 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. +.\" +.\" @(#)nlist.3 8.3 (Berkeley) 4/19/94 +.\" +.\" jpman %Id$ +.\" +.Dd April 19, 1994 +.Dt NLIST 3 +.Os BSD 4 +.Sh 名称 +.Nm nlist +.Nd 実行可能ファイルからシンボルテーブル名リストを取り出す +.Sh 書式 +.Fd #include +.Ft int +.Fn nlist "const char *filename" "struct nlist *nl" +.Sh 解説 +.Fn nlist +関数は、実行可能ファイルのシンボルテーブル +.Xr (a.out 5 +参照) から名前リストエントリを取り出します。引数 +.Fa \&nl +は、リストの最初を参照するために設定します。 +リストはバイナリデータと無効なデータで準備されており、 +名前リストのエントリが有効な場合は、エントリの +.Fa n_type +と +.Fa n_value +が、 +.Fa \&nl +で参照されるリストにコピーされます。 +その他のデータはコピーされません。リストの最後のエントリは、常に +.Dv ヌル +です。 +.Sh 戻り値 +問題が発生しなかった場合は、無効なエントリの数が戻されます。 +ファイル +.Fa filename +が存在しない場合、または実行可能ファイルでない場合、 +戻り値は \-1 になります。 +.Sh 関連項目 +.Xr a.out 5 +.Sh 歴史 +.Fn nlist +関数は、 +.At v6 +で追加されました。 diff --git a/ja_JP.eucJP/man/man3/pam_authenticate.3 b/ja_JP.eucJP/man/man3/pam_authenticate.3 new file mode 100644 index 0000000000..a5853784b5 --- /dev/null +++ b/ja_JP.eucJP/man/man3/pam_authenticate.3 @@ -0,0 +1,95 @@ +.\" Hey Emacs! This file is -*- nroff -*- source. +.\" $Id: pam_authenticate.3,v 1.1.1.1 1999-12-09 16:25:59 kuriyama Exp $ +.\" Copyright (c) Andrew G. Morgan 1996-7 +.TH PAM_AUTHENTICATE 3 "1996 Dec 9" "PAM 0.55" "App. Programmers' Manual" +.SH 名称 + +pam_authenticate \- ユーザの認証 + +.SH 書式 +.B #include +.sp +.BI "int pam_authenticate(pam_handle_t " *pamh ", int " flags ");" +.sp 2 +.SH 解説 +.B pam_authenticate + +.br +この関数を使用すると、申請ユーザを認証できます。この関数は、 +.BR PAM +で認証モジュールに +.I ダイナミックに +リンクされており、 +この認証モジュールが認証を行ないます。 +アプリケーションが認証の本質に関わることはありません。 + +.br +認証が問題なく終了すると、認証されたユーザの +.BR 名前 +が +.BR PAM +アイテム +.BR PAM_USER +に入ります。 +このアイテムは、 +.BR pam_get_item "(3)" +を呼び出して取得できます。 + +.br +アプリケーション開発者は、認証モジュールが対話メカニズム( +.BR pam_start "(3)" +参照) +でユーザにユーザ名を入力させることがあることに注意する必要があります。 +この場合は、ユーザプロンプトストリングを +.BR PAM_USER_PROMPT +アイテム( +.BR pam_set_item "(3)" +参照) +で設定できます。 + +.SH 戻り値 +問題がない場合は +.BR PAM_SUCCESS +が戻されます。その他の値が戻された場合は、 +認証で問題が発生したとみなされ、以前に呼び出した +.BR pam_fail_delay "(3)" +で指定された値だけ +.I 遅延 +が発生します。 +とくに注意が必要なエラーは以下のとおりです。 +.TP +.B PAM_ABORT +アプリケーションをすぐに終了する必要があります。もちろん最初に +.BR pam_end "(3)" +を呼び出してください。 + +.TP +.B PAM_MAXTRIES +アプリケーションがユーザの認証を何度も繰り返しています。 +認証を止めてください。 + +.SH エラー +.BR pam_strerror "(3)" +でテキストに変換できます。 + +.SH 準拠 +DCE-RFC 86.0, October 1995. + +.SH バグ +.sp 2 +見つかっていません。 + +.SH 関連項目 +.BR pam_start "(3), " +.BR pam_get_item "(3), " +.BR pam_fail_delay "(3), " +.BR pam_strerror "(3)" + +.BR システム管理者 +、 +.BR モジュール開発者 +、 +.BR アプリケーション開発者 +用の +.BR PAM +ガイドも参照してください。 diff --git a/ja_JP.eucJP/man/man3/pam_chauthtok.3 b/ja_JP.eucJP/man/man3/pam_chauthtok.3 new file mode 100644 index 0000000000..5824aef553 --- /dev/null +++ b/ja_JP.eucJP/man/man3/pam_chauthtok.3 @@ -0,0 +1,97 @@ +.\" Hey Emacs! This file is -*- nroff -*- source. +.\" $Id: pam_chauthtok.3,v 1.1.1.1 1999-12-09 16:25:59 kuriyama Exp $ +.\" Copyright (c) Andrew G. Morgan 1997 +.TH PAM_CHAUTHTOK 3 "1997 Jan 4" "PAM 0.55" "App. Programmers' Manual" +.SH 名称 + +pam_chauthtok \- 認証トークンの更新 + +.SH 書式 +.B #include +.sp +.BI "int pam_chauthtok(pam_handle_t " *pamh ", int " flags ");" +.sp 2 +.SH 解説 +.B pam_chauthtok + +.br +この関数を使用すると、申請ユーザの認証トークン(パスワードなど)を +更新できます。 + +.br +アプリケーションでユーザをあらかじめ認証する必要はありません。認証は +.BR PAM +フレームワークで必要に応じて実行されます。 + +.br +.I flags +引数が、値 +.BR PAM_CHANGE_EXPIRED_AUTHTOK +を取ることが +.I あります。 +この場合は、期限が切れた認証トークンの更新をフレームワークで行なう +必要があります。この引数がないと、フレームワークはすべての設定済み認証 +メカニズムで新しいトークンを取得しようとします。呼び出しアプリケーション +で、このようなスキームのタイプと番号の詳細に関わる必要はありません。 + +.SH 戻り値 +この関数から問題なく戻ると、 +.BR PAM_SUCCESS +が戻されます。 + +.br +この関数を呼び出した場合にとくに注意すべきエラーは以下のとおりです。 + +.br +.BR PAM_AUTHTOK_ERROR +- 有効な新しいトークンを取得できませんでした。 + +.br +.BR PAM_AUTHTOK_RECOVERY_ERR +- 古い認証トークンを使用できませんでした。 + +.br +.BR PAM_AUTHTOK_LOCK_BUSY +- トークンの更新に必要なリソースがロックされていました。 +後で再度実行してください。 + +.br +.BR PAM_AUTHTOK_DISABLE_AGING +- 1 つ以上の認証モジュールが、認証トークンの期限切れを認めませんでした。 + +.br +.BR PAM_TRY_AGAIN +- 1 つ以上の認証メカニズムで、今回のトークンの更新準備が整っていません。 + +.br +一般的にはその他の戻り値も戻されます。エラーを示しているものとして +扱ってください。 + +.SH エラー +.BR pam_strerror "(3)" +でテキストに変換できます。 + +.SH 準拠 +DCE-RFC 86.0, October 1995. + +.SH バグ +.sp 2 +見つかっていません。 + +.SH 関連項目 +.BR pam_start "(3), " +.BR pam_authenticate "(3), " +.BR pam_setcred "(3), " +.BR pam_get_item "(3), " +.BR pam_strerror "(3) " +.BR pam "(8)." + +.br +.BR システム管理者 +、 +.BR モジュール開発者 +、 +.BR アプリケーション開発者 +用の +.BR PAM +ガイドも参照してください。 diff --git a/ja_JP.eucJP/man/man3/pam_fail_delay.3 b/ja_JP.eucJP/man/man3/pam_fail_delay.3 new file mode 100644 index 0000000000..39c1e5557e --- /dev/null +++ b/ja_JP.eucJP/man/man3/pam_fail_delay.3 @@ -0,0 +1,125 @@ +.\" Hey Emacs! This file is -*- nroff -*- source. +.\" $Id: pam_fail_delay.3,v 1.1.1.1 1999-12-09 16:25:59 kuriyama Exp $ +.\" Copyright (c) Andrew G. Morgan 1997 +.TH PAM_FAIL_DELAY 3 "1997 Jan 12" "PAM 0.56" "Programmers' Manual" +.SH 名称 + +pam_fail_delay \- エラー時に遅延を要求 + +.SH 書式 +.B #include +.br +or, +.br +.B #include +.sp +.BI "int pam_fail_delay(pam_handle_t " "*pamh" ", unsigned int " "usec" ");" +.sp 2 +.SH 解説 +.br +申請ユーザのアクセスをスキームが拒否する場合にかかる時間を悪用し、 +認証スキームにアタックできることがあります。タイムアウトが +.I 短い +場合でも、ディクショナリを +.I 乱用 +してアタックすることが可能なことがあります。アタッカが +自動化されたプロセスを使用し、考えられるパスワードをすべて試してシステムに +アクセスしようとするのです。それぞれのエラーにかかる時間を計測できる場合 +(エラーの本質を示す)、アタッカは認証プロセスに関する重要な情報を +入手できます。後者のアタックでは、重要な情報の +.I 保護チャンネル +を構成する手続き型遅延が利用されます。 + +.br +このようなアタックを最低限に抑えるには、エラーとなった認証プロセスで +ランダムな遅延を導入することが有効です。 +.B PAM +には、ランダムな遅延を導入する機能があります。遅延は、 +.BR pam_authenticate "(3)" +関数と +.BR pam_chauthtok "(3)" +関数の +エラー時に発生します。すべての認証モジュールが呼び出された +.I 後 +で、制御がサービスアプリケーションに戻る +.I 前 +に発生します。 + +.br +.BR pam_fail_delay "(3)" +関数を使用すると、エラー遅延に必要な最低時間 ( +.I usec +引数) を指定できます。この関数は、ユーザによるサービスの再申請を +遅らせることが重要となるサービスアプリケーションや認証モジュールから呼び +出せます。遅延の長さは必要なときに算出され、 +.I 最大 +要求値からランダムに分散されます。 +最大要求値の上下 25% までに分散されるのです。 + +.br +.BR pam_authenticate "(3)" +や +.BR pam_chauthtok "(3)" +から戻る場合、問題の有無に関係なく、新しい要求遅延は +デフォルト値のゼロにリセットされます。 + +.SH 例 +.br +.B ログイン +アプリケーションで約 3 秒間のエラー遅延が必要となる場合、 +このアプリケーションには以下のようなコードが含まれます。 +.sp +.br +.B " pam_fail_delay(pamh, 3000000 /* micro-seconds */ );" +.br +.B " pam_authenticate(pamh, 0);" +.sp +.br +モジュールが遅延を要求しない場合、エラー遅延は 2.25 秒と 3.75 秒の +間になります。 + +.br +認証プロセスで呼び出されるモジュールでも、以下のような遅延が +要求されることがあります。 +.sp +.br +.RB " (モジュール #1) " "pam_fail_delay(pamh, 2000000);" +.sp +.br +.RB " (モジュール #2) " "pam_fail_delay(pamh, 4000000);" +.sp +.br +この場合、実際のエラー遅延の算出に使用されるのは最大要求値です。 +ここでは 3 秒から 5 秒です。 + +.SH 戻り値 +.BR pam_fail_delay "(3)" +で問題が発生しなかった場合は、 +.BR PAM_SUC-CESS +が戻されます。その他すべての戻り値は、重大なエラーとみなしてください。 + +.SH エラー +.BR pam_strerror "(3)" +でテキストに変換できます。 + +.SH 準拠 +X/Open グループが、PAM RFC. 1996/1/10 に組み込むことを検討中です。 + +.SH バグ +.sp 2 +見つかっていません。 + +.SH 関連項目 + +.BR pam_start "(3), " +.BR pam_get_item "(3), " +.BR pam_strerror "(3)" + +.BR システム管理者 +、 +.BR モジュール開発者 +、 +.BR アプリケーション開発者 +用の +.BR Linux-PAM +ガイドも参照してください。 diff --git a/ja_JP.eucJP/man/man3/pam_open_session.3 b/ja_JP.eucJP/man/man3/pam_open_session.3 new file mode 100644 index 0000000000..b600a0cc4f --- /dev/null +++ b/ja_JP.eucJP/man/man3/pam_open_session.3 @@ -0,0 +1,100 @@ +.\" Hey Emacs! This file is -*- nroff -*- source. +.\" $Id: pam_open_session.3,v 1.1.1.1 1999-12-09 16:25:59 kuriyama Exp $ +.\" Copyright (c) Andrew G. Morgan 1997 +.TH PAM_OPEN_SESSION 3 "1997 Jan 4" "PAM 0.55" "App. Programmers' Manual" +.SH 名称 + +pam_open/close_session \- PAM セッション管理 + +.SH 書式 +.B #include +.sp +.BI "int pam_open_session(pam_handle_t " *pamh ", int " flags ");" +.sp +.BI "int pam_close_session(pam_handle_t " *pamh ", int " flags ");" +.sp 2 +.SH 解説 + +PAM には、セッションの初期化と終了を行なう管理ツールがあります。 + +.TP +.B pam_open_session +この関数を使用すると、認証されたユーザのセッションが始まったことを +通知できます。ユーザが +.BR pam_authenticate "(3)" +で適切に確認され、 +必要な場合は +.BR pam_setcred "(3)" +で証明書を与えられた後で呼び出してください。 + +.br +セッションの初期化に関連した関数には、システムを監視するための +ログ作成とディレクトリ(ユーザのホームディレクトリなど)の +マウントがあります。アプリケーションでこれに関わることはありません。 +アプリケーションの +.I 有効な +uid ( +.BR geteuid "(2)" +) +に、このようなタスクを実行する権利が必要であることに注意してください。 + +.TP +.B pam_close_session +.br +この関数を使用すると、ユーザセッションが終了したことを通知できます。 +一般的には、初期化関数 +( +.BR pam_open_session +) +と同じアプリケーションにこの関数を配置する必要はありません。 + +.br +この関数は、 +.BR pam_open_session +のアクションを取り消します。 +つまり、ユーザセッションの終了に関わる監視情報を記録し、ユーザの +ホームディレクトリのマウントを解除します。十分な権利があることは別にして、 +セッションの終了の詳細に呼び出しアプリケーションが関わるこはありません。 +しかし、この呼び出しから戻るときにユーザのためにアクションを起こすことは +止めてください。 + +.SH 戻り値 +このセッション管理関数で問題が発生しなかった場合は、 +.BR PAM_SUCCESS +が戻されます。 + +.br +セッションの開閉でエラーが発生した場合は、 +.BR PAM_SESSION_ERR +が戻されます。 +その他の戻り値が戻された場合は、エラーを示すものとして扱ってください。 + +.SH エラー +.BR pam_strerror "(3)" +でテキストに変換できます。 + +.SH 準拠 +OSF-RFC 86.0, October 1995. + +.SH バグ +.sp 2 +見つかっていません。 + +.SH 関連項目 + +.BR pam_start "(3), " +.BR pam_authenticate "(3), " +.BR pam_setcred "(3), " +.BR pam_get_item "(3), " +.BR pam_strerror "(3), " +.BR pam "(3)." + +.br +.BR システム管理者 +、 +.BR モジュール開発者 +、 +.BR アプリケーション開発者 +用の +.BR Linux-PAM +ガイドも参照してください。 diff --git a/ja_JP.eucJP/man/man3/pam_setcred.3 b/ja_JP.eucJP/man/man3/pam_setcred.3 new file mode 100644 index 0000000000..d0742d9463 --- /dev/null +++ b/ja_JP.eucJP/man/man3/pam_setcred.3 @@ -0,0 +1,78 @@ +.\" Hey Emacs! This file is -*- nroff -*- source. +.\" $Id: pam_setcred.3,v 1.1.1.1 1999-12-09 16:25:59 kuriyama Exp $ +.\" Copyright (c) Andrew G. Morgan 1996,1997 +.TH PAM_SETCRED 3 "1997 July 6" "PAM 0.58" "App. Programmers' Manual" +.SH 名称 + +pam_setcred \- ユーザに証明書を設定 + +.SH 書式 +.B #include +.sp +.BI "int pam_setcred(pam_handle_t " *pamh ", int " flags ");" +.sp 2 +.SH 解説 +.B pam_setcred + +この関数を使用すると、ユーザの証明書の確立、保守、削除ができます。 +ユーザが認証された後で、そのユーザのセッションを +.BR pam_open_session "(3)" +で開く前に呼び出してください。 + +証明書には、グループメンバーシップ、チケットファイル、PAM 環境変数など、 +多くの形式があることに注意してください。このため、この関数を +呼び出す前にユーザの基本的な ID をアプリケーションで確立することが +重要になります。デフォルトの +.BR PAM +環境変数を設定し、 +.BR initgroups "(2)" +かそれと同等のものを実行してください。 + +.SH 有効なフラグ +.TP +.BR PAM_ESTABLISH_CRED +ユーザの証明書を初期化します。 + +.TP +.BR PAM_DELETE_CRED +ユーザの証明書を削除します。 + +.TP +.BR PAM_REINITIALIZE_CRED +ユーザの証明書を削除してから初期化します。 + +.TP +.BR PAM_REFRESH_CRED +既存の証明書の有効期限を延期します。 + +.SH 戻り値 + +問題がない場合は、 +.BR PAM_SUCCESS +が戻されます。その他すべての戻り値は、エラーとして扱ってください。 + +.SH エラー +.BR pam_strerror "(3)" +でテキストに変換できます。 + +.SH 準拠 +DCE-RFC 86.0, October 1995. + +.SH バグ +.sp 2 +見つかっていません。 + +.SH 関連項目 + +.BR pam_authenticate "(3), " +.BR pam_strerror "(3), " +.BR pam_open_session "(3). " + +.BR システム管理者 +、 +.BR モジュール開発者 +、 +.BR アプリケーション開発者 +用の +.BR Linux-PAM +ガイドも参照してください。 diff --git a/ja_JP.eucJP/man/man3/pam_start.3 b/ja_JP.eucJP/man/man3/pam_start.3 new file mode 100644 index 0000000000..456c507f74 --- /dev/null +++ b/ja_JP.eucJP/man/man3/pam_start.3 @@ -0,0 +1,96 @@ +.\" Hey Emacs! This file is -*- nroff -*- source. +.\" $Id: pam_start.3,v 1.1.1.1 1999-12-09 16:25:59 kuriyama Exp $ +.\" Copyright (c) Andrew G. Morgan 1996-7 +.TH PAM_START 3 "1997 Feb 15" "PAM 0.56" "Application Programmers' Manual" +.SH 名称 + +pam_start, pam_end \- PAM の起動 + +.SH 書式 +.B #include +.sp +.BI "int pam_start(const char " *service ", const char " *user ", const struct pam_conv " *conv ", pam_handle_t " **pamh_p ");" +.sp +.BI "int pam_end(pam_handle_t " *pamh ", int " pam_status ");" +.sp 2 +.SH 解説 +.TP +.B pam_start +.I PAM +ライブラリを初期化し、特定の +.IR サービス +名でアプリケーション +を確認します。インタフェースを初期化するときにユーザ名が分かっていない +場合は、 +.IR ユーザ +名を +.IR NULL +にできます。 +.IR conv +引数では、対話構造をライブラリに渡せます +(これとその他の構造の詳細については、 +.IR PAM +アプリケーションの +開発者用ガイドを参照してください)。初期化が問題なく終了すると、 +ライブラリに後でアクセスするための不透明なポインタハンドルが +.IR pamh_p +ポインタで戻されます。 + +.TP +.B pam_end +.B PAM +ライブラリを終了します。 +.IR pamh +ハンドルが関連するサービスアプリケーションが終了します。 +.IR pam_status +引数は、ライブラリからアプリケーションに戻された最新の値を渡します。 +これは、ライブラリの終了方法を示します。この引数は戻り値を運ぶ他に、 +.IR PAM_DATA_SILENT +と論理和を取り、モジュールがこの呼び出しを重大に扱わないことを +示すことがあります。 +一般的には、現在のライブラリの終了処理が +.IR fork "(2)" +を実行したプロセスで実行されること、 +および現行プロセスのスペース以外に存在するもの(ファイルなど) +を親がクリーンアップすることを示します。 + +.SH 戻り値 +.TP +.B pam_start +.TP +.PP +.B pam_end +問題がない場合は +.BR PAM_SUCCESS +が戻されます。 +.SH エラー + +.BR pam_strerror "(3)" +でテキストに変換できます。 + +.SH 準拠 +DCE-RFC 86.0, October 1995. +.PP +.sp +.BR PAM_DATA_SILENT +フラグは、1996 年 12 月 4 日現在、DCE での受け入れが保留されています。 + +.SH バグ +.sp 2 +見つかっていません。 + +.SH 関連項目 +.BR fork "(2), " +.BR pam_authenticate "(3), " +.BR pam_acct_mgmt "(3), " +.BR pam_open_session "(3), " +.BR pam_chauthtok "(3)." + +.BR システム管理者 +、 +.BR モジュール開発者 +、 +.BR アプリケーション開発者 +用の +.BR Linux-PAM +ガイドも参照してください。 diff --git a/ja_JP.eucJP/man/man3/pam_strerror.3 b/ja_JP.eucJP/man/man3/pam_strerror.3 new file mode 100644 index 0000000000..41ba448108 --- /dev/null +++ b/ja_JP.eucJP/man/man3/pam_strerror.3 @@ -0,0 +1,48 @@ +.\" Hey Emacs! This file is -*- nroff -*- source. +.\" ripped off from Rick Faith's getgroups man page +.\" $Id: pam_strerror.3,v 1.1.1.1 1999-12-09 16:25:59 kuriyama Exp $ +.\" Copyright (c) Andrew G. Morgan 1996-7 +.TH PAM_STRERROR 3 "1997 Feb 15" "PAM 0.56" "Programmers' Manual" +.SH 名称 + +pam_strerror \- PAM エラーの説明をテキストで戻す + +.SH 書式 +.B #include +.br +or, +.br +.B #include +.sp +.BI "const char *pam_strerror(" int " pam_error); +.sp 2 +.SH 解説 +.B pam_strerror + +この関数は、引数で渡された +.BR PAM +エラーを説明するテキストの行を指すポインタを戻します。 + +.SH 戻り値 + +問題がない場合、この関数は、指定されたエラーの説明を戻します。この +関数がエラーを認識できない場合は、「Unknown PAM error」が戻されます。 + +.SH 準拠 +DCE-RFC 86.0, October 1995. + +.SH バグ +.sp 2 +この関数は国際化する必要があります。 + +.SH 関連項目 +.BR pam "(8)" + +.BR システム管理者 +、 +.BR モジュール開発者 +、 +.BR アプリケーション開発者 +用の +.BR Linux-PAM +ガイドも参照してください。 diff --git a/ja_JP.eucJP/man/man3/pause.3 b/ja_JP.eucJP/man/man3/pause.3 new file mode 100644 index 0000000000..5594c79950 --- /dev/null +++ b/ja_JP.eucJP/man/man3/pause.3 @@ -0,0 +1,79 @@ +.\" 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. +.\" +.\" @(#)pause.3 8.1 (Berkeley) 6/4/93 +.\" $Id: pause.3,v 1.1.1.1 1999-12-09 16:25:59 kuriyama Exp $ +.\" +.\" jpman %Id% +.\" +.Dd June 4, 1993 +.Dt PAUSE 3 +.Os BSD 4 +.Sh 名称 +.Nm pause +.Nd 信号を受けるまで停止 +.Sh 書式 +.Fd #include +.Ft int +.Fn pause void +.Sh 解説 +.Sy pause は、 +.Xr sigsuspend 2 +.Sy に置き換えられました。 +.Pp +.Fn pause +関数は、 +.Xr kill 2 +関数かインターバルタイマ +.Xr (setitimer 2 +参照) からシグナルを受けるまで、プロセスを強制的に停止します。 +.Fn pause +の実行中に開始されたシグナルハンドラが終了すると、 +.Fn pause +の呼び出しは戻ります。 +.Sh 戻り値 +常に \-1 が戻されます。 +.Sh 誤り +.Fn pause +関数は、常に以下を戻します。 +.Bl -tag -width [EINTR] +.It Bq Er EINTR +呼び出しが割り込まれました。 +.El +.Sh 関連項目 +.Xr kill 2 , +.Xr select 2 , +.Xr sigsuspend 2 +.Sh 歴史 +.Fn pause +システムコールは、 +.At v6 +に追加されました。 diff --git a/ja_JP.eucJP/man/man3/pcap.3 b/ja_JP.eucJP/man/man3/pcap.3 new file mode 100644 index 0000000000..8062e263cf --- /dev/null +++ b/ja_JP.eucJP/man/man3/pcap.3 @@ -0,0 +1,338 @@ +.\" Copyright (c) 1994, 1996, 1997 +.\" 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: (1) source code distributions +.\" retain the above copyright notice and this paragraph in its entirety, (2) +.\" distributions including binary code include the above copyright notice and +.\" this paragraph in its entirety in the documentation or other materials +.\" provided with the distribution, and (3) all advertising materials mentioning +.\" features or use of this software display the following acknowledgement: +.\" ``This product includes software developed by the University of California, +.\" Lawrence Berkeley Laboratory and its contributors.'' 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 ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED +.\" WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF +.\" MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. +.\" +.\" $Id: pcap.3,v 1.1.1.1 1999-12-09 16:25:59 kuriyama Exp $ +.\" +.TH PCAP 3 "24 June 1998" +.SH 名称 +pcap \- Packet Capture ライブラリ +.SH 書式 +.nf +.ft B +#include +.ft +.LP +.ft B +pcap_t *pcap_open_live(char *device, int snaplen, +.ti +8 +int promisc, int to_ms, char *ebuf) +pcap_t *pcap_open_offline(char *fname, char *ebuf) +pcap_dumper_t *pcap_dump_open(pcap_t *p, char *fname) +.ft +.LP +.ft B +char errbuf[PCAP_ERRBUF_SIZE]; +char *pcap_lookupdev(char *errbuf) +int pcap_lookupnet(char *device, bpf_u_int32 *netp, +.ti +8 +bpf_u_int32 *maskp, char *errbuf) +.ft +.LP +.ft B +int pcap_dispatch(pcap_t *p, int cnt, +.ti +8 +pcap_handler callback, u_char *user) +int pcap_loop(pcap_t *p, int cnt, +.ti +8 +pcap_handler callback, u_char *user) +void pcap_dump(u_char *user, struct pcap_pkthdr *h, +.ti +8 +u_char *sp) +.ft +.LP +.ft B +int pcap_compile(pcap_t *p, struct bpf_program *fp, +.ti +8 +char *str, int optimize, bpf_u_int32 netmask) +int pcap_setfilter(pcap_t *p, struct bpf_program *fp) +.ft +.LP +.ft B +u_char *pcap_next(pcap_t *p, struct pcap_pkthdr *h) +.ft +.LP +.ft B +int pcap_datalink(pcap_t *p) +int pcap_snapshot(pcap_t *p) +int pcap_is_swapped(pcap_t *p) +int pcap_major_version(pcap_t *p) +int pcap_minor_version(pcap_t *p) +int pcap_stats(pcap_t *p, struct pcap_stat *ps) +FILE *pcap_file(pcap_t *p) +int pcap_fileno(pcap_t *p) +void pcap_perror(pcap_t *p, char *prefix) +char *pcap_geterr(pcap_t *p) +char *pcap_strerror(int error) +.ft +.LP +.ft B +void pcap_close(pcap_t *p) +void pcap_dump_close(pcap_dumper_t *p) +.ft +.fi +.SH 解説 +Packet Capture ライブラリは、パケット獲得システムの高レベルなインタフェー +スを提供します。このメカニズムでは、ネットワークのすべてのパケットに、 +その他のホスト用であってもアクセスできます。 +.SH ルーチン +.B pcap_open_live() +は、ネットワークのパケットを調べるためのパケット獲得記述子を取得するた +めに用います。 +.I device +は、開くネットワークデバイスを指定するストリングです。 +.I snaplen +は、獲得する最大バイト数を指定します。 +.I promisc +は、インタフェースを無差別モードにするかどうかを指定します(このパラメー +タが偽である場合でも、その他の理由でインタフェースが無差別モードになる +ことがあります)。 +.I to_ms +は、読込みタイムアウトをミリ秒単位で指定します。 +.I ebuf +は、エラーテキストを戻すために使用するもので、 +.B pcap_open_live() +がエラーになり、 +.BR NULL +が戻された場合に設定されます。 +.PP +.B pcap_open_offline() +は、読込み用の「保存ファイル」を開くために呼び出します。 +.I fname +は、開くファイルの名前を指定します。このファイルは、 +.B tcpdump(1) +と +.B tcpslice(1) +で使用するファイルと同じフォーマットになっています。エラーテキストが戻 +される場合、 +.BR stdin +.I ebuf +stdin.ebuf +のシノニムで名前「-」が使用されます。これは、 +.B pcap_open_offline() +がエラーになり、 +.BR NULL +が戻される場合に設定されます。 +.PP +.B pcap_dump_open() +は、書込み用の「保存ファイル」を開くために呼び出します。エラーが発生し +た場合は、 +.BR stdout +.B NULL +のシノニムで名前「-」が戻されます。 +.I p +は、 +.B pcap_open_offline() +か +.B pcap_open_live() +が戻す +.I pcap +構造体です。 +.I fname +は、開くファイルの名前を指定します。 +.B NULL +が戻された場合は、 +.B pcap_geterr() +を使用してエラーテキストを入手できます。 +.PP +.B pcap_lookupdev() +は、 +.B pcap_open_live() +と +.B pcap_lookupnet() +での使用に適したネットワークデバイスのポインタを戻します。エラーが発生 +した場合は +.B NULL +が戻され、 +.I errbuf +に適切なエラーメッセージが入ります。 +.PP +.B pcap_lookupnet() +は、ネットワークデバイス +.BR device +に関連するネットワーク番号とマスクを決めます。 +.I netp +と +.I maskp +は、 +.I bpf_u_int32 +ポインタです。エラーが発生した場合は \-1 が戻されます。この場合は +.I errbuf +に適切な +エラーメッセージが入ります。 +.PP +.B pcap_dispatch() +は、パケットの収集と処理に使用します。 +.I cnt +は、戻る前に処理するパケットの最大数を指定します。 +.I cnt +を \-1 にすると、1つのバッファで受け取ったすべてのパケットが処理されま +す。 +.I cnt +を 0にすると、エラーが発生するか、 +.B EOF +に達するか、読込みタイムアウトになる(ライブ読込みを行ない、0以外の読込 +みタイムアウトを指定している場合)までパケットが処理されます。 +.I callback +は、呼び出すルーチンを指定します。このルーチンの呼び出しに使用する引数 +は、 +.BR pcap_dispatch() +から渡される +.I u_char +ポインタ、 +.I pcap_pkthdr +構造体のポインタ(実際のネットワークヘッダとデータの前に置かれる)、パケッ +トデータの +.I u_char +ポインタです。戻り値は、読み込まれたパケットの数です。「保存ファイル」 +で +.B EOF +に達するとゼロが戻されます。エラーが発生した場合は \-1 が戻されます。 +.B pcap_perror() +か +.BR pcap_geterr() +を使用してエラーテキストを表示してください。 +.PP +.B pcap_dump() +は、 +.BR pcap_dump_open() +で開いた「保存ファイル」にパケットを出力します。呼び出し引数が、 +.BR pcap_dispatch() +での使用に適していることに注意してください。 +.PP +.B pcap_compile() +は、ストリング +.I str +をフィルタプログラムにコンパイルします。 +.I program +は、 +.I bpf_program +構造体のポインタで、 +.BR pcap_compile() +によって値が入力されます。 +.I optimize +は、作成されたコードで最適化を実行するかどうかを制御します。 +.I netmask +は、ローカルネットのネットマスクを指定します。 +.PP +.B pcap_setfilter() +は、フィルタプログラムを指定します。 +.I fp +は +.I bpf_program +構造体の配列を指すポインタで、一般的には +.BR pcap_compile() +を呼び +出した結果になっています。エラーが発生した場合は \-1 が戻され、エラー +が発生しなかった場合は 0が戻されます。 +.PP +.B pcap_loop() +は、 +.I cnt +パケットが処理されるかエラーが発生するまでパケットの読込みが続くことを +除いて、 +.B pcap_dispatch() +と同じです。ライブ読込みタイムアウトが発生しても戻りません。 +.B pcap_open_live() +に 0以外の読込みタイムアウトを指定して +.B pcap_dispatch() +を呼び出すと、タイムアウトが発生した場合に届いたパケットの受信と処理が +できます。 +.I cnt +に負の値を指定すると、 +.B pcap_loop() +は無限にループします(最低でもエラーが発生するまでループします)。 +.PP +.B pcap_next() +は、次のパケットの +.I u_char +ポインタを戻します。 +.PP +.B pcap_datalink() +は、 +.BR DLT_EN10MB +などのリンクレイヤタイプを戻します。 +.PP +.B pcap_snapshot() +は、 +.B pcap_open_live +を呼び出した場合に指定されるスナップショットの長さを戻します。 +.PP +.B pcap_is_swapped() +は、現在の「保存ファイル」が、現在のシステムとは異なるバイトオーダを使 +用している場合に真を戻します。 +.PP +.B pcap_major_version() +は、保存ファイルの書込みに使用した pcap のメジャーバージョン番号を戻します。 +.PP +.B pcap_minor_version() +は、保存ファイルの書込みに使用した pcap のマイナーバージョン番号を戻します。 +.PP +.B pcap_file() +は「保存ファイル」の名前を戻します。 +.PP +.B int pcap_stats() +は 0を戻し、 +.B pcap_stat +構造体にデータを入力します。値は、実行の開始から呼び出しまでのパケット +統計を表します。エラーが発生した場合、または基礎となるパケット獲得でパ +ケット統計がサポートされていない場合は \-1 が戻されます。 +.B pcap_perror() +か +.B pcap_geterr() +でエラーテキストを入手してください。 +.PP +.B pcap_fileno() +は、「保存ファイル」のファイル記述子番号を戻します。 +.PP +.B pcap_perror() +は、最後の pcap ライブラリエラーのテキストを +.IR prefix +に続けて +.BR stderr +に出力します。 +.PP +.B pcap_geterr() +は、最後の pcap ライブラリエラーに関するエラーテキストを戻します。 +.PP +.B pcap_strerror() +は、 +.BR strerror(1) +が使用できない場合に使用できます。 +.PP +.B pcap_close() +は、 +.I p +に関連するファイルを閉じ、リソースの割り振りを解除します。 +.PP +.B pcap_dump_close() +は「保存ファイル」を閉じます。 +.SH 関連項目 +tcpdump(1), +tcpslice(1) +.SH 作者 +カリフォルニア大学バークレー校、Lawrence Berkeley National Laboratory +の Van Jacobson、Craig Leres、Steven McCanne +.LP +現行バージョンは、以下の匿名 ftp で使用できます。 +.LP +.RS +.I ftp://ftp.ee.lbl.gov/libpcap.tar.Z +.RE +.SH バグ +バグを発見した場合は、libpcap@ee.lbl.gov に報告してください。 diff --git a/ja_JP.eucJP/man/man3/popen.3 b/ja_JP.eucJP/man/man3/popen.3 new file mode 100644 index 0000000000..25dc672588 --- /dev/null +++ b/ja_JP.eucJP/man/man3/popen.3 @@ -0,0 +1,188 @@ +.\" Copyright (c) 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. +.\" +.\" @(#)popen.3 8.2 (Berkeley) 5/3/95 +.\" +.\" jpman %Id% +.\" +.Dd May 3, 1995 +.Dt POPEN 3 +.Os +.Sh 名称 +.Nm popen , +.Nm pclose +.Nd I/O 処理 +.Sh 書式 +.Fd #include +.Ft FILE * +.Fn popen "const char *command" "const char *type" +.Ft int +.Fn pclose "FILE *stream" +.Sh 解説 +.Fn popen +関数は、双方向パイプフォークを作成し、シェルを起動してプロセスを +.Dq 開き +ます。親プロセスで以前に +.Fn popen +を呼び出して開いたストリームは、 +新しい子プロセスで閉じられます。以前の +.Fn popen +は一方向パイプで実現されていたため、 +.Fn popen +の多くのシステでは、 +.Fa type +引数で読み取りか書込みを指定していました。 +両方は指定できませんでした。現在の +.Fn popen +は双方向パイプで実現されているので、 +.Fa type +引数で双方向データフローを要求できます。 +.Fa type +引数はナル文字で終わる文字列のポインタで、読み取りの場合は +.Ql r +、書込みの場合は +.Ql w +、読み取りと書込みの場合は +.Ql r+ +である必要があります。 +.Pp +.Fa command +引数は、シェルコマンドラインを含む、 +ナル文字で終わる文字列のポインタです。このコマンドは、 +.Fl c +フラグで +.Pa /bin/sh +に渡されます。解釈がある場合はシェルで実行されます。 +.Pp +.Fn popen +からの戻り値は標準 +.Tn I/O +ストリームで、保存するためには +.Fn fclose +ではなく +.Fn pclose +で閉じる必要があります。 +このようなストリームに書き込むと、 +コマンドの標準入力に書き込まれます。 +コマンドの標準出力は、 +コマンドで変更しないかぎり、 +.Fn popen +を呼び出したプロセスのものと同じです。 +.Fn popen +で開いたストリームから読み込むと、 +コマンドの標準出力から読み込まれます。 +コマンドの標準入力は、 +.Fn popen +を呼び出したプロセスのものと +同じです。 +.Pp +出力 +.Fn popen +ストリームは、デフォルトで完全にバッファに入ります。 +.Pp +.Fn pclose +関数は、関連プロセスの終了を待機し、 +.Fn wait4 +が戻す、コマンドの終了ステータスを戻します。 +.Sh 戻り値 +.Fn popen +関数は、 +.Xr fork 2 +か +.Xr pipe 2 +でエラーが発生した場合、またはメモリを割り振れない場合は +.Dv ヌル +を戻します。 +.Pp +.Fn pclose +関数は、 +.Fn popen +で +.Dq 開いた +コマンドに +.Fa stream +が関連していない場合、または +.Fa stream +が +.Fn pclose +ですでに +.Dq 閉じている +場合、あるいは +.Xr wait4 2 +でエラーが発生した場合は \-1 を戻します。 +.Sh 誤り +.Fn popen +関数は +.Va errno +を設定しません。 +.Sh 関連項目 +.Xr sh 1 , +.Xr fork 2 , +.Xr pipe 2 , +.Xr wait4 2 , +.Xr fclose 3 , +.Xr fflush 3 , +.Xr fopen 3 , +.Xr stdio 3 , +.Xr system 3 +.Sh バグ +読み取り用に開いたコマンドの標準入力は、 +.Fn popen +を呼び出したプロセスとシークオフセットを共有するので、 +オリジナルプロセスがバッファ読み取りを実行すると、 +コマンドの入力位置が予想どおりにならないことがあります。 +書込み用に開いたコマンドの出力は、 +オリジナルプロセスのものと混ざることがあります。後者は、 +.Fn popen +の前に +.Xr fflush 3 +を呼び出すことで回避できます。 +.Pp +シェルを実行する場合のエラーは、 +コマンドを実行する場合のシェルのエラー、 +またはコマンドの途中終了と区別できません。 +終了ステータスの 127 のみがヒントになります。 +.Pp +.Fn popen +の引数は常に +.Xr sh 1 +を呼び出し、 +.Xr csh 1 +は呼び出しません。 +.Sh 歴史 +.Fn popen +関数と +.Fn pclose +関数は、 +.At v7 +に追加されました。双方向機能は、 +.Tn FreeBSD +2.2.6 で追加されました。 diff --git a/ja_JP.eucJP/man/man3/printf.3 b/ja_JP.eucJP/man/man3/printf.3 new file mode 100644 index 0000000000..f8855126ad --- /dev/null +++ b/ja_JP.eucJP/man/man3/printf.3 @@ -0,0 +1,614 @@ +.\" Copyright (c) 1990, 1991, 1993 +.\" 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. +.\" +.\" @(#)printf.3 8.1 (Berkeley) 6/4/93 +.\" +.\" jpman %Id% +.\" +.Dd June 4, 1993 +.Dt PRINTF 3 +.Os +.Sh 名称 +.Nm printf , +.Nm fprintf , +.Nm sprintf , +.Nm snprintf , +.Nm asprintf , +.Nm vprintf , +.Nm vfprintf, +.Nm vsprintf , +.Nm vsnprintf , +.Nm vasprintf +.Nd フォーマット済み出力変換 +.Sh 書式 +.Fd #include +.Ft int +.Fn printf "const char *format" ... +.Ft int +.Fn fprintf "FILE *stream" "const char *format" ... +.Ft int +.Fn sprintf "char *str" "const char *format" ... +.Ft int +.Fn snprintf "char *str" "size_t size" "const char *format" ... +.Ft int +.Fn asprintf "char **ret" "const char *format" ... +.Fd #include +.Ft int +.Fn vprintf "const char *format" "va_list ap" +.Ft int +.Fn vfprintf "FILE *stream" "const char *format" "va_list ap" +.Ft int +.Fn vsprintf "char *str" "const char *format" "va_list ap" +.Ft int +.Fn vsnprintf "char *str" "size_t size" "const char *format" "va_list ap" +.Ft int +.Fn vasprintf "char **ret" "const char *format" "va_list ap" +.Sh 解説 +.Fn printf +ファミリの関数は、以下で説明する +.Fa format +に従って出力を実行します。 +.Fn printf +と +.Fn vprintf +は、 +.Em stdout +に出力を実行します。 +.Fn fprintf +と +.Fn vfprintf +は、指定された出力ストリームに出力を実行します。 +.Fn sprintf , +.Fn snprintf , +.Fn vsprintf , +.Fn vsnprintf +は、キャラクタ文字列 +.Fa str +に書き込みを行ないます。 +.Fn asprintf +と +.Fn vasprintf +は、 +.Xr malloc 3 +や +.Xr realloc 3 +で新しい文字列をダイナミックに割り振ります。 +.Pp +この関数は、 +.Fa format +文字列の制御に従って出力を実行します。 +この文字列は、その後の引数 +(または +.Xr stdarg 3 +の可変長引数機能でアクセスできる引数) +を出力用に変換する方法を指定します。 +.Pp +この関数は、出力された文字数 +(文字列への出力を終了する、最後の +.Ql \e0 +は含まない) を戻します。 +.Pp +.Fn asprintf +と +.Fn vasprintf +は、文字列を収容する十分な大きさのバッファを指すポインタを +.Fa ret +引数で戻します。記憶域が不要になった場合は、このポインタを +.Xr free 3 +に渡して、割り振られた記憶域を解放してください。 +十分なスペースを割り振れない場合、 +.Fn asprintf +と +.Fn vasprintf +は -1 を戻し、 +.Fa ret +をヌルポインタに設定します。 +.Pp +.Fn snprintf +と +.Fn vsnprintf +は、最大で +.Fa size Ns \-1 +の文字を出力文字列に書き込みます +(size 番目の文字は最後の +.Ql \e0 +になります)。 +戻り値が +.Fa size +引数以上である場合は、文字列が短すぎたため、 +出力された文字の一部が破棄されたことになります。 +.Pp +.Fn sprintf +と +.Fn vsprintf +は、 +.Fa size +が無限であることを仮定します。 +.Pp +フォーマット文字列は、0 以上の命令から構成されています。 +この命令には、出力ストリームに変更されずにコピーされる +通常文字 +.Cm ( % +以外)、およびゼロ以上の後続引数を取り出す変換指定があります。 +それぞれの変換指定は、文字 +.Cm % +で導入されます。引数は、 +タイププロモーション後に変換指示子に適切に対応する必要があります。 +.Cm % +の後には、以下が順番に現れます。 +.Bl -bullet +.It +後に +.Cm $ +が続く 10 進数文字列から構成され、 +次にアクセスする引数を指定する任意のフィールド。 +このフィールドを指定しないと、最後にアクセスされた +引数に続く引数が使用されます。引数には +.Cm 1 から始まる番号が付きます。 +フォーマット文字列で、 +アクセスできない引数がアクセスできる引数に点在する場合、 +結果は不定になります。 +.It +0 個以上の以下のフラグ +.Bl -hyphen +.It +値を「代替フォーム」に変換することを指定する +.Cm # +文字。 +.Cm c , +.Cm d , +.Cm i , +.Cm n , +.Cm p , +.Cm s , +および +.Cm u +変換の場合、このオプションは効果を発揮しません。 +.Cm o +変換の場合は、数値の精度が上がり、 +出力文字列の最初の文字が 0 になります +(明確な精度の 0 で 0 が出力される場合を除く)。 +.Cm x +変換と +.Cm X +変換の場合は、0 以外の結果の前に文字列 +.Ql 0x +.Cm ( X +変換の場合は +.Ql 0X ) +が付きます。 +.Cm e , +.Cm E , +.Cm f , +.Cm g , +および +.Cm G +変換の場合は、小数点以下がなくても小数点が結果に常に含まれます +(通常の場合、小数点以下がある場合にかぎり、 +変換結果に小数点が付きます)。 +.Cm g +および +.Cm G +変換の場合は、後続の 0 が通常の場合のように結果から削除されません。 +.It +0 のパディングを指定する +.Sq Cm \&0 +文字。 +.Cm n +変換を除くすべての変換では、 +変換値の左にブランクではなく 0 が付きます。数値変換 +.Pf ( Cm d , +.Cm i , +.Cm o , +.Cm u , +.Cm i , +.Cm x , +および +.Cm X ) +で精度が指定されている場合、 +.Sq Cm \&0 +フラグは無視されます。 +.It +負のフィールド幅を示す +.Sq Cm \- +フラグ。変換値はフィールド境界の左で揃えられます。 +.Cm n +変換以外では、変換値の左にブランクか 0 が付くのではなく、 +変換値の右にブランクが付きます。 +.Sq Cm \- +と +.Sq Cm \&0 +を両方とも指定した場合は +.Sq Cm \&0 +が無効になります。 +.It +スペース。符号付き変換 +.Pf ( Cm d , +.Cm e , +.Cm E , +.Cm f , +.Cm g , +.Cm G , +および +.Cm i ) +で作成される正の数値の前にブランクが残ります。 +.It +.Sq Cm + +文字。符号付き変換で作成される数値の前に常に符号が付きます。 +.Sq Cm + +とスペースを両方とも指定した場合はスペースが無効になります。 +.El +.It +任意の 10 進数文字列。最低フィールド幅を指定します。 +変換値の文字数がフィールドの幅より少ない場合は、左にスペースが付いて +(左揃えフラグを指定した場合は右にスペースが付いて) +フィールドの幅に合わせられます。 +.It +ピリオド +.Sq Cm \&. +の次に任意の数字文字列が続く形式の精度。 +数字文字列を省略した場合、精度はゼロになります。 +.Cm d , +.Cm i , +.Cm o , +.Cm u , +.Cm x , +および +.Cm X +変換では、この精度の最低桁数が出力されます。 +.Cm e , +.Cm E , +および +.Cm f +変換では、小数点以下にこの精度の桁数が出力されます。 +.Cm g +および +.Cm G +変換では、この精度の最大有効桁数が出力されます。 +.Cm s +変換では、この精度の最大文字数が文字列から出力されます。 +.It +オプション文字 +.Cm h +。後の +.Cm d , +.Cm i , +.Cm o , +.Cm u , +.Cm x , +および +.Cm X +変換が +.Em short int +引数か +.Em unsigned short int +引数に対応すること、または後の +.Cm n +変換が +.Em short int +引数のポインタに対応することを指定します。 +.It +オプション文字 +.Cm l +。後の +.Cm d , +.Cm i , +.Cm o , +.Cm u , +.Cm x , +および +.Cm X +変換が +.Em long int +引数か +.Em unsigned long int +引数のポインタに適用されること、または後の +.Cm n +変換が +.Em long int +引数のポインタに対応することを指定します。 +.It +オプション文字 +.Cm q +。後の +.Cm d , +.Cm i , +.Cm o , +.Cm u , +.Cm x , +および +.Cm X +変換が +.Em quad int +引数か +.Em unsigned quad int +引数に対応すること、または後の +.Cm n +変換が +.Em quad int +引数のポインタに対応することを指定します。 +.It +オプション文字 +.Cm L +。後の +.Cm e , +.Cm E , +.Cm f , +.Cm g , +および +.Cm G +変換が +.Em long double +引数に対応することを指定します。 +.Em long double +の値が、 +.Tn VAX +コンパイラと +.Tn Tahoe +コンパイラではサポートされていないことに注意してください。 +.It +適用する変換のタイプを指定する文字。 +.El +.Pp +フィールド幅か精度、またはその両方は、アスタリスク +.Ql * +、または数字文字列の代わりに 1 つ以上の 10 進数と +.Ql $ +が続くアスタリスクで指定できます。この場合、 +.Em int +引数はフィールド幅か精度を提供します。 +負のフィールド幅は、 +正のフィールド幅が続く左揃えフラグとして扱われます。 +負の精度は、欠落しているものとして扱われます。 +1 つのフォーマット命令に位置引数 (nn$) +と位置以外の引数が混在している場合、 +結果は未定義になります。 +.Pp +変換指示子とその意味は次のとおりです。 +.Pp +.Bl -tag -width "diouxX" +.It Cm diouxX +.Em int +引数 (または適切な可変引数) が、符号付き 10 進 +.Pf ( Cm d +と +.Cm i ) +、符号なし 8 進 +.Pq Cm o +、符号なし 10 進 +.Pq Cm u +、符号なし 16 進 +.Pf ( Cm x +と +.Cm X ) +に変換されます。 +.Cm x +変換には文字 +.Cm abcdef +、 +.Cm X +変換には文字 +.Cm ABCDEF +が使用されます。 +精度は、出力する最低桁数を指定します。 +変換値で少ない桁しか必要ない場合は、 +左に 0 が付きます。 +.It Cm DOU +.Em long int +引数が、符号付き 10 進、符号なし 8 進、符号なし 10 進に、 +それぞれのフォーマットが +.Cm ld , +.Cm lo , +.Cm lu +であるかのように変換されます。 +この変換文字には問題があるので、最終的には出力されません。 +.It Cm eE +.Em double +引数が丸められ、 +.Sm off +.Pf [\-]d Cm \&. No ddd Cm e No \\*(Pmdd +.Sm of +のスタイルに変換されます。 +小数点以上は 1 桁で、小数点以下の桁数は精度と等しくなります。 +精度が指定されていない場合は 6 が仮定されます。 +精度がゼロである場合、小数点は出力されません。 +.Cm E +変換では、文字 +.Cm E +.Cm ( e +ではない) が使用されて指数が導入されます。 +指数には、最低 2 桁が常に含まれます。 +値が 0 である場合、指数は 00 になります。 +.It Cm f +.Em double +引数が丸められ、 +.Sm off +.Pf [-]ddd Cm \&. No ddd +.Sm on +のスタイルで 10 進に変換されます。 +小数点以下の桁数は、精度指定に等しくなります。 +精度が指定されていない場合は 6 が仮定されます。 +精度が 0 である場合、小数点は出力されません。 +小数点が出力される場合は、小数点以上に最低 1 桁が出力されます。 +.It Cm g +.Em double +引数が、スタイル +.Cm f +か +.Cm e +.Cm ( G +変換の場合は +.Cm E ) +で変換されます。精度は有効桁数を指定します。 +精度が指定されていない場合は 6 が仮定されます。 +精度がゼロである場合は 1 として扱われます。 +変換後の指数が -4 より小さいか精度以上である場合は、スタイル +.Cm e +が使用されます。 +後続のゼロは、結果の小数部から削除されます。 +小数点は、小数点以下に最低でも 1 桁ある場合に出力されます。 +.It Cm c +.Em int +引数が +.Em unsigned char +に変換され、変換された文字が出力されます。 +.It Cm s +.Dq Em char * +引数が、文字型の配列を指すポインタ +(文字列へのポインタ) とみなされます。 +配列の文字は、最後のナル文字まで出力されます +(ナル文字は出力されません)。 +精度が指定されている場合、指定された数以上は出力されないので、 +ナル文字は必要ありません。 +精度が指定されていない場合、 +または精度が配列のサイズ以上である場合、 +配列の最後にはナル文字が必要です。 +.It Cm p +.Dq Em void * +ポインタ引数が、16 進で +.Ql ( %#x +か +.Ql %#lx +でのように) 出力されます。 +.It Cm n +これまでに出力された文字数が、 +.Dq Em int * +ポインタ引数 (または可変ポインタ引数) +が指定する整数に保存されます。 +引数は変換されません。 +.It Cm % +.Ql % +が出力されます。引数は変換されません。 +完全な変換指定は +.Ql %% +です。 +.El +.Pp +フィールド幅が存在しない場合、またはフィールド幅が小さい場合でも、 +フィールドは切り捨てられません。変換結果がフィールド幅より大きい場合、 +フィールドは変換結果を収容できるようになるまで拡張されます。 +.Sh 例 +.br +.Em weekday +と +.Em month +が文字列へのポインタである場合に +`Sunday, July 3, 10:02' という形式で日付と時刻を出力する場合: +.Bd -literal -offset indent +#include +fprintf(stdout, "%s, %s %d, %.2d:%.2d\en", + weekday, month, day, hour, min); +.Ed +.Pp +\*(Pi を小数第 5 位まで出力する場合: +.Bd -literal -offset indent +#include +#include +fprintf(stdout, "pi = %.5f\en", 4 * atan(1.0)); +.Ed +.Pp +128 バイトの文字列を割り振り、そこに出力する場合: +.Bd -literal -offset indent +#include +#include +#include +char *newfmt(const char *fmt, ...) +{ + char *p; + va_list ap; + if ((p = malloc(128)) == NULL) + return (NULL); + va_start(ap, fmt); + (void) vsnprintf(p, 128, fmt, ap); + va_end(ap); + return (p); +} +.Ed +.Sh 関連項目 +.Xr printf 1 , +.Xr scanf 3 +.Sh 規格 +.Fn fprintf , +.Fn printf , +.Fn sprintf , +.Fn vprintf , +.Fn vfprintf , +および +.Fn vsprintf +関数は、 +.St -ansiC +に準拠しています。 +.Sh 歴史 +.Fn asprintf +関数と +.Fn vasprintf +関数は、GNU C ライブラリに追加されました。これは、 +.Fx 2.2 +で Peter Wemm によって実現されましたが、 +.Ox 2.3 +では後に Todd C. Miller +のシステムで置き換えられました。 +.Sh バグ +変換フォーマット +.Cm \&%D , +.Cm \&%O , +および +.Cm \&%U +は標準的ではなく、下位互換性を保つために提供されています。 +.Cm %p +フォーマットに ( +.Sq Cm 0 +フラグか精度を指定することで) 0 をパディングすること、 +.Cm %n +変換と +.Cm %p +変換で +.Sq Cm # +フラグを指定すること、 +.Cm %Ld +のような無意味な組み合わせは標準的でありません。 +このような組み合わせは避けてください。 +.Pp +.Fn sprintf +と +.Fn vsprintf +では無限に長い文字列が仮定されるので、 +呼び出し側では実際のスペースを +オーバフローしないように注意する必要があります。 +オーバフローしないことを保証することは困難です。 +安全のため、代わりに +.Fn snprintf +インタフェースを使用してください。 +残念ながら、このインタフェースは移植できません。 diff --git a/ja_JP.eucJP/man/man3/property.3 b/ja_JP.eucJP/man/man3/property.3 new file mode 100644 index 0000000000..3a23cb9ec5 --- /dev/null +++ b/ja_JP.eucJP/man/man3/property.3 @@ -0,0 +1,96 @@ +.\" +.\" Copyright (c) 1998 Jordan Hubbard +.\" +.\" 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 DEVELOPERS ``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 DEVELOPERS 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: property.3,v 1.1.1.1 1999-12-09 16:25:58 kuriyama Exp $ +.\" " +.Dd October 7, 1998 +.Os +.Dt properties 3 +.Sh 名称 +.Nm properties_read , +.Nm propery_find , +.Nm properties_free +.Nd 単純なプロパティリストを ascii から作成する関数 +.Sh 書式 +.Fd #include +.Fd #include +.Ft properties +.Fn properties_read "int fd" +.Ft char * +.Fn property_find "properties list" "char *name" +.Ft void +.Fn properties_free "properties list" +.Pp +.Xr cc 1 +コマンド行で +.Va -lutil +を指定してリンクする。 +.Sh 解説 +.nf +typedef struct _properties { + struct _properties *next; + char *name; + char *value; +} *properties; +.fi + +関数 +.Fn properties_read +は、 +.Fa fd +で渡されたファイル記述子から名前と値のペアを読み込み、 +ファイルの内容が適切に分析されたものとして新しい +プロパティリストのヘッドを戻します。エラーが発生した場合は +NULL を戻します。 +.Pp +.Fn property_find +は、 +.Fa name +という名前のプロパティの関連値ストリングを +戻します。このプロパティが見つからない場合は +NULL を戻します。 +.Pp +.Fn properties_free +は、 +.Fn properties_read +が戻した構造体が必要なくなった +場合にそれを解放します。 +.Sh ファイル形式 +ファイルの各プロパティは、 +.Fa name = value +というフォーマットになっていると +想定されます。 +.Fa name +は英数字文字列 (および `=' 以外の特殊文字) です。 +.Fa value +は、改行文字で終わる、テキストの任意のストリングです。改行する +場合は、値全体を { } で囲む必要があります。# か ; で始まる行は +コメントとみなされて無視されます。 +.Sh 関連項目 +.Xr auth_getval 3 +.Sh バグ +単純です。 +.Sh 作者 +Jordan Hubbard diff --git a/ja_JP.eucJP/man/man3/psignal.3 b/ja_JP.eucJP/man/man3/psignal.3 new file mode 100644 index 0000000000..9bf48f03ad --- /dev/null +++ b/ja_JP.eucJP/man/man3/psignal.3 @@ -0,0 +1,91 @@ +.\" Copyright (c) 1983, 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. +.\" +.\" @(#)psignal.3 8.2 (Berkeley) 2/27/95 +.\" +.\" jpman %Id% +.\" +.Dd February 27, 1995 +.Dt PSIGNAL 3 +.Os BSD 4.2 +.Sh 名称 +.Nm psignal , +.Nm sys_siglist , +.Nm sys_signame +.Nd システムシグナルメッセージ +.Sh 書式 +.Fd #include +.Ft void +.Fn psignal "unsigned sig" "const char *s" +.Vt extern const char * const sys_siglist[]; +.Vt extern const char * const sys_signame[]; +.Sh 解説 +.Fn psignal +関数は、シグナル番号 +.Fa sig +の説明メッセージ文字列を特定し、標準エラーに書き込みます。 +.Pp +引数 +.Fa s +がヌルではなく、ナル文字を指していない場合、 +メッセージ文字列の前に +.Fa s +が標準エラーファイル記述子に書き込まれ、 +その直後にコロンとスペースが続きます。 +シグナル番号が認識されない場合 +.Pq Xr sigaction 2 , +文字列 +.Dq "Unknown signal +が書き込まれます。 +.Pp +メッセージ文字列には、 +認識されたシグナル番号のインデックスが付いた外部配列 +.Va sys_siglist +で直接アクセスできます。外部配列 +.Va sys_signame +も同じように使用できます。 +この外部配列には、信号の簡潔な省略形が小文字で含まれています。 +この省略形は、ユーザ入力で信号名を認識する場合に便利です。 +定義済み変数 +.Dv NSIG +には、 +.Va sys_siglist +と +.Va sys_signame +の文字列数が含まれています。 +.Sh 関連項目 +.Xr sigaction 2 , +.Xr perror 3 +.Sh 歴史 +.Fn psignal +関数は、 +.Bx 4.2 +に追加されました。 diff --git a/ja_JP.eucJP/man/man3/pthread.3 b/ja_JP.eucJP/man/man3/pthread.3 new file mode 100644 index 0000000000..1866c8f88e --- /dev/null +++ b/ja_JP.eucJP/man/man3/pthread.3 @@ -0,0 +1,256 @@ +.\" Copyright (c) 1996 John Birrell . +.\" 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 John Birrell. +.\" 4. Neither the name of the author nor the names of any co-contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY JOHN BIRRELL 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: pthread.3,v 1.1.1.1 1999-12-09 16:25:58 kuriyama Exp $ +.\" +.\" jpman %Id$ +.\" +.Dd September 10, 1998 +.Dt PTHREAD 3 +.Os BSD 4 +.Sh 名称 +.Nm pthread +.Nd POSIX スレッド関数 +.Sh 解説 +POSIX スレッドは、プロセスで制御の複数のフロー +(スレッド) を要求するアプリケーションをサポートする関数です。 +マルチスレッドは、 +プログラムのパフォーマンスを改善するために使用されます。 +このセクションでは、 +POSIX スレッド関数の概要について以下のグループに分けて説明します。 +.Bl -bullet -offset indent +.It +スレッドルーチン +.It +属性オブジェクトルーチン +.It +Mutex ルーチン +.It +条件変数ルーチン +.It +読み書きロックルーチン +.It +スレッド固有コンテキストルーチン +.It +クリーンアップルーチン +.El +.Sh スレッドルーチン +.Bl -tag -width Er +.It int Fn pthread_create "pthread_t *thread" "const pthread_attr_t *attr" "void *(*start_routine)(void *)" "void *arg" +実行の新しいスレッドを作成します。 +.It int Fn pthread_detach "pthread_t thread" +スレッドに削除マークを付けます。 +.It int Fn pthread_equal "pthread_t t1" "pthread_t t2" +2 つのスレッド ID を比較します。 +.It void Fn pthread_exit "void *value_ptr" +呼び出しスレッドを終了します。 +.It int Fn pthread_join "pthread_t thread" "void **value_ptr" +呼び出しスレッドが、指定したスレッドの終了を待つようになりす。 +.It int Fn pthread_once "pthread_once_t *once_control" "void (*init_routine)(void)" +初期化ルーチンを 1 回呼び出します。 +.It pthread_t Fn pthread_self void +呼び出しスレッドのスレッド ID を戻します。 +.El +.Sh 属性オブジェクトルーチン +.Bl -tag -width Er +.It int Fn pthread_attr_destroy "pthread_attr_t *attr" +スレッドの属性オブジェクトを破壊します。 +.It int Fn pthread_attr_getinheritsched "pthread_attr_t *attr" "int *inheritsched" +スレッドの属性オブジェクトから継承スケジューリング属性を入手します。 +.It int Fn pthread_attr_getschedparam "pthread_attr_t *attr" "struct sched_param *param" +スレッドの属性オブジェクトからスケジューリングパラメータ属性を入手します。 +.It int Fn pthread_attr_getschedpolicy "pthread_attr_t *attr" "int *policy" +スレッドの属性オブジェクトからスケジューリング方針属性を入手します。 +.It int Fn pthread_attr_getscope "pthread_attr_t *attr" "int *contentionscope" +スレッドの属性オブジェクトからコンテンション範囲属性を入手します。 +.It int Fn pthread_attr_getstacksize "pthread_attr_t *attr" "size_t *stacksize" +スレッドの属性オブジェクトからスタックサイズ属性を入手します。 +.It int Fn pthread_attr_getstackaddr "pthread_attr_t *attr" "void **stackaddr" +スレッドの属性オブジェクトからスタックアドレス属性を入手します。 +.It int Fn pthread_attr_getdetachstate "pthread_attr_t *attr" "int *detachstate" +スレッドの属性オブジェクトから切り離し状態属性を入手します。 +.It int Fn pthread_attr_init "pthread_attr_t *attr" +スレッドの属性オブジェクトをデフォルト値で初期化します。 +.It int Fn pthread_attr_setinheritsched "pthread_attr_t *attr" "int inheritsched" +スレッドの属性オブジェクトで継承スケジューリング属性を設定します。 +.It int Fn pthread_attr_setschedparam "pthread_attr_t *attr" "struct sched_param *param" +スレッドの属性オブジェクトでスケジューリングパラメータ属性を設定します。 +.It int Fn pthread_attr_setschedpolicy "pthread_attr_t *attr" "int policy" +スレッドの属性オブジェクトでスケジューリング方針属性を設定します。 +.It int Fn pthread_attr_setscope "pthread_attr_t *attr" "int contentionscope" +スレッドの属性オブジェクトでコンテンション範囲属性を設定します。 +.It int Fn pthread_attr_setstacksize "pthread_attr_t *attr" "size_t stacksize" +スレッドの属性オブジェクトでスタックサイズ属性を設定します。 +.It int Fn pthread_attr_setstackaddr "pthread_attr_t *attr" "void *stackaddr" +スレッドの属性オブジェクトでスタックアドレス属性を設定します。 +.It int Fn pthread_attr_setdetachstate "pthread_attr_t *attr" "int detachstate" +スレッドの属性オブジェクトで切り離し状態を設定します。 +.El +.Sh MUTEX ルーチン +.Bl -tag -width Er +.It int Fn pthread_mutexattr_destroy "pthread_mutexattr_t *attr" +MUTEX 属性オブジェクトを破壊します。 +.It int Fn pthread_mutexattr_init "pthread_mutexattr_t *attr" +MUTEX 属性オブジェクトをデフォルト値で初期化します。 +.It int Fn pthread_mutex_destroy "pthread_mutex_t *mutex" +MUTEX を破壊します。 +.It int Fn pthread_mutex_init "pthread_mutex_t *mutex" "const pthread_mutexattr_t *attr" +指定された属性で MUTEX を初期化します。 +.It int Fn pthread_mutex_lock "pthread_mutex_t *mutex" +MUTEX をロックし、MUTEX が使用できるようになるまでブロックします。 +.It int Fn pthread_mutex_trylock "pthread_mutex_t *mutex" +MUTEX をロックしようとしますが、 +現行スレッドも含めた別のスレッドで +MUTEX がロックされている場合はブロックしません。 +.It int Fn pthread_mutex_unlock "pthread_mutex_t *mutex" +MUTEX のロックを解除します。 +.El +.Sh 条件変数ルーチン +.Bl -tag -width Er +.It int Fn pthread_condattr_init "pthread_condattr_t *attr" +条件変数属性オブジェクトをデフォルト値で初期化します。 +.It int Fn pthread_condattr_destroy "pthread_condattr_t *attr" +条件変数属性オブジェクトを破壊します。 +.It int Fn pthread_cond_broadcast "pthread_cond_t *cond" +指定された条件変数で現在ブロックされている、 +すべてのスレッドのブロックを解除します。 +.It int Fn pthread_cond_destroy "pthread_cond_t *cond" +条件変数を破壊します。 +.It int Fn pthread_cond_init "pthread_cond_t *cond" "const pthread_condattr_t *attr" +指定された属性で条件変数を初期化します。 +.It int Fn pthread_cond_signal "pthread_cond_t *cond" +指定された条件変数でブロックされているスレッドの、 +最低 1 つのブロックを解除します。 +.It int Fn pthread_cond_timedwait "pthread_cond_t *cond" "pthread_mutex_t *mutex" "const struct timespec *abstime" +指定された時間以内で条件を待機し、 +指定された MUTEX をロックします。 +.It int Fn pthread_cond_wait "pthread_cond_t *" "pthread_mutex_t *mutex" +条件を待機し、指定された MUTEX をロックします。 +.El +.Sh 読み書きロックルーチン +.Bl -tag -width Er +.It int Fn pthread_rwlock_destroy "pthread_rwlock_t *lock" +読み書きロックオブジェクトを破壊します。 +.It int Fn pthread_rwlock_init "pthread_rwlock_t *lock" "const pthread_rwlockat-tr_t *attr" +読み書きロックオブジェクトを初期化します。 +.It int Fn pthread_rwlock_rdlock "pthread_rwlock_t *lock" +読み書きロックを読込み用にロックし、 +ロックを取得できるまでブロックします。 +.It int Fn pthread_rwlock_tryrdlock "pthread_rwlock_t *lock" +読み書きロックを読込み用にロックしようとしますが、 +ロックを使用できない場合はブロックしません。 +.It int Fn pthread_rwlock_trywrlock "pthread_rwlock_t *lock" +読み書きロックを書込み用にロックしようとしますが、 +ロックを使用できない場合はブロックしません。 +.It int Fn pthread_rwlock_unlock "pthread_rwlock_t *lock" +読み書きロックを解除します。 +.It int Fn pthread_rwlock_wrlock "pthread_rwlock_t *lock" +読み書きロックを書込み用にロックし、 +ロックを取得できるまでブロックします。 +.It int Fn pthread_rwlockattr_destroy "pthread_rwlockattr_t *attr" +読み書きロック属性オブジェクトを破壊します。 +.It int Fn pthread_rwlockattr_getpshared "pthread_rwlockattr_t *attr" "int *pshared" +プロセスで共有している、 +読み書きロック属性オブジェクトの設定を取り出します。 +.It int Fn pthread_rwlockattr_init "pthread_rwlockattr_t *attr" +読み書きロック属性オブジェクトを初期化します。 +.It int Fn pthread_rwlockattr_setpshared "pthread_rwlockattr_t *attr" "int *pshared" +プロセスで共有している、 +読み書きロック属性オブジェクトの設定を設定します。 +.El +.Sh スレッド固有コンテキストルーチン +.Bl -tag -width Er +.It int Fn pthread_key_create "pthread_key_t *key" "void (*routine)(void *)" +スレッドに固有なデータキーを作成します。 +.It int Fn pthread_key_delete "pthread_key_t key" +スレッドに固有なデータキーを削除します。 +.It void * Fn pthread_getspecific "pthread_key_t key" "void **value_ptr" +指定されたキーのスレッドに固有な値を入手します。 +.It int Fn pthread_setspecific "pthread_key_t key" "const void *value_ptr" +指定されたキーのスレッドに固有な値を設定します。 +.El +.Sh クリーンアップルーチン +.Bl -tag -width Er +.It void Fn pthread_cleanup_pop "int execute" +呼び出しスレッドのキャンセルクリーンアップスタックの +最上位でルーチンを削除し、オプションで起動します。 +.It void Fn pthread_cleanup_push "void (*routine)(void *)" "void *routine_arg" +指定されたキャンセルクリーンアップハンドラを呼び出し +スレッドのキャンセルスタックにプッシュします。 +.El +.Sh インストレーション +現在の FreeBSD POSIX スレッドシステムは、 +スレッドセーフな libc 関数とスレッド関数を含むライブラリ +.Fa libc_r +で構築されています。このライブラリは、スレッドアプリケーションの +.Fa libc +を置き換えます。 +.Pp +デフォルトでは、 +.Fa libc_r +は 'make world' の一部として構築されます。 +.Fa libc_r +の構築を無効にするには、'-DNOLIBC_R' オプションを +.Xr make 1 +に指定する必要があります。 +.Pp +gcc には FreeBSD に固有なオプションが追加されており、 +スレッドプロセスのリンクが簡単になっています。 +.Fa gcc -pthread +を実行すると、 +.Fa libc +ではなく +.Fa libc_r +にスレッドプロセスがリンクされます。 +.Sh 規格 +接頭語 +.Fa pthread_ +が付き、接尾語 +.Fa _np +や接頭語 +.Fa pthread_rwlock +が付いていない +.Fa libc_r +の関数は、IEEE +.Pq Dq Tn POSIX +Std 1003.1 Second Eition 1996-07-12 に準拠しています。 +.Pp +接頭語 +.Fa pthread_ +と接尾語 +.Fa _np +が付いている libc_r の関数は、 +POSIX スレッドの移植不可能なエクステンションです。 +.Pp +接頭語 +.Fa pthread_rwlock +が付いている libc_r の関数は、 +Single UNIX Specification, Version 2 の +The Open Group が作成したエクステンションです。 diff --git a/ja_JP.eucJP/man/man3/pthread_cleanup_pop.3 b/ja_JP.eucJP/man/man3/pthread_cleanup_pop.3 new file mode 100644 index 0000000000..73934a6b8b --- /dev/null +++ b/ja_JP.eucJP/man/man3/pthread_cleanup_pop.3 @@ -0,0 +1,62 @@ +.\" Copyright (c) 1997 Brian Cully +.\" 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 author nor the names of any co-contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY JOHN BIRRELL 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. +.\" +.\" jpman %Id% +.\" +.Dd July 30, 1998 +.Dt PTHREAD_CLEANUP_POP 3 +.Os BSD 4 +.Sh 名称 +.Nm pthread_cleanup_pop +.Nd 最初のクリーンアップルーチンを呼び出す +.Sh 書式 +.Fd #include +.Ft void +.Fn pthread_cleanup_pop "int execute" +.Sh 解説 +.Fn pthread_cleanup_pop +関数は、現行スレッドクリーンアップルーチンスタックの +最初のクリーンアップルーチンを取り出し、 +.Fa execute +がゼロ以外である場合にこの関数を実行します。 +クリーンアップルーチンがない場合、 +.Fn pthread_cleanup_pop +は何も実行しません。 +.Sh 戻り値 +.Fn pthread_cleanup_pop +は値を戻しません。 +.Sh 誤り +ありません。 +.Sh 関連項目 +.Xr pthread_cleanup_push 3 , +.Xr pthread_exit 3 +.Sh 規格 +.Fn pthread_cleanup_pop +は、ISO/IEC 9945-1 ANSI/IEEE +.Pq Dq Tn Posix +POSIX +Std 1003.1 Second Edition 1996-07-12 に準拠しています。 diff --git a/ja_JP.eucJP/man/man3/pthread_cleanup_push.3 b/ja_JP.eucJP/man/man3/pthread_cleanup_push.3 new file mode 100644 index 0000000000..a7044fdf70 --- /dev/null +++ b/ja_JP.eucJP/man/man3/pthread_cleanup_push.3 @@ -0,0 +1,63 @@ +.\" Copyright (c) 1997 Brian Cully +.\" 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 author nor the names of any co-contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY JOHN BIRRELL 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. +.\" +.\" jpman %Id% +.\" +.Dd July 30, 1998 +.Dt PTHREAD_CLEANUP_PUSH 3 +.Os BSD 4 +.Sh 名称 +.Nm pthread_cleanup_push +.Nd クリーンアップ関数を追加し、スレッドが終了したときに実行 +.Sh 書式 +.Fd #include +.Ft void +.Fn pthread_cleanup_push "void (*cleanup_routine)(void *)" "void *arg" +.Sh 解説 +.Fn pthread_cleanup_push +関数は、クリーンアップハンドラのスタックの最上位に +.Fa cleanup_routine +を追加します。このハンドラは、 +現行スレッドが終了した場合に呼び出されます。 +.Pp +.Fn pthread_cleanup_push +を呼び出すと、 +.Fa arg +が唯一の引数として渡されます。 +.Sh 戻り値 +.Fn pthread_cleanup_push +は値を戻しません。 +.Sh 誤り +ありません。 +.Sh 関連項目 +.Xr pthread_cleanup_pop 3 , +.Xr pthread_exit 3 +.Sh 規格 +.Fn pthread_cleanup_push +は、ISO/IEC 9945-1 ANSI/IEEE +.Pq Dq Tn POSIX +Std 1003.1 Second Edition 1996-07-12 に準拠しています。 diff --git a/ja_JP.eucJP/man/man3/pthread_cond_broadcast.3 b/ja_JP.eucJP/man/man3/pthread_cond_broadcast.3 new file mode 100644 index 0000000000..304e02c96d --- /dev/null +++ b/ja_JP.eucJP/man/man3/pthread_cond_broadcast.3 @@ -0,0 +1,69 @@ +.\" Copyright (c) 1997 Brian Cully +.\" 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 author nor the names of any co-contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY JOHN BIRRELL 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. +.\" +.\" jpman %Id% +.\" +.Dd July 28, 1998 +.Dt PTHREAD_COND_BROADCAST 3 +.Os BSD 4 +.Sh 名称 +.Nm pthread_cond_broadcast +.Nd 条件変数を待機しているすべてのスレッドのブロックを解除 +.Sh 書式 +.Fd #include +.Ft int +.Fn pthread_cond_broadcast "pthread_cond_t *cond" +.Sh 解説 +.Fn pthread_cond_broadcast +関数は、条件変数 +.Fa cond +を待機しているすべてのスレッドのブロックを解除します。 +.Sh 戻り値 +問題がない場合、 +.Fn pthread_cond_broadcast +関数はゼロを戻します。 +問題がある場合は、そのエラーを示すエラー番号を戻します。 +.Sh 誤り +.Fn pthread_cond_broadcast +は、以下のような場合にエラーとなります。 +.Bl -tag -width Er +.It Bq Er EINVAL +.Fa cond +で指定された値が正しくない場合 +.El +.Pp +.Sh 関連項目 +.Xr pthread_cond_destroy 3 , +.Xr pthread_cond_init 3 , +.Xr pthread_cond_signal 3 , +.Xr pthread_cond_timedwait 3 , +.Xr pthread_cond_wait 3 +.Sh 規格 +.Fn pthread_cond_broadcast +は、ISO/IEC 9945-1 ANSI/IEEE +.Pq Dq Tn POSIX +Std 1003.1 Second Edition 1996-07-12 に準拠しています。 diff --git a/ja_JP.eucJP/man/man3/pthread_cond_destroy.3 b/ja_JP.eucJP/man/man3/pthread_cond_destroy.3 new file mode 100644 index 0000000000..a33890e76e --- /dev/null +++ b/ja_JP.eucJP/man/man3/pthread_cond_destroy.3 @@ -0,0 +1,74 @@ +.\" Copyright (c) 1997 Brian Cully +.\" 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 author nor the names of any co-contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY JOHN BIRRELL 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. +.\" +.Dd July 28, 1998 +.Dt PTHREAD_COND_DESTROY 3 +.Os BSD 4 +.Sh 名称 +.Nm pthread_cond_destroy +.Nd 条件変数を破壊 +.Sh 書式 +.Fd #include +.Ft int +.Fn pthread_cond_destroy "pthread_cond_t *cond" +.Sh 解説 +.Fn pthread_cond_destroy +関数は、条件変数 +.Fa cond +が割り当てたリソースを解放します。 +.Sh 戻り値 +問題がない場合、 +.Fn pthread_cond_destroy +関数は +0 +を戻します。問題がある場合は、そのエラーを示すエラー番号を戻します。 +.Sh エラー +.Fn pthread_cond_destroy +は、以下のような場合にエラーとなります。 +.Bl -tag -width Er +.It Bq Er EINVAL +.Fa cond +で指定された値が正しくない場合 +.It Bq Er EBUSY +変数 +.Fa cond +が別のスレッドでロックされている場合 +.El +.Pp +.Sh 関連項目 +.Xr pthread_cond_broadcast 3 , +.Xr pthread_cond_init 3 , +.Xr pthread_cond_signal 3 , +.Xr pthread_cond_timedwait 3 , +.Xr pthread_cond_wait 3 +.Sh 規格 +.Fn pthread_cond_destroy +は、 +ISO/IEC 9945-1 ANSI/IEEE +.Pq Dq Tn POSIX +Std 1003.1 Second Edition 1996-07-12 +に準拠しています。 diff --git a/ja_JP.eucJP/man/man3/pthread_cond_init.3 b/ja_JP.eucJP/man/man3/pthread_cond_init.3 new file mode 100644 index 0000000000..c65368f8bf --- /dev/null +++ b/ja_JP.eucJP/man/man3/pthread_cond_init.3 @@ -0,0 +1,82 @@ +.\" Copyright (c) 1997 Brian Cully +.\" 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 author nor the names of any co-contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY JOHN BIRRELL 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. +.\" +.Dd July 28, 1998 +.Dt PTHREAD_COND_INIT 3 +.Os BSD 4 +.Sh 名称 +.Nm pthread_cond_init +.Nd 条件変数の作成 +.Sh 書式 +.Fd #include +.Ft int +.Fn pthread_cond_init "pthread_cond_t *cond" "const pthread_condattr_t *attr" +.Sh 解説 +.Fn pthread_cond_init +関数は、 +.Fa attr +で指定された属性で新しい条件変数を作成します。 +.Fa attr +が +NULL +である場合は、デフォルトの属性が使用されます。 +.Sh 戻り値 +問題がない場合、 +.Fn pthread_cond_init +関数は +0 +を戻し、新しい条件変数 +ID +を +.Fa cond +に入れます。問題がある場合は、そのエラーを示すエラー番号を戻します。 +.Sh エラー +.Fn pthread_cond_init +は、以下のような場合にエラーとなります。 +.Bl -tag -width Er +.It Bq Er EINVAL +.Fa attr +で指定された値が正しくない場合 +.It Bq Er ENOMEM +プロセスが、条件変数の作成に十分なメモリを割り当てできない場合 +.It Bq Er EAGAIN +条件変数を作成するためのリソースが一時的に不足している場合 +.El +.Pp +.Sh 関連項目 +.Xr pthread_cond_broadcast 3 , +.Xr pthread_cond_destroy 3 , +.Xr pthread_cond_signal 3 , +.Xr pthread_cond_timedwait 3 , +.Xr pthread_cond_wait 3 +.Sh 規格 +.Fn pthread_cond_init +は、 +ISO/IEC 9945-1 ANSI/IEEE +.Pq Dq Tn POSIX +Std 1003.1 Second Edition 1996-07-12 +に準拠しています。 diff --git a/ja_JP.eucJP/man/man3/pthread_cond_signal.3 b/ja_JP.eucJP/man/man3/pthread_cond_signal.3 new file mode 100644 index 0000000000..518fd598ec --- /dev/null +++ b/ja_JP.eucJP/man/man3/pthread_cond_signal.3 @@ -0,0 +1,72 @@ +.\" Copyright (c) 1997 Brian Cully +.\" 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 author nor the names of any co-contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY JOHN BIRRELL 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. +.\" +.Dd July 28, 1998 +.Dt PTHREAD_COND_SIGNAL 3 +.Os BSD 4 +.Sh 名称 +.Nm pthread_cond_signal +.Nd 条件変数を待機しているスレッドのブロック解除 +.Sh 書式 +.Fd #include +.Ft int +.Fn pthread_cond_signal "pthread_cond_t *cond" +.Sh 解説 +.Fn pthread_cond_signal +関数は、条件変数 +.Fa cond +を待機している +1 +スレッドのブロックを解除します。 +.Sh 戻り値 +問題がない場合、 +.Fn pthread_cond_signal +関数は +0 +を戻します。問題がある場合は、そのエラーを示すエラー番号を戻します。 +.Sh エラー +.Fn pthread_cond_signal +は、以下のような場合にエラーとなります。 +.Bl -tag -width Er +.It Bq Er EINVAL +.Fa cond +で指定された値が正しくない場合 +.El +.Pp +.Sh 関連項目 +.Xr pthread_cond_broadcast 3 , +.Xr pthread_cond_destroy 3 , +.Xr pthread_cond_init 3 , +.Xr pthread_cond_timedwait 3 , +.Xr pthread_cond_wait 3 +.Sh 規格 +.Fn pthread_cond_signal +は、 +ISO/IEC 9945-1 ANSI/IEEE +.Pq Dq Tn POSIX +Std 1003.1 Second Edition 1996-07-12 +に準拠しています。 diff --git a/ja_JP.eucJP/man/man3/pthread_cond_timedwait.3 b/ja_JP.eucJP/man/man3/pthread_cond_timedwait.3 new file mode 100644 index 0000000000..5c58c984c0 --- /dev/null +++ b/ja_JP.eucJP/man/man3/pthread_cond_timedwait.3 @@ -0,0 +1,89 @@ +.\" Copyright (c) 1997 Brian Cully +.\" 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 author nor the names of any co-contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY JOHN BIRRELL 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. +.\" +.Dd July 28, 1998 +.Dt PTHREAD_COND_TIMEDWAIT 3 +.Os BSD 4 +.Sh 名称 +.Nm pthread_cond_timedwait +.Nd 指定時間、条件変数を待つ +.Sh 書式 +.Fd #include +.Ft int +.Fn pthread_cond_timedwait "pthread_cond_t *cond" "pthread_mutex_t *mutex" "const struct timespec *abstime" +.Sh 解説 +.Fn pthread_cond_timedwait +関数は、 +.Fa cond +で指定された条件変数を待つことで現行スレッドをアトミックにブロックし、 +.Fa mutex +で指定された +MUTEX +のブロックを解除します。待機しているスレッドのブロックは、 +別のスレッドが +.Xr pthread_cond_signal 3 +か +.Xr pthread_cond_broadcast 3 +を同じ条件変数で呼び出した場合、または +.Fa abstime +で指定された時間にシステム時間が達した場合に解除されます。 +解除されると、現行スレッドは +.Fa mutex +をロックします。 +.Sh 戻り値 +問題がない場合、 +.Fn pthread_cond_timedwait +関数は +0 +を戻します。問題がある場合は、そのエラーを示すエラー番号を戻します。 +.Sh エラー +.Fn pthread_cond_timedwait +は、以下のような場合にエラーとなります。 +.Bl -tag -width Er +.It Bq Er EINVAL +.Fa cond +で指定された値、または +.Fa attr +で指定された値が正しくない場合 +.It Bq Er ETIMEDOUT +.Fa abstime +で指定された時間にシステム時間が達したか越えた場合 +.El +.Pp +.Sh 関連項目 +.Xr pthread_cond_broadcast 3 , +.Xr pthread_cond_destroy 3 , +.Xr pthread_cond_init 3 , +.Xr pthread_cond_signal 3 , +.Xr pthread_cond_wait 3 +.Sh 規格 +.Fn pthread_cond_timedwait +は、 +ISO/IEC 9945-1 ANSI/IEEE +.Pq Dq Tn POSIX +Std 1003.1 Second Edition 1996-07-12 +に準拠しています。 diff --git a/ja_JP.eucJP/man/man3/pthread_cond_wait.3 b/ja_JP.eucJP/man/man3/pthread_cond_wait.3 new file mode 100644 index 0000000000..89571c125f --- /dev/null +++ b/ja_JP.eucJP/man/man3/pthread_cond_wait.3 @@ -0,0 +1,84 @@ +.\" Copyright (c) 1997 Brian Cully +.\" 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 author nor the names of any co-contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY JOHN BIRRELL 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. +.\" +.Dd July 28, 1998 +.Dt PTHREAD_COND_WAIT 3 +.Os BSD 4 +.Sh 名称 +.Nm pthread_cond_wait +.Nd 条件変数を待つ +.Sh 書式 +.Fd #include +.Ft int +.Fn pthread_cond_wait "pthread_cond_t *cond" "pthread_mutex_t *mutex" +.Sh 解説 +.Fn pthread_cond_wait +関数は、 +.Fa cond +で指定された条件変数を待つことで現行スレッドをアトミックにブロックし、 +.Fa mutex +で指定された +MUTEX +のブロックを解除します。 +待機しているスレッドのブロックは、別のスレッドが +.Xr pthread_cond_signal 3 +か +.Xr pthread_cond_broadcast 3 +を同じ条件変数で呼び出した場合にのみ解除されます。 +解除されると、現行スレッドは +.Fa mutex +をロックします。 +.Sh 戻り値 +問題がない場合、 +.Fn pthread_cond_wait +関数は +0 +を戻します。問題がある場合は、そのエラーを示すエラー番号を戻します。 +.Sh エラー +.Fn pthread_cond_wait +は、以下のような場合にエラーとなります。 +.Bl -tag -width Er +.It Bq Er EINVAL +.Fa cond +で指定された値、または +.Fa attr +で指定された値が正しくない場合 +.El +.Pp +.Sh 関連項目 +.Xr pthread_cond_broadcast 3 , +.Xr pthread_cond_destroy 3 , +.Xr pthread_cond_init 3 , +.Xr pthread_cond_signal 3 , +.Xr pthread_cond_timedwait 3 +.Sh 規格 +.Fn pthread_cond_wait +は、 +ISO/IEC 9945-1 ANSI/IEEE +.Pq Dq Tn POSIX +Std 1003.1 Second Edition 1996-07-12 +に準拠しています。 diff --git a/ja_JP.eucJP/man/man3/pthread_create.3 b/ja_JP.eucJP/man/man3/pthread_create.3 new file mode 100644 index 0000000000..39d2200d8e --- /dev/null +++ b/ja_JP.eucJP/man/man3/pthread_create.3 @@ -0,0 +1,121 @@ +.\" Copyright (c) 1996 John Birrell . +.\" 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 John Birrell. +.\" 4. Neither the name of the author nor the names of any co-contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY JOHN BIRRELL 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. +.\" +.Dd April 4, 1996 +.Dt PTHREAD_CREATE 3 +.Os BSD 4 +.Sh 名称 +.Nm pthread_create +.Nd 新しいスレッドの作成 +.Sh 書式 +.Fd #include +.Ft int +.Fn pthread_create "pthread_t *thread" "const pthread_attr_t *attr" "void *(*start_routine)(void *)" "void *arg" +.Sh 解説 +.Fn pthread_create +関数を使用すると、 +.Fa attr +で指定された属性でプロセスに新しいスレッドを作成できます。 +.Fa attr +が +NULL +である場合は、デフォルトの属性が使用されます。 +.Fa attr +で指定した属性を後で変更しても、スレッドの属性は変化しません。 +問題なく終了すると、 +.Fn pthread_create +は、作成したスレッドの +ID +を +.Fa thread +で指定された場所に保存します。 +.Pp +スレッドは、 +.Fa arg +を唯一の引数として +.Fa start_routine +を実行して作成されます。 +.Fa start_routine +が復帰すると、 +.Fa start_routine +の戻り値を終了ステータスとして使用し、 +.Fn pthread_exit +を暗黙のうちに呼び出したような効果があります。 +.Fn main +を呼び出したスレッドは、これとは異なることに注意してください。 +.Fn main +から復帰すると、 +.Fn main +の戻り値を終了ステータスとして使用し、 +.Fn exit +を暗黙のうちに呼び出したような効果があります。 +.Pp +新しいスレッドの信号状態は、以下のように初期化されます。 +.Bl -bullet -offset indent +.It +シグナルマスクは、作成を行なうスレッドから継承されます。 +.It +新しいスレッド用に保留しているシグナルのセットは空です。 +.El +.Sh 戻り値 +問題がない場合、 +.Fn pthread_create +関数は +0 +を戻します。問題がある場合は、そのエラーを示すエラー番号を戻します。 +.Sh エラー +.Fn pthread_create +は、以下のような場合にエラーとなります。 +.Bl -tag -width Er +.It Bq Er EAGAIN +別のスレッドの作成に必要なリソースがシステムに不足している場合、 +または +1 +つのプロセスの総スレッド数についてシステムに課された制限 +[PTHREAD_THREADS_MAX] +を越えた場合 +.It Bq Er EINVAL +.Fa attr +で指定された値が正しくない場合 +.El +.Pp +.Sh 関連項目 +.Xr fork 2 , +.Xr pthread_cleanup_pop 3 , +.Xr pthread_cleanup_push 3 , +.Xr pthread_exit 3 , +.Xr pthread_join 3 +.Sh 規格 +.Fn pthread_create +は、 +ISO/IEC 9945-1 ANSI/IEEE +.Pq Dq Tn POSIX +Std 1003.1 Second Edition 1996-07-12 +に準拠しています。 diff --git a/ja_JP.eucJP/man/man3/pthread_detach.3 b/ja_JP.eucJP/man/man3/pthread_detach.3 new file mode 100644 index 0000000000..296642ee99 --- /dev/null +++ b/ja_JP.eucJP/man/man3/pthread_detach.3 @@ -0,0 +1,86 @@ +.\" Copyright (c) 1996-1998 John Birrell . +.\" 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 John Birrell. +.\" 4. Neither the name of the author nor the names of any co-contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY JOHN BIRRELL 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. +.\" +.Dd April 4, 1996 +.Dt PTHREAD_DETACH 3 +.Os BSD 4 +.Sh 名称 +.Nm pthread_detach +.Nd スレッドの切り離し +.Sh 書式 +.Fd #include +.Ft int +.Fn pthread_detach "pthread_t thread" +.Sh 解説 +.Fn pthread_detach +関数は、スレッドが終了する時にスレッド +.Fa thread +の記憶域が再生できることをシステムに指定するために使用します。 +.Fa thread +が終了していない場合、 +.Fn pthread_detach +でそのスレッドが終了することはありません。同じスレッドを対象にして +.Fn pthread_detach +を複数回呼び出す効果は未規定です。 +.Sh 戻り値 +問題がない場合、 +.Fn pthread_detach +関数は +0 +を戻します。問題がある場合は、そのエラーを示すエラー番号を +戻します。この関数は、規格の一部のドラフトで行なわれていたようには +errno +の値を変更しないことに注意してください。また、以前のドラフトでは +pthread_t +のポインタを引数として渡していました。ご注意ください。 +.Sh エラー +.Fn pthread_detach +は、以下のような場合にエラーとなります。 +.Bl -tag -width Er +.It Bq Er EINVAL +.Fa thread +で指定された値が、結合可能なスレッドを参照していないことを +システムが検出した場合 +.It Bq Er ESRCH +指定されたスレッド +ID +.Fa thread +に対応するスレッドが見つからない場合 +.El +.Pp +.Sh 関連項目 +.Xr pthread_join 3 +.Sh 規格 +.Fn pthread_detach +は、 +ISO/IEC 9945-1 ANSI/IEEE +.Pq Dq Tn POSIX +Std 1003.1 Second Edition 1996-07-12 +に準拠しています。 diff --git a/ja_JP.eucJP/man/man3/pthread_equal.3 b/ja_JP.eucJP/man/man3/pthread_equal.3 new file mode 100644 index 0000000000..2dcff63cff --- /dev/null +++ b/ja_JP.eucJP/man/man3/pthread_equal.3 @@ -0,0 +1,73 @@ +.\" Copyright (c) 1996 John Birrell . +.\" 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 John Birrell. +.\" 4. Neither the name of the author nor the names of any co-contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY JOHN BIRRELL 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. +.\" +.Dd April 4, 1996 +.Dt PTHREAD_EQUAL 3 +.Os BSD 4 +.Sh 名称 +.Nm pthread_equal +.Nd スレッド ID の比較 +.Sh 書式 +.Fd #include +.Ft int +.Fn pthread_equal "pthread_t t1" "pthread_t t2" +.Sh 解説 +.Fn pthread_equal +関数は、スレッド +ID +.Fa t1 +と +.Fa t2 +を比較します。 +.Sh 戻り値 +.Fn pthread_equal +関数は、スレッド +ID +.Fa t1 +と +.Fa t2 +が同じスレッドに相当する場合、 +0 +以外を戻します。異なるスレッドである場合は +0 +を戻します。 +.Sh エラー +ありません。 +.Pp +.Sh 関連項目 +.Xr pthread_create 3 , +.Xr pthread_exit 3 +.Sh 規格 +.Fn pthread_equal +は、 +ISO/IEC 9945-1 ANSI/IEEE +.Pq Dq Tn POSIX +Std 1003.1 Second Edition 1996-07-12 +に準拠しています。 diff --git a/ja_JP.eucJP/man/man3/pthread_exit.3 b/ja_JP.eucJP/man/man3/pthread_exit.3 new file mode 100644 index 0000000000..1c71f55b82 --- /dev/null +++ b/ja_JP.eucJP/man/man3/pthread_exit.3 @@ -0,0 +1,104 @@ +.\" Copyright (c) 1996 John Birrell . +.\" 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 John Birrell. +.\" 4. Neither the name of the author nor the names of any co-contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY JOHN BIRRELL 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. +.\" +.Dd April 4, 1996 +.Dt PTHREAD_EXIT 3 +.Os BSD 4 +.Sh 名称 +.Nm pthread_exit +.Nd 呼び出しスレッドの終了 +.Sh 書式 +.Fd #include +.Ft void +.Fn pthread_exit "void *value_ptr" +.Sh 解説 +.Fn pthread_exit +関数は、呼び出しスレッドを終了し、終了スレッドとの結合に +.Fa value_ptr +の値を使用できるようにします。プッシュされたがまだポップされていない +キャンセルクリーンアップハンドラは、プッシュと逆の順序でポップ +されて実行されます。すべてのキャンセルハンドラが実行された後で +スレッドに固有なデータがスレッドにある場合は、適切な破壊関数が +順序不定で呼び出されます。スレッドが終了しても、 +MUTEX +とファイル記述子等のアプリケーションのプロセスリソースは +解放されませんし、存在する可能性がある +.Fn atexit +関数の呼び出し等のプロセスレベルのクリーンアップアクションも +実行されません。 +.Pp +.Fn main +を最初に呼び出したスレッド以外のスレッドが、作成に使用された +開始ルーチンから戻った場合は、 +.Fn pthread_exit +が暗黙のうちに呼び出されます。 +関数の戻り値は、スレッドの終了ステータスとして使用されます。 +.Pp +.Fn pthread_exit +を暗黙のうちにあるいは明示的に呼び出したために +起動されたキャンセルハンドラや破壊関数から呼び出された +.Fn pthread_exit +の動作は未定義です。 +.Pp +スレッドが終了した後では、スレッドのローカル +( +自動 +) +変数へのアクセス結果は不定になります。 +.Fn pthread_exit +の +.Fa value_ptr +パラメータに、終了するスレッドのローカル変数の参照を +使用しないでください。 +.Pp +最後のスレッドが終了した後では、プロセスは終了ステータス +0 +で終了します。実装がスレッドの終了時に引数をゼロにして +.Fn exit +を呼び出したような動作となります。 +.Pp +.Sh 戻り値 +.Fn pthread_exit +関数は、呼び出し側に復帰できません。 +.Sh エラー +ありません。 +.Pp +.Sh 関連項目 +.Xr _exit 2 , +.Xr exit 2 , +.Xr pthread_create 3 , +.Xr pthread_join 3 +.Sh 規格 +.Fn pthread_exit +は、 +ISO/IEC 9945-1 ANSI/IEEE +.Pq Dq Tn POSIX +Std 1003.1 Second Edition 1996-07-12 +に準拠しています。 diff --git a/ja_JP.eucJP/man/man3/pthread_getspecific.3 b/ja_JP.eucJP/man/man3/pthread_getspecific.3 new file mode 100644 index 0000000000..47856cfe17 --- /dev/null +++ b/ja_JP.eucJP/man/man3/pthread_getspecific.3 @@ -0,0 +1,85 @@ +.\" Copyright (c) 1996 John Birrell . +.\" 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 John Birrell. +.\" 4. Neither the name of the author nor the names of any co-contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY JOHN BIRRELL 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: pthread_getspecific.3,v 1.1.1.1 1999-12-09 16:25:58 kuriyama Exp $ +.\" +.Dd April 4, 1996 +.Dt PTHREAD_GETSPECIFIC 3 +.Os BSD 4 +.Sh 名称 +.Nm pthread_getspecific +.Nd スレッドに固有なデータ値を入手 +.Sh 書式 +.Fd #include +.Ft void * +.Fn pthread_getspecific "pthread_key_t key" +.Sh 解説 +.Fn pthread_getspecific +関数は、呼び出しスレッドに代わって指定された +.Fa key +に現在結合されている値を戻します。 +.Pp +.Fn pthread_key_create +で入手していない +.Fa key +値で +.Fn pthread_getspecific +を呼び出したり、 +.Fn pthread_key_delete +で +.Fa key +が削除された後で +.Fn pthread_getspecific +を呼び出したりすると、結果は不定になります。 +.Pp +.Fn pthread_getspecific +は、スレッドに固有なデータの破壊関数から呼び出されることがあります。 +.Sh 戻り値 +.Fn pthread_getspecific +関数は、指定された +.Fa key +に関連する、スレッドに固有なデータ値を戻します。 +.Fa key +にスレッド固有のデータ値が関連していない場合は +NULL +が戻されます。 +.Sh エラー +ありません。 +.Sh 関連項目 +.Xr pthread_key_create 3 , +.Xr pthread_key_delete 3 , +.Xr pthread_setspecific 3 +.Sh 規格 +.Fn pthread_getspecific +は、 +ISO/IEC 9945-1 ANSI/IEEE +.Pq Dq Tn POSIX +Std 1003.1 Second Edition 1996-07-12 +に準拠しています。 diff --git a/ja_JP.eucJP/man/man3/pthread_join.3 b/ja_JP.eucJP/man/man3/pthread_join.3 new file mode 100644 index 0000000000..d9144be89f --- /dev/null +++ b/ja_JP.eucJP/man/man3/pthread_join.3 @@ -0,0 +1,107 @@ +.\" Copyright (c) 1996-1998 John Birrell . +.\" 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 John Birrell. +.\" 4. Neither the name of the author nor the names of any co-contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY JOHN BIRRELL 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. +.\" +.Dd April 4, 1996 +.Dt PTHREAD_JOIN 3 +.Os BSD 4 +.Sh 名称 +.Nm pthread_join +.Nd スレッドの終了を待機 +.Sh 書式 +.Fd #include +.Ft int +.Fn pthread_join "pthread_t thread" "void **value_ptr" +.Sh 解説 +.Fn pthread_join +関数は、 +.Fa thread +が終了していない場合、 +.Fa thread +が終了するまで呼び出しスレッドの実行を保留します。 +.Pp +非 +NULL +な +.Fa value_ptr +引数での +.Fn pthread_join +の呼び出しから正常に復帰すると、終了するスレッドが +.Fn pthread_exit +に渡した値は +.Fa value_ptr +が参照する場所に保存されます。 +.Fn pthread_join +が正常に復帰する場合、対象スレッドは終了しています。 +同じ対象スレッドを指定して +.Fn pthread_join +を同時に複数回呼び出す結果は未定義です。 +.Fn pthread_join +を呼び出したスレッドがキャンセルされた場合、 +対象スレッドは切り離されません。 +.Pp +終了したが結合していないスレッドは、 +[_POSIX_THREAD_THREADS_MAX] +にカウントされます。 +.Pp +.Sh 戻り値 +問題がない場合、 +.Fn pthread_join +関数は +0 +を戻します。問題がある場合は、そのエラーを示すエラー番号を戻します。 +.Sh エラー +.Fn pthread_join +は、以下のような場合にエラーとなります。 +.Bl -tag -width Er +.It Bq Er EINVAL +.Fa thread +で指定された値が、結合可能スレッドを参照していないことを +実装が検出した場合 +.It Bq Er ESRCH +指定されたスレッド +ID +.Fa thread +に対応するスレッドが見つからない場合 +.It Bq Er EDEADLK +デッドロックが検出された場合、または +.Fa thread +の値が呼び出しスレッドを指定している場合 +.El +.Pp +.Sh 関連項目 +.Xr wait 2 , +.Xr pthread_create 3 +.Sh 規格 +.Fn pthread_join +は、 +ISO/IEC 9945-1 ANSI/IEEE +.Pq Dq Tn POSIX +Std 1003.1 Second Edition 1996-07-12 +に準拠しています。 diff --git a/ja_JP.eucJP/man/man3/pthread_key_create.3 b/ja_JP.eucJP/man/man3/pthread_key_create.3 new file mode 100644 index 0000000000..57b1f47d42 --- /dev/null +++ b/ja_JP.eucJP/man/man3/pthread_key_create.3 @@ -0,0 +1,113 @@ +.\" Copyright (c) 1996 John Birrell . +.\" 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 John Birrell. +.\" 4. Neither the name of the author nor the names of any co-contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY JOHN BIRRELL 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. +.\" +.Dd April 4, 1996 +.Dt PTHREAD_KEY_CREATE 3 +.Os BSD 4 +.Sh 名称 +.Nm pthread_key_create +.Nd スレッドに固有なデータキーの作成 +.Sh 書式 +.Fd #include +.Ft int +.Fn pthread_key_create "pthread_key_t *key" "void (*destructor)(void *)" +.Sh 解説 +.Fn pthread_key_create +関数は、プロセスのすべてのスレッドで使用できる、スレッドに固有な +データキーを作成します。 +.Fn pthread_key_create +で提供されるキー値は不透明なオブジェクトであり、スレッドに固有な +データの特定に使用されます。別のスレッドで同じキー値を使用できますが、 +.Fn pthread_setspecific +でキーに結び付けられた値はスレッドごとに維持され、 +呼び出しスレッドが終了するまで残ります。 +.Pp +キーの作成時には、すべてのアクティブなスレッドの新しいキーに +NULL +値が関連します。スレッドの作成時には、新しいスレッドで定義された +すべてのキーに +NULL +値が関連します。 +.Pp +それぞれのキー値には、任意の破壊関数が関連していることがあります。 +スレッドの終了時には、キー値が破壊関数への非 +NULL +ポインタを持ち、かつスレッドでキーに非 +NULL +値が関連している場合に、現在関連している値を唯一の引数として、 +指されている関数が呼び出されます。スレッドに複数の破壊関数が +存在する場合、スレッドの終了時に破壊関数を呼び出す順序は未規定です。 +.Pp +破壊関数が関連づけられたすべての非 +NULL +値に対してすべての破壊関数が呼び出された後で、 +まだ破壊関数が関連づけられた非 +NULL +値が存在する場合は、プロセスが繰り返されます。 +未処理の非 +NULL +値に対して最低でも +[PTHREAD_DESTRUCTOR_ITERATIONS] +の回数だけ破壊関数の呼び出しを繰り返した後で、関連する破壊関数で非 +NULL +値が残っている場合、実装は破壊関数の呼び出しを中止します。 +.Sh 戻り値 +問題がない場合、 +.Fn pthread_key_create +関数は、新しく作成されたキー値を +.Fa key +で指定されている場所に保存して +0 +を戻します。問題がある場合は、そのエラーを示すエラー番号が戻されます。 +.Sh エラー +.Fn pthread_key_create +は、以下のような場合にエラーとなります。 +.Bl -tag -width Er +.It Bq Er EAGAIN +スレッドに固有なデータキーの作成に必要なリソースが +システムで不足しているか、プロセスごとのキー総数に関する、 +システムに課せられた制限 +[PTHREAD_KEYS_MAX] +を越えた場合 +.It Bq Er ENOMEM +キーの作成にメモリが不足している場合 +.El +.Pp +.Sh 関連項目 +.Xr pthread_getspecific 3 , +.Xr pthread_key_delete 3 , +.Xr pthread_setspecific 3 +.Sh 規格 +.Fn pthread_key_create +は、 +ISO/IEC 9945-1 ANSI/IEEE +.Pq Dq Tn POSIX +Std 1003.1 Second Edition 1996-07-12 +に準拠しています。 diff --git a/ja_JP.eucJP/man/man3/pthread_key_delete.3 b/ja_JP.eucJP/man/man3/pthread_key_delete.3 new file mode 100644 index 0000000000..97d3471aad --- /dev/null +++ b/ja_JP.eucJP/man/man3/pthread_key_delete.3 @@ -0,0 +1,93 @@ +.\" Copyright (c) 1996 John Birrell . +.\" 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 John Birrell. +.\" 4. Neither the name of the author nor the names of any co-contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY JOHN BIRRELL 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. +.\" +.Dd April 4, 1996 +.Dt PTHREAD_KEY_DELETE 3 +.Os BSD 4 +.Sh 名称 +.Nm pthread_key_delete +.Nd スレッドに固有なデータキーの削除 +.Sh 書式 +.Fd #include +.Ft int +.Fn pthread_key_delete "pthread_key_t key" +.Sh 解説 +.Fn pthread_key_delete +関数は、 +.Fn pthread_key_create +で以前に戻された、スレッドに固有なデータキーを削除します。 +.Fa key +に関連する、スレッドに固有なデータ値は、 +.Fn pthread_key_delete +を呼び出す時点で +NULL +になっている必要はありません。アプリケーションの記憶域の解放、 +削除されるキーに関係のあるデータ構造や任意のスレッドでの関連する +スレッド固有データのクリーンアップアクションの実行は、 +アプリケーションで行なってください。このクリーンアップは、 +.Fn pthread_key_delete +の呼び出しの前後で実行できます。 +.Fn pthread_key_delete +を呼び出した後で +.Fa key +を使用しようとすると、結果は不定になります。 +.Pp +.Fn pthread_key_delete +関数は、破壊関数から呼び出されることがあります。 +.Fn pthread_key_delete +が破壊関数を呼び出すことはありません。 +.Fa key +に関連していた破壊関数は、スレッドの終了時に呼び出されません。 +.Sh 戻り値 +問題がない場合、 +.Fn pthread_key_delete +関数は +0 +を戻します。問題がある場合は、そのエラーを示すエラー番号を戻します。 +.Sh エラー +.Fn pthread_key_delete +は、以下のような場合にエラーとなります。 +.Bl -tag -width Er +.It Bq Er EINVAL +.Fa key +の値が正しくない場合 +.El +.Pp +.Sh 関連項目 +.Xr pthread_getspecific 3 , +.Xr pthread_key_create 3 , +.Xr pthread_setspecific 3 +.Sh 規格 +.Fn pthread_key_delete +は、 +ISO/IEC 9945-1 ANSI/IEEE +.Pq Dq Tn POSIX +Std 1003.1 Second Edition 1996-07-12 +に準拠しています。 diff --git a/ja_JP.eucJP/man/man3/pthread_mutex_destroy.3 b/ja_JP.eucJP/man/man3/pthread_mutex_destroy.3 new file mode 100644 index 0000000000..9c2ce5e035 --- /dev/null +++ b/ja_JP.eucJP/man/man3/pthread_mutex_destroy.3 @@ -0,0 +1,72 @@ +.\" Copyright (c) 1997 Brian Cully +.\" 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 author nor the names of any co-contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY JOHN BIRRELL 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. +.\" +.Dd July 29, 1998 +.Dt PTHREAD_MUTEX_DESTROY 3 +.Os BSD 4 +.Sh 名称 +.Nm pthread_mutex_destroy +.Nd MUTEX に割り当てられたリソースの解放 +.Sh 書式 +.Fd #include +.Ft int +.Fn pthread_mutex_destroy "pthread_mutex_t *mutex" +.Sh 解説 +.Fn pthread_mutex_destroy +関数は、 +.Fa mutex +に割り当てられたリソースを解放します。 +.Sh 戻り値 +問題がない場合、 +.Fn pthread_mutex_destroy +は +0 +を戻します。問題がある場合は、そのエラーを示すエラー番号を戻します。 +.Sh エラー +.Fn pthread_mutex_destroy +は、以下のような場合にエラーとなります。 +.Bl -tag -width Er +.It Bq Er EINVAL +.Fa mutex +で指定された値が正しくない場合 +.It Bq Er EBUSY +.Fa mutex +が別のスレッドでロックされている場合 +.El +.Pp +.Sh 関連項目 +.Xr pthread_mutex_init 3 , +.Xr pthread_mutex_lock 3 , +.Xr pthread_mutex_trylock 3 , +.Xr pthread_mutex_unlock 3 +.Sh 規格 +.Fn pthread_mutex_destroy +は、 +ISO/IEC 9945-1 ANSI/IEEE +.Pq Dq Tn POSIX +Std 1003.1 Second Edition 1996-07-12 +に準拠しています。 diff --git a/ja_JP.eucJP/man/man3/pthread_mutex_init.3 b/ja_JP.eucJP/man/man3/pthread_mutex_init.3 new file mode 100644 index 0000000000..ee0303bf6c --- /dev/null +++ b/ja_JP.eucJP/man/man3/pthread_mutex_init.3 @@ -0,0 +1,86 @@ +.\" Copyright (c) 1997 Brian Cully +.\" 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 author nor the names of any co-contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY JOHN BIRRELL 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. +.\" +.Dd July 29, 1998 +.Dt PTHREAD_MUTEX_INIT 3 +.Os BSD 4 +.Sh 名称 +.Nm pthread_mutex_init +.Nd MUTEX の作成 +.Sh 書式 +.Fd #include +.Ft int +.Fn pthread_mutex_init "pthread_mutex_t *mutex" "const pthread_mutexattr_t *attr" +.Sh 解説 +.Fn pthread_mutex_init +関数は、 +.Fa attr +で指定された属性で新しい +MUTEX +を作成します。 +.Fa attr +が +NULL +である場合はデフォルトの属性が使用されます。 +.Sh 戻り値 +問題がない場合、 +.Fn pthread_mutex_init +は +0 +を戻し、新しい +MUTEX ID +を +.Fa mutex +に入れます。問題がある場合は、そのエラーを示すエラー番号を戻します。 +.Sh エラー +.Fn pthread_mutex_init +は、以下のような場合にエラーとなります。 +.Bl -tag -width Er +.It Bq Er EINVAL +.Fa attr +で指定された値が正しくない場合 +.It Bq Er ENOMEM +プロセスが +MUTEX +の作成に十分なメモリを割り当てできなかった場合 +.It Bq Er EAGAIN +MUTEX +の作成にリソースが一時的に不足した場合 +.El +.Pp +.Sh 関連項目 +.Xr pthread_mutex_destroy 3 , +.Xr pthread_mutex_lock 3 , +.Xr pthread_mutex_trylock 3 , +.Xr pthread_mutex_unlock 3 +.Sh 規格 +.Fn pthread_mutex_init +は、 +ISO/IEC 9945-1 ANSI/IEEE +.Pq Dq Tn POSIX +Std 1003.1 Second Edition 1996-07-12 +に準拠しています。 diff --git a/ja_JP.eucJP/man/man3/pthread_mutex_lock.3 b/ja_JP.eucJP/man/man3/pthread_mutex_lock.3 new file mode 100644 index 0000000000..59678640c9 --- /dev/null +++ b/ja_JP.eucJP/man/man3/pthread_mutex_lock.3 @@ -0,0 +1,70 @@ +.\" Copyright (c) 1997 Brian Cully +.\" 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 author nor the names of any co-contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY JOHN BIRRELL 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. +.\" +.Dd July 30, 1998 +.Dt PTHREAD_MUTEX_LOCK 3 +.Os BSD 4 +.Sh 名称 +.Nm pthread_mutex_lock +.Nd mutex のロック +.Sh 書式 +.Fd #include +.Ft int +.Fn pthread_mutex_lock "pthread_mutex_t *mutex" +.Sh 解説 +.Fn pthread_mutex_lock +関数は、 +.Fa mutex +をロックします。 mutex がすでにロックされている場合、 +呼び出しスレッドは、 mutex が使用できるようになるまでブロックされます。 +.Sh 戻り値 +問題がない場合、 +.Fn pthread_mutex_lock +はゼロを戻します。問題がある場合は、そのエラーを示すエラー番号を戻します。 +.Sh エラー +.Fn pthread_mutex_lock +は、以下のような場合にエラーとなります。 +.Bl -tag -width Er +.It Bq Er EINVAL +.Fa mutex +で指定された値が正しくない場合。 +.It Bq Er EDEADLK +スレッドがブロックされて +.Fa mutex +を待機している場合にデッドロックが発生した場合。 +.Sh 関連項目 +.Xr pthread_mutex_destroy 3 , +.Xr pthread_mutex_init 3 , +.Xr pthread_mutex_trylock 3 , +.Xr pthread_mutex_unlock 3 +.Sh 規格 +.Fn pthread_mutex_lock +は、 +ISO/IEC 9945-1 ANSI/IEEE +.Pq Dq Tn POSIX +Std 1003.1 Second Edition 1996-07-12 +に準拠しています。 diff --git a/ja_JP.eucJP/man/man3/pthread_mutex_trylock.3 b/ja_JP.eucJP/man/man3/pthread_mutex_trylock.3 new file mode 100644 index 0000000000..9218b11dce --- /dev/null +++ b/ja_JP.eucJP/man/man3/pthread_mutex_trylock.3 @@ -0,0 +1,73 @@ +.\" Copyright (c) 1997 Brian Cully +.\" 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 author nor the names of any co-contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY JOHN BIRRELL 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. +.\" +.Dd July 30, 1998 +.Dt PTHREAD_MUTEX_TRYLOCK 3 +.Os BSD 4 +.Sh 名称 +.Nm pthread_mutex_trylock +.Nd ブロックせずに mutex をロック +.Sh 書式 +.Fd #include +.Ft int +.Fn pthread_mutex_trylock "pthread_mutex_t *mutex" +.Sh 解説 +.Fn pthread_mutex_trylock +関数は +.Fa mutex +をロックします。 mutex がすでに +ロックされている場合、 +.Fn pthread_mutex_trylock +は mutex を待機するためにブロックせず、エラー条件を戻します。 +.Sh 戻り値 +問題がない場合、 +.Fn pthread_mutex_trylock +はゼロを戻します。問題がある場合は、そのエラーを示すエラー番号を戻します。 +.Sh エラー +.Fn pthread_mutex_trylock +は、以下のような場合にエラーとなります。 +.Bl -tag -width Er +.It Bq Er EINVAL +.Fa mutex +で指定された値が正しくない場合。 +.It Bq Er EBUSY +.Fa mutex +がすでにロックされている場合。 +.El +.Pp +.Sh 関連項目 +.Xr pthread_mutex_destroy 3 , +.Xr pthread_mutex_init 3 , +.Xr pthread_mutex_lock 3 , +.Xr pthread_mutex_unlock 3 +.Sh 規格 +.Fn pthread_mutex_trylock +は、 +ISO/IEC 9945-1 ANSI/IEEE +.Pq Dq Tn POSIX +Std 1003.1 Second Edition 1996-07-12 +に準拠しています。 diff --git a/ja_JP.eucJP/man/man3/pthread_mutex_unlock.3 b/ja_JP.eucJP/man/man3/pthread_mutex_unlock.3 new file mode 100644 index 0000000000..ad52827e79 --- /dev/null +++ b/ja_JP.eucJP/man/man3/pthread_mutex_unlock.3 @@ -0,0 +1,74 @@ +.\" Copyright (c) 1997 Brian Cully +.\" 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 author nor the names of any co-contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY JOHN BIRRELL 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. +.\" +.Dd July 30, 1998 +.Dt PTHREAD_MUTEX_UNLOCK 3 +.Os BSD 4 +.Sh 名称 +.Nm pthread_mutex_unlock +.Nd mutex のロックを解除 +.Sh 書式 +.Fd #include +.Ft int +.Fn pthread_mutex_unlock "pthread_mutex_t *mutex" +.Sh 解説 +現在のスレッドが +.Fa mutex +をロックしている場合、 +.Fn pthread_mutex_unlock +関数は +.Fa mutex +のロックを解除します。 +.Sh 戻り値 +問題がない場合、 +.Fn pthread_mutex_unlock +はゼロを戻します。問題がある場合は、そのエラーを示すエラー番号を戻します。 +.Sh エラー +.Fn pthread_mutex_trylock +は、以下のような場合にエラーとなります。 +.Bl -tag -width Er +.It Bq Er EINVAL +.Fa mutex +で指定された値が正しくない場合。 +.It Bq Er EPERM +現在のスレッドが +.Fa mutex +をロックしていない場合。 +.El +.Pp +.Sh 関連項目 +.Xr pthread_mutex_destroy 3 , +.Xr pthread_mutex_init 3 , +.Xr pthread_mutex_lock 3 , +.Xr pthread_mutex_trylock 3 +.Sh 規格 +.Fn pthread_mutex_unlock +は、 +ISO/IEC 9945-1 ANSI/IEEE +.Pq Dq Tn POSIX +Std 1003.1 Second Edition 1996-07-12 +に準拠しています。 diff --git a/ja_JP.eucJP/man/man3/pthread_once.3 b/ja_JP.eucJP/man/man3/pthread_once.3 new file mode 100644 index 0000000000..c6d4ab694f --- /dev/null +++ b/ja_JP.eucJP/man/man3/pthread_once.3 @@ -0,0 +1,103 @@ +.\" Copyright (c) 1996 John Birrell . +.\" 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 John Birrell. +.\" 4. Neither the name of the author nor the names of any co-contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY JOHN BIRRELL 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. +.\" +.Dd April 4, 1996 +.Dt PTHREAD_ONCE 3 +.Os BSD 4 +.Sh 名称 +.Nm pthread_once +.Nd ダイナミックなパッケージの初期化 +.Sh 書式 +.Fd #include +.Pp +pthread_once +.Fa once_control += PTHREAD_ONCE_INIT; +.Ft int +.Fn pthread_once "pthread_once_t *once_control" "void (*init_routine)(void)" +.Sh 解説 +プロセスの任意のスレッドで特定の +.Fa once_control +を使用して +.Fn pthread_once +を初めて呼び出すと、引数なしで +.Fn init_routine +が呼び出されます。その後で +.Fn pthread_once +を同じ +.Fa once_control +で呼び出しても、 +.Fn init_routine +は呼び出されません。 +.Fn pthread_once +から戻る時点では、 +.Fn init_routine +は終了しています。 +.Fa once_control +パラメータは、関連する初期化ルーチンが呼び出されているかどうかを +判断するために使用されます。 +.Pp +.Fn pthread_once +関数はキャンセルポイントではありませんが、 +.Fn init_routine +はキャンセルポイントであるためキャンセルされます。キャンセルされると、 +.Fa once_control +には +.Fn pthread_once +.Fa が呼び出されていないかのような +効果が生まれます。 +.Pp +ヘッダ +.Aq Pa pthread.h +で、定数 +.Fa PTHREAD_ONCE_INIT +が定義されています。 +.Pp +.Fa once_control +に自動保存期間がある場合、または +.Fa once_control +が +.Fa PTHREAD_ONCE_INIT +で初期化されない場合、 +.Fn pthread_once +の動作は不定になります。 +.Sh 戻り値 +問題がない場合、 +.Fn pthread_once +関数はゼロを戻します。問題がある場合は、そのエラーを示すエラー番号を戻します。 +.Sh エラー +ありません。 +.Sh 規格 +.Fn pthread_once +は、 +ISO/IEC 9945-1 ANSI/IEEE +.Pq Dq Tn POSIX +Std 1003.1 Second Edition 1996-07-12 +に準拠しています。 diff --git a/ja_JP.eucJP/man/man3/pthread_rwlock_destroy.3 b/ja_JP.eucJP/man/man3/pthread_rwlock_destroy.3 new file mode 100644 index 0000000000..1a1e10598c --- /dev/null +++ b/ja_JP.eucJP/man/man3/pthread_rwlock_destroy.3 @@ -0,0 +1,76 @@ +.\" Copyright (c) 1998 Alex Nash +.\" 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. +.\" +.\" $Id: pthread_rwlock_destroy.3,v 1.1.1.1 1999-12-09 16:25:57 kuriyama Exp $ +.\" +.Dd August 4, 1998 +.Dt PTHREAD_RWLOCK_DESTROY 3 +.Os +.Sh 名称 +.Nm pthread_rwlock_destroy +.Nd 読み書きロックの破壊 +.Sh 書式 +.Fd #include +.Ft int +.Fn pthread_rwlock_destroy "pthread_rwlock_t *lock" +.Sh 解説 +.Fn pthread_rwlock_destroy +関数は、 +.Fn pthread_rwlock_init +で以前に作成された読み書きロックを破壊します。 +.Sh 戻り値 +問題がない場合、 +.Fn pthread_rwlock_destroy +関数はゼロを戻します。問題がある場合は、そのエラーを示すエラー番号を戻します。 +.Sh 関連項目 +.Xr pthread_rwlock_init 3 +.Sh 規格 +.Fn pthread_rwlock_destroy +関数は、 +.St -susv2 +に準拠する見込みです。 +.Sh エラー +.Fn pthread_rwlock_destroy +関数は、以下のような場合にエラーとなります。 +.Bl -tag -width Er +.It Bq Er EPERM +オペレーションを実行する権利が呼び出し側にない場合。 +.El +.Pp +.Fn pthread_rwlock_destroy +関数は、以下のような場合にエラーになることがあります。 +.Bl -tag -width Er +.It Bq Er EBUSY +.Fa lock +で参照されるオブジェクトがロックされている間に、 +そのオブジェクトを破壊しようとする動きがシステムによって検出された場合。 +.It Bq Er EINVAL +.Fa lock +で指定された値が正しくない場合。 +.El +.Sh 歴史 +.Fn pthread_rwlock_destroy +関数は、 +.Fx 3.0 +に追加されました。 diff --git a/ja_JP.eucJP/man/man3/pthread_rwlock_init.3 b/ja_JP.eucJP/man/man3/pthread_rwlock_init.3 new file mode 100644 index 0000000000..fda9b2d666 --- /dev/null +++ b/ja_JP.eucJP/man/man3/pthread_rwlock_init.3 @@ -0,0 +1,92 @@ +.\" Copyright (c) 1998 Alex Nash +.\" 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. +.\" +.\" $Id: pthread_rwlock_init.3,v 1.1.1.1 1999-12-09 16:25:57 kuriyama Exp $ +.\" +.Dd August 4, 1998 +.Dt PTHREAD_RWLOCK_INIT 3 +.Os +.Sh 名称 +.Nm pthread_rwlock_init +.Nd 読み書きロックの初期化 +.Sh 書式 +.Fd #include +.Ft int +.Fn pthread_rwlock_init "pthread_rwlock_t *lock" "const pthread_rwlockattr_t *attr" +.Sh 解説 +.Fn pthread_rwlock_init +関数は、 +.Fa attr +で指定された属性で読み書きロックを初期化します。 +.Fa attr +が NULL である場合は、デフォルトの読み書きロック属性が使用されます。 +.Pp +すでに初期化されているロックで +.Fn pthread_rwlock_init +を呼び出すと、結果は不定になります。 +.Sh 戻り値 +問題がない場合、 +.Fn pthread_rwlock_init +関数はゼロを戻します。問題がある場合は、そのエラーを示すエラー番号を戻します。 +.Sh 関連項目 +.Xr pthread_rwlock_destroy 3 , +.Xr pthread_rwlockattr_init 3 , +.Xr pthread_rwlockattr_setpshared 3 +.Sh 規格 +.Fn pthread_rwlock_init +関数は、 +.St -susv2 +に準拠する見込みです。 +.Pp +.Sh エラー +.Fn pthread_rwlock_init +関数は、以下のような場合にエラーとなります。 +.Bl -tag -width Er +.It Bq Er EAGAIN +ロックの初期化に必要なリソース ( メモリ以外 ) がシステムで不足している場合。 +.It Bq Er ENOMEM +メモリが不足しているためにロックを初期化できない場合。 +.It Bq Er EPERM +オペレーションを実行するための十分な権利が呼び出し側にない場合。 +.El +.Pp +.Fn pthread_rwlock_init +関数は、以下のような場合にエラーになる場合があります。 +.Bl -tag -width Er +.It Bq Er EBUSY +以前に初期化されたが破壊されていない読み書きロック +.Fa lock +で参照されるオブジェクトをさらに初期化しようとする動きが、システムによって +検出された場合。 +.It Bq Er EINVAL +.Fa attr +で指定された値が正しくない場合。 +.El +.Sh 歴史 +.Fn pthread_rwlock_init +関数は、 +.Fx 3.0 +に追加されました。 +.Sh バグ +PTHREAD_PROCESS_SHARED 属性はサポートされていません。 diff --git a/ja_JP.eucJP/man/man3/pthread_rwlock_rdlock.3 b/ja_JP.eucJP/man/man3/pthread_rwlock_rdlock.3 new file mode 100644 index 0000000000..9b70f73fcb --- /dev/null +++ b/ja_JP.eucJP/man/man3/pthread_rwlock_rdlock.3 @@ -0,0 +1,111 @@ +.\" Copyright (c) 1998 Alex Nash +.\" 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. +.\" +.\" $Id: pthread_rwlock_rdlock.3,v 1.1.1.1 1999-12-09 16:25:57 kuriyama Exp $ +.\" +.Dd August 4, 1998 +.Dt PTHREAD_RWLOCK_RDLOCK 3 +.Os +.Sh 名称 +.Nm pthread_rwlock_rdlock , +.Nm pthread_rwlock_tryrdlock +.Nd 読込み用に読み書きロックを取得 +.Sh 書式 +.Fd #include +.Ft int +.Fn pthread_rwlock_rdlock "pthread_rwlock_t *lock" +.Ft int +.Fn pthread_rwlock_tryrdlock "pthread_rwlock_t *lock" +.Sh 解説 +.Fn pthread_rwlock_rdlock +関数は、 +.Fa lock +が書込み用に設定されておらず、 +書込みスレッドがロックでブロックされていない場合、読込みロックを +.Fa lock +で取得します。読込みロックをすぐに取得できない場合、呼び出しスレッドはロック +を取得できるようになるまでブロックされます。 +.Pp +.Fn pthread_rwlock_tryrdlock +関数は同じアクションを実行しますが、ロックをすぐに取得できなくても + ( 書込み用にロックされているか、書込みスレッドが待機していても ) +ブロックされません。 +.Pp +1つのスレッドは、複数の読込みロックを同時に取得できます。この場合は +.Fn pthread_rwlock_unlock +をそれぞれのロックに 1 回ずつ呼び出す必要があります。 +.Pp +呼び出しスレッドが書込みロックを取得している場合に読込みロックを +取得しようとすると、結果は不定になります。 +.Sh システムの注意事項 +書込み側の飢餓状態を避けるため、書込み側は読込み側より優先されます。 +.Sh 戻り値 +問題がない場合、 +.Fn pthread_rwlock_rdlock +関数と +.Fn pthread_rwlock_tryrdlock +関数はゼロを戻します。問題がある場合は、そのエラーを示すエラー番号を戻します。 +.Sh 関連項目 +.Xr pthread_rwlock_init 3 , +.Xr pthread_rwlock_trywrlock 3 , +.Xr pthread_rwlock_unlock 3 , +.Xr pthread_rwlock_wrlock 3 +.Sh 規格 +.Fn pthread_rwlock_rdlock +関数と +.Fn pthread_rwlock_tryrdlock +関数は、 +.St -susv2 +.Sh エラー +.Fn pthread_rwlock_tryrdlock +関数は、以下のような場合にエラーとなります。 +.Bl -tag -width Er +.It Bq Er EBUSY +書込み側がロックしているかブロックされているため、ロック +を取得できない場合。 +.El +.Pp +.Fn pthread_rwlock_rdlock +関数と +.Fn pthread_rwlock_tryrdlock +関数は、 +以下のような場合にエラーになる場合があります。 +.Bl -tag -width Er +.It Bq Er EAGAIN +.Fa lock +に対する読込みロックの最大数を越えたため、ロックを取得できない場合。 +.It Bq Er EDEADLK +現在のスレッドが、書込み用にロックをすでに取得している場合。 +.It Bq Er EINVAL +.Fa lock +で指定されている値が正しくない場合。 +.It Bq Er ENOMEM +メモリが不足しているため、ロックを初期化できない場合 ( 静的に +初期化されるロックのみに適用 ) 。 +.El +.Sh 歴史 +.Fn pthread_rwlock_rdlock +関数は、 +.Fx 3.0 +に追加されました。 diff --git a/ja_JP.eucJP/man/man3/pthread_rwlock_unlock.3 b/ja_JP.eucJP/man/man3/pthread_rwlock_unlock.3 new file mode 100644 index 0000000000..02af94e096 --- /dev/null +++ b/ja_JP.eucJP/man/man3/pthread_rwlock_unlock.3 @@ -0,0 +1,77 @@ +.\" Copyright (c) 1998 Alex Nash +.\" 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. +.\" +.\" $Id: pthread_rwlock_unlock.3,v 1.1.1.1 1999-12-09 16:25:57 kuriyama Exp $ +.\" +.Dd August 4, 1998 +.Dt PTHREAD_RWLOCK_UNLOCK 3 +.Os +.Sh 名称 +.Nm pthread_rwlock_unlock +.Nd 読み書きロックの解除 +.Sh 書式 +.Fd #include +.Ft int +.Fn pthread_rwlock_unlock "pthread_rwlock_t *lock" +.Sh 解説 +.Fn pthread_rwlock_unlock +関数は、 +.Fn pthread_rwlock_rdlock , +.Fn pthread_rwlock_wrlock , +.Fn pthread_rwlock_tryrdlock +あるいは +.Fn pthread_rwlock_trywrlock +で以前に取得した読み書きロックを解除します。 +.Sh 戻り値 +問題がない場合、 +.Fn pthread_rwlock_unlock +関数はゼロを戻します。問題がある場合は、そのエラーを示すエラー番号を戻します。 +.Pp +呼び出しスレッドが +.Fa lock +を取得していない場合、結果は不定になります。 +.Sh 関連項目 +.Xr pthread_rwlock_rdlock 3 , +.Xr pthread_rwlock_wrlock 3 +.Sh 規格 +.Fn pthread_rwlock_unlock +関数は、 +.St -susv2 +に準拠する見込みです。 +.SH エラー +.Fn pthread_rwlock_unlock +関数は、以下のような場合にエラーとなります。 +.Bl -tag -width Er +.It Bq Er EINVAL +.Fa lock +で指定されている値が正しくない場合。 +.It Bq Er EPERM +現在のスレッドが読み書きロックを取得していない場合。 +.El +.Pp +.Sh 歴史 +.Fn pthread_rwlock_unlock +関数は、 +.Fx 3.0 +に追加されました。 diff --git a/ja_JP.eucJP/man/man3/pthread_rwlock_wrlock.3 b/ja_JP.eucJP/man/man3/pthread_rwlock_wrlock.3 new file mode 100644 index 0000000000..c3af0b7073 --- /dev/null +++ b/ja_JP.eucJP/man/man3/pthread_rwlock_wrlock.3 @@ -0,0 +1,97 @@ +.\" Copyright (c) 1998 Alex Nash +.\" 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. +.\" +.\" $Id: pthread_rwlock_wrlock.3,v 1.1.1.1 1999-12-09 16:25:57 kuriyama Exp $ +.\" +.Dd August 4, 1998 +.Dt PTHREAD_RWLOCK_WRLOCK 3 +.Os +.Sh 名称 +.Nm pthread_rwlock_wrlock , +.Nm pthread_rwlock_trywrlock +.Nd 書込み用に読み書きロックを取得 +.Sh 書式 +.Fd #include +.Ft int +.Fn pthread_rwlock_wrlock "pthread_rwlock_t *lock" +.Ft int +.Fn pthread_rwlock_trywrlock "pthread_rwlock_t *lock" +.Sh 解説 +.Fn pthread_rwlock_wrlock +関数は、 +.Fa lock +に対して書込みロックを取得できるようになるまでブロックされます。 +.Fn pthread_rwlock_trywrlock +関数は同じアクションを実行しますが、ロックをすぐに取得できなくてもブロック +されません。 +.Pp +呼び出しスレッドが呼び出しを行なう時点でロックをすでに取得している +場合、結果は不定になります。 +.Sh システムの注意事項 +書込み側の飢餓状態を避けるため、書込みが読込みより優先されます。 +.Sh 戻り値 +問題がない場合、 +.Fn pthread_rwlock_wrlock +関数と +.Fn pthread_rwlock_trywrlock +関数はゼロを戻します。問題がある場合は、そのエラーを示すエラー番号を戻します。 +.Sh 関連項目 +.Xr pthread_rwlock_trywrlock 3 , +.Xr pthread_rwlock_unlock 3 , +.Xr pthread_rwlock_wrlock 3 +.Sh 規格 +.Fn pthread_rwlock_wrlock +関数と +.Fn pthread_rwlock_trywrlock +関数は、 +.St -susv2 +に準拠する見込みです。 +.Sh エラー +.Fn pthread_rwlock_trywrlock +関数は、以下のような場合にエラーとなります。 +.Bl -tag -width Er +.It Bq Er EBUSY +呼び出しスレッドが、ブロックせずにロックを取得できない場合。 +.El +.Pp +.Fn pthread_rwlock_wrlock +関数と +.Fn pthread_rwlock_trywrlock +関数は、以下のような場合にエラーとなります。 +.Bl -tag -width Er +.It Bq Er EDEADLK +呼び出しスレッドが、読み書きロック ( 読込み用か書込み用 ) を +すでに取得している場合。 +.It Bq Er EINVAL +.Fa lock +で指定された値が正しくない場合。 +.It Bq Er ENOMEM +メモリが不足しているため、ロックを初期化できない場合 ( 静的に +初期化されるロックのみに適用 ) 。 +.El +.Sh 歴史 +.Fn pthread_rwlock_wrlock +関数は、 +.Fx 3.0 +に追加されました。 diff --git a/ja_JP.eucJP/man/man3/pthread_rwlockattr_destroy.3 b/ja_JP.eucJP/man/man3/pthread_rwlockattr_destroy.3 new file mode 100644 index 0000000000..286a66cfed --- /dev/null +++ b/ja_JP.eucJP/man/man3/pthread_rwlockattr_destroy.3 @@ -0,0 +1,65 @@ +.\" Copyright (c) 1998 Alex Nash +.\" 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. +.\" +.\" $Id: pthread_rwlockattr_destroy.3,v 1.1.1.1 1999-12-09 16:25:57 kuriyama Exp $ +.\" +.Dd August 4, 1998 +.Dt PTHREAD_RWLOCKATTR_DESTROY 3 +.Os +.Sh 名称 +.Nm pthread_rwlockattr_destroy +.Nd 読み書きロックの破壊 +.Sh 書式 +.Fd #include +.Ft int +.Fn pthread_rwlockattr_destroy "pthread_rwlockattr_t *attr" +.Sh 解説 +.Fn pthread_rwlockattr_destroy +関数は、 +.Fn pthread_rwlockattr_init +で以前に作成された読み書きロック属性オブジェクトを破壊します。 +.Sh 戻り値 +問題がない場合、 +.Fn pthread_rwlockattr_destroy +関数はゼロを戻します。問題がある場合は、そのエラーを示すエラー番号を戻します。 +.Sh 関連項目 +.Xr pthread_rwlockattr_init 3 +.Sh 規格 +.Fn pthread_rwlockattr_destroy +関数は、 +.St -susv2 +に準拠する見込みです。 +.Sh エラー +.Fn pthread_rwlockattr_destroy +は、以下のような場合にエラーとなります。 +.Bl -tag -width Er +.It Bq Er EINVAL +.Fa attr +で指定された値が正しくない場合。 +.El +.Sh 歴史 +.Fn pthread_rwlockattr_destroy +関数は、 +.Fx 3.0 +に追加されました。 diff --git a/ja_JP.eucJP/man/man3/pthread_rwlockattr_getpshared.3 b/ja_JP.eucJP/man/man3/pthread_rwlockattr_getpshared.3 new file mode 100644 index 0000000000..2b21a1270a --- /dev/null +++ b/ja_JP.eucJP/man/man3/pthread_rwlockattr_getpshared.3 @@ -0,0 +1,78 @@ +.\" Copyright (c) 1998 Alex Nash +.\" 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. +.\" +.\" $Id: pthread_rwlockattr_getpshared.3,v 1.1.1.1 1999-12-09 16:25:57 kuriyama Exp $ +.\" +.Dd August 4, 1998 +.Dt PTHREAD_RWLOCKATTR_GETPSHARED 3 +.Os +.Sh 名称 +.Nm pthread_rwlockattr_getpshared +.Nd プロセス共有属性の設定 +.Sh 書式 +.Fd #include +.Ft int +.Fn pthread_rwlockattr_getpshared "pthread_rwlockattr_t *attr" "int *pshared" +.Sh 解説 +.Fn pthread_rwlockattr_getpshared +関数は、読み書きロック属性オブジェクトのプロセス共有設定を入手します。設定は +.Fa pshared +で戻されますが、以下のうちどちらかの値になります。 +.Bl -hang -offset flag -width 123456789012345678901234 +.It Ar PTHREAD_PROCESS_SHARED +読み書きロックが常駐するメモリにアクセス +できるプロセスのスレッドが、ロックを操作できます。 +.It Ar PTHREAD_PROCESS_PRIVATE +読み書きロックを初期化したスレッドと同じ +プロセスで作成されたスレッドのみが、ロックを操作できます。これが +デフォルト値です。 +.El +.Sh 戻り値 +問題がない場合、 +.Fn pthread_rwlockattr_getpshared +関数はゼロを戻します。 +問題がある場合は、そのエラーを示すエラー番号を戻します。 +.Sh 関連項目 +.Xr pthread_rwlock_init 3 , +.Xr pthread_rwlockattr_init 3 , +.Xr pthread_rwlockattr_setpshared 3 +.Sh 規格 +.Fn pthread_rwlockattr_getpshared +関数は、 +.St -susv2 +に準拠する見込みです。 +.Sh エラー +.Fn pthread_rwlockattr_getpshared +は、以下のような場合にエラー +となります。 +.Bl -tag -width Er +.It Bq Er EINVAL +.Fa attr +で指定された値が正しくない場合。 +.El +.Sh 歴史 +.Fn pthread_rwlockattr_getpshared +関数は、 +.Fx 3.0 +に追加されました。 diff --git a/ja_JP.eucJP/man/man3/pthread_rwlockattr_init.3 b/ja_JP.eucJP/man/man3/pthread_rwlockattr_init.3 new file mode 100644 index 0000000000..8a9d222746 --- /dev/null +++ b/ja_JP.eucJP/man/man3/pthread_rwlockattr_init.3 @@ -0,0 +1,69 @@ +.\" Copyright (c) 1998 Alex Nash +.\" 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. +.\" +.\" $Id: pthread_rwlockattr_init.3,v 1.1.1.1 1999-12-09 16:25:57 kuriyama Exp $ +.\" +.Dd August 4, 1998 +.Dt PTHREAD_RWLOCKATTR_INIT 3 +.Os +.Sh 名称 +.Nm pthread_rwlockattr_init +.Nd 読み書きロックの初期化 +.Sh 書式 +.Fd #include +.Ft int +.Fn pthread_rwlockattr_init "pthread_rwlockattr_t *attr" +.Sh 解説 +.Fn pthread_rwlockattr_init +関数は、読み書きロック属性オブジェクトを +初期化します。 +.Sh 戻り値 +問題がない場合、 +.Fn pthread_rwlockattr_init +関数はゼロを戻します。 +問題がある場合は、そのエラーを示すエラー番号を戻します。 +.Sh 関連項目 +.Xr pthread_rwlock_init 3 , +.Xr pthread_rwlockattr_destroy 3 , +.Xr pthread_rwlock-attr_getpshared 3 , +.Xr pthread_rwlockattr_setpshared 3 +.Sh 規格 +.Fn pthread_rwlockattr_init +関数は、 +.St -susv2 +に準拠する見込みです。 +.Sh エラー +.Fn pthread_rwlockattr_init +は、以下のような場合にエラーとなります。 +.Bl -tag -width Er +.It Bq Er ENOMEM +メモリが不足しているため、属性オブジェクトを +初期化できない場合。 +.El +.Pp +.Sh 歴史 +.Fn pthread_rwlockattr_init +関数は、 +.Fx 3.0 +に追加されました。 diff --git a/ja_JP.eucJP/man/man3/pthread_rwlockattr_setpshared.3 b/ja_JP.eucJP/man/man3/pthread_rwlockattr_setpshared.3 new file mode 100644 index 0000000000..2442cb0a63 --- /dev/null +++ b/ja_JP.eucJP/man/man3/pthread_rwlockattr_setpshared.3 @@ -0,0 +1,87 @@ +.\" Copyright (c) 1998 Alex Nash +.\" 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. +.\" +.\" $Id: pthread_rwlockattr_setpshared.3,v 1.1.1.1 1999-12-09 16:25:57 kuriyama Exp $ +.\" +.Dd August 4, 1998 +.Dt PTHREAD_RWLOCKATTR_SETPSHARED 3 +.Os +.Sh 名称 +.Nm pthread_rwlockattr_setpshared +.Nd プロセス共有属性を設定 +.Sh 書式 +.Fd #include +.Ft int +.Fn pthread_rwlockattr_setpshared "pthread_rwlockattr_t *attr" "int *pshared" +.Sh 解説 +.Fn pthread_rwlockattr_setpshared +関数は、 +.Fa attr +のプロセス共有属性を +.Fa pshared +が参照する値に設定します。 +.Fa pshared +は、以下のうちどちらかの +値になります。 +.Bl -hang -offset flag -width 123456789012345678901234 +.It Ar PTHREAD_PROCESS_SHARED +読み書きロックが常駐するメモリにアクセス +できるプロセスのスレッドが、ロックを操作できます。 +.It Ar PTHREAD_PROCESS_PRIVATE +読み書きロックを初期化したスレッドと同じ +プロセスで作成されたスレッドのみが、ロックを操作できます。これが +デフォルト値です。 +.El +.Sh 戻り値 +問題がない場合、 +.Fn pthread_rwlockattr_setpshared +関数はゼロを戻します。 +問題がある場合は、そのエラーを示すエラー番号を戻します。 +.Sh 関連項目 +.Xr pthread_rwlock_init 3 , +.Xr pthread_rwlockattr_init 3 , +.Xr pthread_rwlockattr_setpshared 3 +.Sh 規格 +.Fn pthread_rwlockattr_setpshared +関数は、 +.St -susv2 +に準拠する見込みです。 +.Sh エラー +.Fn pthread_rwlockattr_setpshared +は、以下のような場合にエラー +となります。 +.Bl -tag -width Er +.It Bq Er EINVAL +.Fa attr +か +.Fa pshared +で指定された値が正しくない場合。 +.El +.Sh 歴史 +.Fn pthread_rwlockattr_setpshared +関数は、 +.Fx 3.0 +に追加されました。 +.Sh バグ +PTHREAD_PROCESS_SHARED 属性はサポートされていません。 diff --git a/ja_JP.eucJP/man/man3/pthread_self.3 b/ja_JP.eucJP/man/man3/pthread_self.3 new file mode 100644 index 0000000000..47765d0449 --- /dev/null +++ b/ja_JP.eucJP/man/man3/pthread_self.3 @@ -0,0 +1,56 @@ +.\" Copyright (c) 1996 John Birrell . +.\" 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 John Birrell. +.\" 4. Neither the name of the author nor the names of any co-contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY JOHN BIRRELL 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. +.\" +.Dd April 4, 1996 +.Dt PTHREAD_SELF 3 +.Os BSD 4 +.Sh 名称 +.Nm pthread_self +.Nd 呼び出しスレッドの ID の入手 +.Sh 書式 +.Fd #include +.Ft pthread_t +.Fn pthread_self "void" +.Sh 解説 +.Fn pthread_self +関数は、呼び出しスレッドのスレッド ID を戻します。 +.Sh 戻り値 +.Fn pthread_self +関数は、呼び出しスレッドのスレッド ID を戻します。 +.Sh エラー +ありません。 +.Sh 関連項目 +.Xr pthread_create 3 , +.Xr pthread_equal 3 +.Sh 規格 +.Fn pthread_self +は、ISO/IEC 9945-1 ANSI/IEEE +.Pq Dq Tn POSIX +Std 1003.1 Second Edition 1996-07-12 に準拠しています。 diff --git a/ja_JP.eucJP/man/man3/pthread_setspecific.3 b/ja_JP.eucJP/man/man3/pthread_setspecific.3 new file mode 100644 index 0000000000..59c19ed0b8 --- /dev/null +++ b/ja_JP.eucJP/man/man3/pthread_setspecific.3 @@ -0,0 +1,91 @@ +.\" Copyright (c) 1996 John Birrell . +.\" 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 John Birrell. +.\" 4. Neither the name of the author nor the names of any co-contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY JOHN BIRRELL 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. +.\" +.Dd April 4, 1996 +.Dt PTHREAD_SETSPECIFIC 3 +.Os BSD 4 +.Sh 名称 +.Nm pthread_setspecific +.Nd スレッドに固有なデータ値の設定 +.Sh 書式 +.Fd #include +.Ft int +.Fn pthread_setspecific "pthread_key_t key" "const void *value" +.Sh 解説 +.Fn pthread_setspecific +関数は、 +.Fn pthread_key_create +を以前に呼び出して入手した +.Fa key +に、スレッドに固有な値を関連させます。別のスレッドでは、同じキーに +別の値を結び付けられます。この値は、呼び出しスレッドでの使用に予約した、 +ダイナミックに割り振られたメモリのブロックを指すポインタであることが +一般的です。 +.Pp +.Fn pthread_key_create +で入手していないキー値で、または +.Fn pthread_key_delete +で +.Fa key +を削除した後で +.Fn pthread_setspecific +を呼び +出すと、結果は不定になります。 +.Pp +.Fn pthread_setspecific +は、スレッドに固有なデータの破壊関数で呼び +出されることがありますが、このように呼び出されると、記憶域が失われたり無限 +ループに陥ったりすることがあります。 +.Sh 戻り値 +問題がない場合、 +.Fn pthread_setspecific +関数はゼロを戻します。問題がある場合は、そのエラーを示すエラー番号を戻します。 +.Sh エラー +.Fn pthread_setspecific +は、以下のような場合にエラーとなります。 +.Bl -tag -width Er +.It Bq Er ENOMEM +メモリが不足しているため、値を +.Fa key +に関連させられない場合。 +.It Bq Er EINVAL +.Fa key +の値が正しくない場合。 +.El +.Pp +.Sh 関連項目 +.Xr pthread_getspecific 3 , +.Xr pthread_key_create 3 , +.Xr pthread_key_delete 3 +.Sh 規格 +.Fn pthread_setspecific +は、ISO/IEC 9945-1 ANSI/IEEE +.Pq Dq Tn POSIX +Std 1003.1 Second Edition 1996-07-12 に準拠しています。 diff --git a/ja_JP.eucJP/man/man3/pty.3 b/ja_JP.eucJP/man/man3/pty.3 new file mode 100644 index 0000000000..12246dd5bc --- /dev/null +++ b/ja_JP.eucJP/man/man3/pty.3 @@ -0,0 +1,146 @@ +.\" +.\" Copyright (c) 1996 Joerg Wunsch +.\" +.\" 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 DEVELOPERS ``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 DEVELOPERS 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: pty.3,v 1.1.1.1 1999-12-09 16:25:57 kuriyama Exp $ +.\" " +.Dd December 29, 1996 +.Os +.Dt PTY 3 +.Sh 名称 +.Nm openpty , +.Nm forkpty +.Nd 疑似端末を入手する補助関数 +.Sh 書式 +.Fd #include +.Fd #include +.Fd #include +.Fd #include +.Ft int +.Fn openpty "int *amaster" "int *aslave" "char *name" "struct termios *termp" "struct winsize *winp" +.Ft int +.Fn forkpty "int *amaster" "char *name" "struct termios *termp" "struct winsize *winp" +.Pp +.Xr cc 1 +でコマンドラインからコンパイルするきは +.Va -lutil +でリンクすること。 +.Sh 解説 +.Fn openpty +関数は、次に使用できる疑似端末をシステムから +入手しようとします ( +.Xr pty 4 +参照 ) 。疑似端末を問題なく見つけると、スレーブデバイスの所有権を +現行プロセスの実際の UID に、 グループメンバーシップをグループ +.Dq tty +に ( このようなグループがシステムに存在する場合 ) 、所有者の +読み書き権とグループの書込み権を変更し、 +.Xr revoke 2 +を呼び出してラインの現在の使用を無効にしようとします。 +.Pp +引数 +.Fa name +が +.Dv NULL +ではない場合、 +.Fn openpty +はスレーブ pty のパス名をこの領域にコピーします。 +この配列で必要なスペースは、呼び出し側で割り振ります。 +.Pp +引数 +.Fa termp +か +.Fa winp +が +.Dv NULL +ではない場合、 +.Fn openpty +は、これらの引数が指す構造体の termios 設定とウィンドウサイズ設定を +初期化します。 +.Pp +戻る場合は、 pty のマスタサイドとスレーブサイドのオープンファイル記述子が、 +.Fa amaster +と +.Fa aslave +が指す場所に戻されます。 +.Pp +.Fn forkpty +は最初に +.Fn openpty +を呼び出し、次に使用できる疑似端末をシステムから入手します。 +問題がない場合は、新しいプロセスが分岐されます。子プロセスでは、 pty +のマスタサイドの記述子を閉じ、スレーブ pty で +.Xr login_tty 3 +を呼び出します。親プロセスでは、 pty のスレーブサイドの記述子を閉じます。 +引数 +.Fa amaster , +.Fa name , +.Fa termp +そして +.Fa winp +は、 +.Fn openpty +の引数と同じ働きをします。 +.Sh 戻り値 +.Fn openpty +は、問題がなければ 0 を戻し、エラーが発生すると -1 を戻します。 +.Pp +.Fn forkpty +は、エラーが発生すると -1 を戻し、スレーブプロセスに 0 、親プロセスに +スレーブプロセスのプロセス ID を戻します。 +.Sh エラー +エラーが発生した場合、 +.Fn openpty +はグローバル変数 +.Dv errno +を +.Er ENOENT +に設定します。 +.Pp +.Fn forkpty +は、 +.Xr fork 2 +で説明してあるように、 +.Dv errno +を設定することがあります。 +.Sh 関連項目 +.Xr chmod 2 , +.Xr chown 2 , +.Xr fork 2 , +.Xr getuid 2 , +.Xr open 2 , +.Xr revoke 2 , +.Xr login_tty 3 , +.Xr termios 3 , +.Xr pty 4 , +.Xr group 5 +.Sh バグ +呼び出しプロセスにスーパユーザの有効な UID がなければ、すべての +アクションは実行できません。 pty を割り振れる限り ( +.Fn forkpty +の場合は新しいプロセスを作成できる限り ) 、説明したステップを +.Fn openpty +か +.Fn forkpty +が続けられなくても通知はされません。 diff --git a/ja_JP.eucJP/man/man3/publickey.3 b/ja_JP.eucJP/man/man3/publickey.3 new file mode 100644 index 0000000000..22b5fdc600 --- /dev/null +++ b/ja_JP.eucJP/man/man3/publickey.3 @@ -0,0 +1,45 @@ +.\" @(#)publickey.3r 2.1 88/08/07 4.0 RPCSRC +.TH PUBLICKEY 3R "6 October 1987" +.SH 名称 +publickey, getpublickey, getsecretkey \- 公開鍵か秘密鍵の入手 +.SH 書式 +.nf +.B #include +.B #include +.LP +.B getpublickey(netname, publickey) +.B char netname[\s-1MAXNETNAMELEN\s0+1]; +.B char publickey[\s-1HEXKEYBYTES\s0+1]; +.LP +.B getsecretkey(netname, secretkey, passwd) +.B char netname[\s-1MAXNETNAMELEN\s0+1]; +.B char secretkey[\s-1HEXKEYBYTES\s0+1]; +.B char *passwd; +.fi +.SH 解説 +.IX "getpublickey function" "" "\fLgetpublickey()\fP function" +.IX "getsecretkey function" "" "\fLgetsecretkey()\fP function" +このルーチンでは、公開鍵と秘密鍵を +.SM YP +データベースから入手します。 +.B getsecretkey(\|) +には +.I passwd +という引数があり、データベースに保存されている、 +暗号化された秘密鍵の復号化に使用されます。どちらのルーチンも、鍵が +見つかると 1 を戻し、見つからないと 0 を戻します。 +鍵は、 +.SM NULL +で終わる 16 進文字列として戻されます。 +.B getsecretkey(\|) +に指定されたパスワードで秘密鍵を復号化できない場合は 1 が戻されますが、 +.I secretkey +引数は +.SM NULL +文字列 (``'') になります。 +.SH 関連項目 +.BR publickey (5) +.LP +.TX NETP +の +.I \s-1RPC\s0 Programmer's Manual diff --git a/ja_JP.eucJP/man/man3/putc.3 b/ja_JP.eucJP/man/man3/putc.3 new file mode 100644 index 0000000000..954105f7ee --- /dev/null +++ b/ja_JP.eucJP/man/man3/putc.3 @@ -0,0 +1,122 @@ +.\" Copyright (c) 1990, 1991, 1993 +.\" 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. +.\" +.\" @(#)putc.3 8.1 (Berkeley) 6/4/93 +.\" +.Dd June 4, 1993 +.Dt PUTC 3 +.Os +.Sh 名称 +.Nm fputc , +.Nm putc , +.Nm putchar , +.Nm putw +.Nd キャラクタかワードをストリームに出力 +.Sh 書式 +.Fd #include +.Ft int +.Fn fputc "int c" "FILE *stream" +.Ft int +.Fn putc "int c" "FILE *stream" +.Ft int +.Fn putchar "int c" +.Ft int +.Fn putw "int w" "FILE *stream" +.Sh 解説 +.Fn fputc +関数は、キャラクタ +.Fa c +( 符号なしキャラクタに変換済み ) を +.Fa stream +が指す出力ストリームに出力します。 +.Pp +.Fn putc +は、 +.Fn fputc +と本質的に同じように動作しますが、インラインを拡張するマクロです。 +.Fa stream +を複数回評価することがあるので、 +.Fn putc +には、副作用が潜在する式を引数として指定しないでください。 +.Pp +.Fn putchar +は +.Fn putc +と同じですが、出力ストリームは +.Em stdout +です。 +.Pp +.Fn putw +関数は、指定された +.Em int +を指定された出力ストリーム +.Fa stream +に書き +込みます。 +.Sh 戻り値 +.Fn fputc , +.Fn putc , +.Fn putchar +関数は、書き込んだキャラクタを戻します。エラーが発生した場合は +.Dv EOF +という値が戻されます。 +.Fn putw +は、問題がない場合は0 を戻します。書込みエラーが発生した場合、 +または読込み専用 +ストリームに書き込もうとした場合は +.Dv EOF +が戻されます。 +.Sh 関連項目 +.Xr ferror 3 , +.Xr fopen 3 , +.Xr getc 3 , +.Xr stdio 3 +.Sh 規格 +.Fn fputc , +.Fn putc , +.Fn putchar +関数は、 +.St -ansiC +に準拠しています。 +.Fn putw +関数は、 +.At v6 +に追加されました。 +.Sh バグ +.Em int +のサイズとバイトオーダはマシンによって異なるので、移植可能 +アプリケーションに +.Fn putw +を使用しないでください。 diff --git a/ja_JP.eucJP/man/man3/pwcache.3 b/ja_JP.eucJP/man/man3/pwcache.3 new file mode 100644 index 0000000000..8cdb03501b --- /dev/null +++ b/ja_JP.eucJP/man/man3/pwcache.3 @@ -0,0 +1,89 @@ +.\" Copyright (c) 1989, 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. +.\" +.\" @(#)pwcache.3 8.1 (Berkeley) 6/9/93 +.\" +.Dd June 9, 1993 +.Dt PWCACHE 3 +.Os +.Sh 名称 +.Nm pwcache +.Nd パスワードエントリとグループエントリのキャッシュ +.Sh 書式 +.Fd #include +.Ft char * +.Fn user_from_uid "unsigned long uid" "int nouser" +.Ft char * +.Fn group_from_gid "unsigned long gid" "int nogroup" +.Sh 解説 +.Fn user_from_uid +関数は、引数 +.Fa uid +に関連するユーザ名を戻します。ユーザ名はキャッシュされるので、同じ +.Fa uid +で何度も呼び出す場合は、 +.Xr getpwuid 3 +を呼び出す必要はありません。 +.Fa uid +にユーザが関連していない場合は、引数 +.Fa nouser +が 0であれば、 +.Fa uid +のストリング表現にポインタが戻されます。0以外である場合は +.Dv NULL +ポインタが戻されます。 +.Pp +.Fn group_from_gid +関数は、引数 +.Fa gid +に関連するグループ名を戻します。グループ名はキャッシュされるので、同じ +.Fa gid +で何度も呼び出す場合は、 +.Xr getgrgid 3 +を呼び出す必要はありません。 +.Fa gid +にグループが関連していない場合は、引数 +.Fa nogroup +が 0であれば、 +.Fa gid +のストリング表現にポインタが戻されます。0以外である場合は +.Dv NULL +ポインタが戻されます。 +.Sh 関連項目 +.Xr getgrgid 3 , +.Xr getpwuid 3 +.Sh 歴史 +.Fn user_from_uid +関数と +.Fn group_from_gid +関数は、 +.Bx 4.4 +に最初に登場しました。 diff --git a/ja_JP.eucJP/man/man3/qsort.3 b/ja_JP.eucJP/man/man3/qsort.3 new file mode 100644 index 0000000000..9e0e6c40a8 --- /dev/null +++ b/ja_JP.eucJP/man/man3/qsort.3 @@ -0,0 +1,222 @@ +.\" Copyright (c) 1990, 1991, 1993 +.\" 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. +.\" +.\" @(#)qsort.3 8.1 (Berkeley) 6/4/93 +.\" +.Dd June 4, 1993 +.Dt QSORT 3 +.Os +.Sh 名称 +.Nm qsort, heapsort, mergesort +.Nd ソート関数 +.Sh 書式 +.Fd #include +.Ft void +.Fn qsort "void *base" "size_t nmemb" "size_t size" "int (*compar)(const void *, const void *)" +.Ft int +.Fn heapsort "void *base" "size_t nmemb" "size_t size" "int (*compar)(const void *, const void *)" +.Ft int +.Fn mergesort "void *base" "size_t nmemb" "size_t size" "int (*compar)(const void *, const void *)" +.Sh 解説 +.Fn qsort +関数は、パーティション交換ソート、つまりクイックソートの修正版です。 +.Fn heapsort +関数は、選択ソートの修正版です。 +.Fn mergesort +関数は、事前設定した順序でデータをソートする指数検索によるマージソートの +修正版です。 +.Pp +.Fn qsort +関数と +.Fn heapsort +関数は、 +.Fa base +が指す初期メンバである +.Fa nmemb +オブジェクトの配列をソートします。各オブジェクトのサイズは、 +.Fa size +で +指定します。 +.Fn mergesort +も同じように動作しますが、 +.Fa size +は +.Dq "sizeof(void *) / 2" . +より大きくなければなりません。 +.Pp +配列 +.Fa base +の内容は、 +.Fa compar +が指す比較関数に従って昇順でソートされます。この関数では、比較するオブ +ジェクトを指す、2つの引数が必要です。 +.Pp +比較関数は、最初の引数が次の引数より小さい場合は 0より小さい整数、等し +い場合は 0、大きい場合は 0より大きい整数を戻す必要があります。 +.Pp +.Fn qsort +関数と +.Fn heapsort +関数は不安定です。つまり 2つのメンバが等しい場合、ソート済み配列の順序 +は不定になります。 +.Fn mergesort +関数は安定しています。 +.Pp +.Fn qsort +関数は、パーティション交換ソートのバリエーションである、C.A.R. Hoare +の ``クイックソート'' アルゴリズムを実装しています。とくに D.E. Knuth +のアルゴリズム Q を参照してください。 +.Fn qsort +には、平均で +O N lg N +の時間がかかります。このシステムは、メジアン選択を使用して、O N**2 +という最悪なケースの動作を回避します。 +.Pp +.Fn heapsort +関数は、選択ソートのバリエーションである、J.W.J. William の ``ヒープソー +ト'' アルゴリズムを実装しています。とくに D.E. Knuth のアルゴリズム H +を参照してください。 +.Fn heapsort +には、最悪のケースで +O N lg N +の時間がかかります。メモリをほとんど余分に使用しないという点のみが +.Fn qsort +より優れています。 +.Fn qsort +はメモリを割り振りませんが、再帰を使用して実現されます。 +.Pp +.Fn mergesort +関数では、 +.Fa nmemb * +.Fa size +バイトのメモリが余分に必要となります。スペースに余裕がある場合のみに使 +用してください。 +.Fn mergesort +は、事前設定した順序のデータで最適化されます。最悪のケースの時間は +O N lg N で、最善のケースは O N です。 +.Pp +通常は、 +.Fn heapsort +より +.Fn mergesort +の方が速く、 +.Fn mergesort +より +.Fn qsort +の方が高速です。使用できるメモリ量やデータの事前設定順序により、この状 +況は変化します。 +.Sh 戻り値 +.Fn qsort +関数は値を戻しません。 +.Pp +問題なく終了すると、 +.Fn heapsort +と +.Fn mergesort +は 0を戻します。問題がある場合は \-1 を戻し、そのエラーを示す値にグロー +バル変数 +.Va errno +を設定します。 +.Sh エラー +.Fn heapsort +関数と +.Fn mergesort +関数は、以下のような場合にエラーとなります。 +.Bl -tag -width Er +.It Bq Er EINVAL +.Fa size +引数が 0であるか、 +.Fn mergesort +の +.Fa size +引数が +.Dq "sizeof void * / 2" +より小さい場合。 +.It Bq Er ENOMEM +.Fn heapsort +か +.Fn mergesort +がメモリを割り振れなかった場合。 +.El +.Sh 互換性 +旧バージョンの +.Fn qsort +では、比較ルーチンが +.Fn qsort 3 +を呼び出すことはできませんでした。現在は呼び出せます。 +.Sh 関連項目 +.Xr sort 1 , +.Xr radixsort 3 +.Rs +.%A Hoare, C.A.R. +.%D 1962 +.%T "Quicksort" +.%J "The Computer Journal" +.%V 5:1 +.%P pp. 10-15 +.Re +.Rs +.%A Williams, J.W.J +.%D 1964 +.%T "Heapsort" +.%J "Communications of the ACM" +.%V 7:1 +.%P pp. 347-348 +.Re +.Rs +.%A Knuth, D.E. +.%D 1968 +.%B "The Art of Computer Programming" +.%V Vol. 3 +.%T "Sorting and Searching" +.%P pp. 114-123, 145-149 +.Re +.Rs +.%A Mcilroy, P.M. +.%T "Optimistic Sorting and Information Theoretic Complexity" +.%J "Fourth Annual ACM-SIAM Symposium on Discrete Algorithms" +.%V January 1992 +.Re +.Rs +.%A Bentley, J.L. +.%T "Engineering a Sort Function" +.%J "bentley@research.att.com" +.%V January 1992 +.Re +.Sh 規格 +.Fn qsort +関数は、 +.St -ansiC +に準拠しています。 diff --git a/ja_JP.eucJP/man/man3/queue.3 b/ja_JP.eucJP/man/man3/queue.3 new file mode 100644 index 0000000000..69d65b38ab --- /dev/null +++ b/ja_JP.eucJP/man/man3/queue.3 @@ -0,0 +1,848 @@ +.\" 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 +.\" $Id: queue.3,v 1.1.1.1 1999-12-09 16:25:57 kuriyama Exp $ +.\" +.Dd January 24, 1994 +.Dt QUEUE 3 +.Os BSD 4 +.Sh 名称 +.Nm SLIST_EMPTY , +.Nm SLIST_ENTRY , +.Nm SLIST_FIRST , +.Nm SLIST_HEAD , +.Nm SLIST_INIT , +.Nm SLIST_INSERT_AFTER , +.Nm SLIST_INSERT_HEAD , +.Nm SLIST_NEXT , +.Nm SLIST_REMOVE_HEAD , +.Nm SLIST_REMOVE , +.Nm STAILQ_ENTRY , +.Nm STAILQ_HEAD , +.Nm STAILQ_INIT , +.Nm STAILQ_INSERT_AFTER , +.Nm STAILQ_INSERT_HEAD , +.Nm STAILQ_INSERT_TAIL , +.Nm STAILQ_REMOVE_HEAD , +.Nm STAILQ_REMOVE , +.Nm LIST_ENTRY , +.Nm LIST_HEAD , +.Nm LIST_INIT , +.Nm LIST_INSERT_AFTER , +.Nm LIST_INSERT_BEFORE , +.Nm LIST_INSERT_HEAD , +.Nm LIST_REMOVE , +.Nm TAILQ_EMPTY , +.Nm TAILQ_ENTRY , +.Nm TAILQ_FIRST , +.Nm TAILQ_HEAD , +.Nm TAILQ_INIT , +.Nm TAILQ_INSERT_AFTER , +.Nm TAILQ_INSERT_BEFORE , +.Nm TAILQ_INSERT_HEAD , +.Nm TAILQ_INSERT_TAIL , +.Nm TAILQ_LAST , +.Nm TAILQ_NEXT , +.Nm TAILQ_REMOVE , +.Nm CIRCLEQ_ENTRY , +.Nm CIRCLEQ_HEAD , +.Nm CIRCLEQ_INIT , +.Nm CIRCLEQ_INSERT_AFTER , +.Nm CIRCLEQ_INSERT_BEFORE , +.Nm CIRCLEQ_INSERT_HEAD , +.Nm CIRCLEQ_INSERT_TAIL , +.Nm CIRCLEQ_REMOVE +.Nd 単一リンクリスト、単一リンクテールキュー、リスト、テールキュー、循 +環キューのシステム +.Sh 書式 +.Fd #include +.\" +.Fn SLIST_EMPTY "SLIST_HEAD *head" +.Fn SLIST_ENTRY "TYPE" +.Fn SLIST_FIRST "SLIST_HEAD *head" +.Fn SLIST_HEAD "HEADNAME" "TYPE" +.Fn SLIST_INIT "SLIST_HEAD *head" +.Fn SLIST_INSERT_AFTER "TYPE *listelm" "TYPE *elm" "SLIST_ENTRY NAME" +.Fn SLIST_INSERT_HEAD "SLIST_HEAD *head" "TYPE *elm" "SLIST_ENTRY NAME" +.Fn SLIST_NEXT "TYPE *elm" "SLIST_ENTRY NAME" +.Fn SLIST_REMOVE_HEAD "SLIST_HEAD *head" "SLIST_ENTRY NAME" +.Fn SLIST_REMOVE "SLIST_HEAD *head" "TYPE *elm" "TYPE" "SLIST_ENTRY NAME" +.\" +.Fn STAILQ_ENTRY "TYPE" +.Fn STAILQ_HEAD "HEADNAME" "TYPE" +.Fn STAILQ_INIT "STAILQ_HEAD *head" +.Fn STAILQ_INSERT_AFTER "STAILQ_HEAD *head" "TYPE *listelm" "TYPE *elm" "STAILQ_ENTRY NAME" +.Fn STAILQ_INSERT_HEAD "STAILQ_HEAD *head" "TYPE *elm" "STAILQ_ENTRY NAME" +.Fn STAILQ_INSERT_TAIL "STAILQ_HEAD *head" "TYPE *elm" "STAILQ_ENTRY NAME" +.Fn STAILQ_REMOVE_HEAD "STAILQ_HEAD *head" "STAILQ_ENTRY NAME" +.Fn STAILQ_REMOVE "STAILQ_HEAD *head" "TYPE *elm" "TYPE" "STAILQ_ENTRY NAME" +.\" +.Fn LIST_ENTRY "TYPE" +.Fn LIST_HEAD "HEADNAME" "TYPE" +.Fn LIST_INIT "LIST_HEAD *head" +.Fn LIST_INSERT_AFTER "TYPE *listelm" "TYPE *elm" "LIST_ENTRY NAME" +.Fn LIST_INSERT_BEFORE "TYPE *listelm" "TYPE *elm" "LIST_ENTRY NAME" +.Fn LIST_INSERT_HEAD "LIST_HEAD *head" "TYPE *elm" "LIST_ENTRY NAME" +.Fn LIST_REMOVE "TYPE *elm" "LIST_ENTRY NAME" +.\" +.Fn TAILQ_EMPTY "TAILQ_HEAD *head" +.Fn TAILQ_ENTRY "TYPE" +.Fn TAILQ_FIRST "TAILQ_HEAD *head" +.Fn TAILQ_HEAD "HEADNAME" "TYPE" +.Fn TAILQ_INIT "TAILQ_HEAD *head" +.Fn TAILQ_INSERT_AFTER "TAILQ_HEAD *head" "TYPE *listelm" "TYPE *elm" "TAILQ_ENTRY NAME" +.Fn TAILQ_INSERT_BEFORE "TYPE *listelm" "TYPE *elm" "TAILQ_ENTRY NAME" +.Fn TAILQ_INSERT_HEAD "TAILQ_HEAD *head" "TYPE *elm" "TAILQ_ENTRY NAME" +.Fn TAILQ_INSERT_TAIL "TAILQ_HEAD *head" "TYPE *elm" "TAILQ_ENTRY NAME" +.Fn TAILQ_LAST "TAILQ_HEAD *head" +.Fn TAILQ_NEXT "TYPE *elm" "TAILQ_ENTRY NAME" +.Fn TAILQ_REMOVE "TAILQ_HEAD *head" "TYPE *elm" "TAILQ_ENTRY NAME" +.\" +.Fn CIRCLEQ_ENTRY "TYPE" +.Fn CIRCLEQ_HEAD "HEADNAME" "TYPE" +.Fn CIRCLEQ_INIT "CIRCLEQ_HEAD *head" +.Fn CIRCLEQ_INSERT_AFTER "CIRCLEQ_HEAD *head" "TYPE *listelm" "TYPE *elm" "CIRCLEQ_ENTRY NAME" +.Fn CIRCLEQ_INSERT_BEFORE "CIRCLEQ_HEAD *head" "TYPE *listelm" "TYPE *elm" "CIRCLEQ_ENTRY NAME" +.Fn CIRCLEQ_INSERT_HEAD "CIRCLEQ_HEAD *head" "TYPE *elm" "CIRCLEQ_ENTRY NAME" +.Fn CIRCLEQ_INSERT_TAIL "CIRCLEQ_HEAD *head" "TYPE *elm" "CIRCLEQ_ENTRY NAME" +.Fn CIRCLEQ_REMOVE "CIRCLEQ_HEAD *head" "TYPE *elm" "CIRCLEQ_ENTRY NAME" +.Sh 解説 +このマクロは、単一リンクリスト、単一リンクテールキュー、リスト、テール +キュー、循環キューという、5 種類のデータ構造を定義してそこで動作します。 +このすべてのデータ構造では、以下の機能がサポートされています。 +.Bl -enum -compact -offset indent +.It +リストの最初に新しいエントリを挿入する。 +.It +リストに存在する任意のエレメントの後ろに新しいエントリを挿入する。 +.It +リストの最初からエントリを O(1) 削除する。 +.It +リストの任意のエントリを O(n) 削除する。 +.It +リストでトラバースを転送する。 +.El +.Pp +単一リンクリストは、5 つのデータ構造の中で最も単純で、上の 5つの機能し +かサポートしません。データセットが大きく、削除がほとんどないアプリケー +ション、または LIFO キューの実現に最適です。 +.Pp +単一リンクテールキューには以下の機能もあります。 +.Bl -enum -compact -offset indent +.It +リストの最後にエントリを追加する。 +.El +しかし以下に注意してください。 +.Bl -enum -compact -offset indent +.It +リストの挿入では、リストのヘッドを必ず指定する必要がある。 +.It +各ヘッドエントリでは、1つではなく 2つのポインタが必要。 +.It +単一リンクリストより、コードサイズは約 15% 大きく、処理時間は約 20% 長 +い。 +.El +.Pp +単一リンクテールキューは、データセットが大きく、削除がほとんどない +アプリケーション、または FIFO キューの実現に最適です。 +.Pp +二重リンクタイプのすべてのデータ構造(リスト、テールキュー、循環キュー) +には以下の機能もあります。 +.Bl -enum -compact -offset indent +.It +リストに存在する任意のエレメントの前に新しいエントリを挿入する。 +.It +リストの任意のエントリを O(1) 削除する。 +.El +しかし以下に注意してください。 +.Bl -enum -compact -offset indent +.It +各エレメントには、1つではなく 2つのポインタが必要。 +.It +単一リンクデータ構造より、コードサイズと実行時間(削除は除く)が約 2倍に +なる。 +.El +.Pp +リンクリストは、二重リンクデータ構造の中で最も単純で、単一リンクリスト +の機能に加えて上の機能しかサポートしません。 +.Pp +テールキューには以下の機能もあります。 +.Bl -enum -compact -offset indent +.It +リストの最後にエントリを追加する。 +.El +しかし以下に注意してください。 +.Bl -enum -compact -offset indent +.It +リストの挿入と削除では、リストのヘッドを必ず指定する必要がある。 +.It +各ヘッドエントリでは、1つではなく 2つのポインタが必要。 +.It +単一リンクリストより、コードサイズは約 15%大きく、処理時間は約 20%長い。 +.El +.Pp +循環キューには以下の機能もあります。 +.Bl -enum -compact -offset indent +.It +リストの最後にエントリを追加する。 +.It +テールからヘッドへ逆順で横断する。 +.El +しかし以下に注意してください。 +.Bl -enum -compact -offset indent +.It +リストの挿入と削除では、リストのヘッドを必ず指定する必要がある。 +.It +各ヘッドエントリでは、1つではなく 2つのポインタが必要。 +.It +トラバースの終了条件が複雑。 +.It +リストより、コードサイズは約 40%大きく、処理時間は約 45%長い。 +.El +.Pp +マクロ定義では、 +.Fa TYPE +はユーザが定義した構造体の名前です。この構造体には、 +.Fa NAME +という名前が付いた、 +.Li SLIST_ENTRY +か +.Li STAILQ_ENTRY , +.Li LIST_ENTRY , +.Li TAILQ_ENTRY , +.Li CIRCLEQ_ENTRY +というタイプのフィールドを含める必要があります。引数 +.Fa HEADNAME +は、 +.Li SLIST_HEAD +マクロか +.Li STAILQ_HEAD +マクロ、 +.Li LIST_HEAD +マクロ、 +.Li TAILQ_HEAD +マクロ、 +.Li CIRCLEQ_HEAD +マクロで宣言する必要がある、ユーザが定義した構造体の名前です。このマク +ロの使用法については、以下の使用例を参照してください。 +.Sh 単一リンクリスト +単一リンクリストの最初には、 +.Nm SLIST_HEAD +マクロが定義する構造体が付きます。この構造体には、リストの最初のエレメ +ントを指す1 つのポインタが含まれます。エレメントは、任意のエレメントの +O(n) 削除を犠牲にして、最低スペースとポインタ操作オーバヘッドに単一リ +ンクされます。新しいエレメントは、既存エレメントの後ろかリストの最初で +リストに追加できます。 +.Fa SLIST_HEAD +構造体は、以下のように宣言されます。 +.Bd -literal -offset indent +SLIST_HEAD(HEADNAME, TYPE) head; +.Ed +.Pp +.Li HEADNAME +は定義する構造体の名前で、 +.Li TYPE +はリストにリンクするエレメントのタイプです。リストのヘッドのポインタは、 +後で以下のように宣言されます。 +.Bd -literal -offset indent +struct HEADNAME *headp; +.Ed +.Pp +(ユーザは、名前 +.Li head +と +.Li headp +を選択できます。) +.Pp +マクロ +.Nm SLIST_ENTRY +は、リストのエレメントを接続する構造体を宣言します。 +.Pp +マクロ +.Nm SLIST_INIT +は、 +.Fa head +が参照するリストを初期化します。 +.Pp +マクロ +.Nm SLIST_INSERT_HEAD +は、新しいエレメント +.Fa elm +をリストの最初に挿入します。 +.Pp +マクロ +.Nm SLIST_INSERT_AFTER +は、エレメント +.Fa listelm +の後に新しいエレメント +.Fa elm +を挿入します。 +.Pp +マクロ +.Nm SLIST_REMOVE_HEAD +は、リストの最初からエレメント +.Fa elm +を削除します。能率を上げるには、リストの最初から削除するエレメントで、 +一般的な +.Fa SLIST_REMOVE +マクロの代わりにこのマクロを明示的に使用してください。 +.Pp +マクロ +.Fa SLIST_REMOVE +は、リストからエレメント +.Fa elm +を削除します。 +.Sh 単一リンクリストの使用例 +.Bd -literal +SLIST_HEAD(slisthead, entry) head; +struct slisthead *headp; /* Singly-linked List head. */ +struct entry { + ... + SLIST_ENTRY(entry) entries; /* Singly-linked List. */ + ... +} *n1, *n2, *n3, *np; + +SLIST_INIT(&head); /* Initialize the list. */ + +n1 = malloc(sizeof(struct entry)); /* Insert at the head. */ +SLIST_INSERT_HEAD(&head, n1, entries); + +n2 = malloc(sizeof(struct entry)); /* Insert after. */ +SLIST_INSERT_AFTER(n1, n2, entries); + +SLIST_REMOVE(&head, n2, entry, entries);/* Deletion. */ +free(n2); + +n3 = head.slh_first; +SLIST_REMOVE_HEAD(&head, entries); /* Deletion. */ +free(n3); + + /* Forward traversal. */ +for (np = head.slh_first; np != NULL; np = np->entries.sle_next) + np-> ... + +while (head.slh_first != NULL) { /* List Deletion. */ + n1 = head.slh_first; + SLIST_REMOVE_HEAD(&head, entries); + free(n1); +} +.Ed +.Sh 単一リンクテールキュー +単一リンクテールキューの最初には、 +.Nm STAILQ_HEAD +マクロが定義する構造体が付きます。この構造体には、テールキューの最初の +エレメントを指すポインタとテールキューの最後のエレメントを指すポインタ +が含まれます。エレメントは、任意のエレメントの O(n) 削除を犠牲にして、 +最低スペースとポインタ操作オーバヘッドに単一リンクされます。新しいエレ +メントは、既存エレメントの後ろ、またはテールキューの最初か最後に追加で +きます。 +.Fa STAILQ_HEAD +構造は、以下のように宣言されます。 +.Bd -literal -offset indent +STAILQ_HEAD(HEADNAME, TYPE) head; +.Ed +.Pp +.Li HEADNAME +は定義する構造体の名前で、 +.Li TYPE +はテールキューにリンクするエレメントのタイプです。テールキューのヘッド +のポインタは、後で以下のように宣言されます。 +.Bd -literal -offset indent +struct HEADNAME *headp; +.Ed +.Pp +(ユーザは、名前 +.Li head +と +.Li headp +を選択できます。) +.Pp +マクロ +.Nm STAILQ_ENTRY +は、テールキューのエレメントを接続する構造体を宣言します。 +.Pp +マクロ +.Nm STAILQ_INIT +は、 +.Fa head +が参照するテールキューを初期化します。 +.Pp +マクロ +.Nm STAILQ_INSERT_HEAD +は、新しいエレメント +.Fa elm +をテールキューの最初に挿入します。 +.Pp +マクロ +.Nm STAILQ_INSERT_TAIL +は、新しいエレメント +.Fa elm +をテールキューの最後に挿入します。 +.Pp +マクロ +.Nm STAILQ_INSERT_AFTER +は、新しいエレメント +.Fa elm +をエレメント +.Fa listelm +の後ろに挿入します。 +.Pp +マクロ +.Nm STAILQ_REMOVE_HEAD +は、テールキューの最初からエレメント +.Fa elm +を削除します。能率を上げるには、テールキューの最初から削除するエレメン +トで、一般的な +.Fa STAILQ_REMOVE +マクロの代わりにこのマクロを明示的に使用してください。 +.Pp +マクロ +.Fa STAILQ_REMOVE +は、テールキューからエレメント +.Fa elm +を削除します。 +.Sh 単一リンクテールキューの使用例 +.Bd -literal +STAILQ_HEAD(stailhead, entry) head; +struct stailhead *headp; /* Singly-linked tail queue head. */ +struct entry { + ... + STAILQ_ENTRY(entry) entries; /* Tail queue. */ + ... +} *n1, *n2, *n3, *np; + +STAILQ_INIT(&head); /* Initialize the queue. */ + +n1 = malloc(sizeof(struct entry)); /* Insert at the head. */ +STAILQ_INSERT_HEAD(&head, n1, entries); + +n1 = malloc(sizeof(struct entry)); /* Insert at the tail. */ +STAILQ_INSERT_TAIL(&head, n1, entries); + +n2 = malloc(sizeof(struct entry)); /* Insert after. */ +STAILQ_INSERT_AFTER(&head, n1, n2, entries); + + /* Deletion. */ +STAILQ_REMOVE(&head, n2, entry, entries); +free(n2); + + /* Deletion from the head */ +n3 = head.stqh_first; +STAILQ_REMOVE_HEAD(&head, entries); +free(n3); + + /* Forward traversal. */ +for (np = head.stqh_first; np != NULL; np = np->entries.stqe_next) + np-> ... + /* TailQ Deletion. */ +while (head.stqh_first != NULL) { + n1 = head.stqh_first; + TAILQ_REMOVE_HEAD(&head, entries); + free(n1); +} + /* Faster TailQ Deletion. */ +n1 = head.stqh_first; +while (n1 != NULL) { + n2 = n1->entries.stqe_next; + free(n1); + n1 = n2; +} +STAILQ_INIT(&head); +.Ed +.Sh リスト +リストの最初には、 +.Nm LIST_HEAD +マクロが定義する構造体が付きます。この構造体には、リストの最初のエレメ +ントを指す 1つのポインタが含まれます。エレメントは二重にリンクされてい +るので、リストを横断せずに任意のエレメントを削除できます。新しいエレメ +ントは、既存エレメントの前後かリストの最初でリストに追加できます。 +.Fa LIST_HEAD +構造体は、以下のように宣言されます。 +.Bd -literal -offset indent +LIST_HEAD(HEADNAME, TYPE) head; +.Ed +.Pp +.Fa HEADNAME +は定義する構造体の名前で、 +.Fa TYPE +はリストにリンクするエレメントのタイプです。リストのヘッドのポインタは、 +後で以下のように宣言されます。 +.Bd -literal -offset indent +struct HEADNAME *headp; +.Ed +.Pp +(ユーザは、名前 +.Li head +と +.Li headp +を選択できます。) +.Pp +マクロ +.Nm LIST_ENTRY +は、リストのエレメントを接続する構造体を宣言します。 +.Pp +マクロ +.Nm LIST_INIT +は、 +.Fa head +が参照するリストを初期化します。 +.Pp +マクロ +.Nm LIST_INSERT_HEAD +は、新しいエレメント +.Fa elm +をリストの最初に挿入します。 +.Pp +マクロ +.Nm LIST_INSERT_AFTER +は、新しいエレメント +.Fa elm +をエレメント +.Fa listelm +の後ろに挿入します。 +.Pp +マクロ +.Nm LIST_INSERT_BEFORE +は、新しいエレメント +.Fa elm +をエレメント +.Fa listelm +の前に挿入します。 +.Pp +マクロ +.Nm LIST_REMOVE +は、エレメント +.Fa elm +をリストから削除します。 +.Sh リストの使用例 +.Bd -literal +LIST_HEAD(listhead, entry) head; +struct listhead *headp; /* List head. */ +struct entry { + ... + LIST_ENTRY(entry) entries; /* List. */ + ... +} *n1, *n2, *n3, *np; + +LIST_INIT(&head); /* Initialize the list. */ + +n1 = malloc(sizeof(struct entry)); /* Insert at the head. */ +LIST_INSERT_HEAD(&head, n1, entries); + +n2 = malloc(sizeof(struct entry)); /* Insert after. */ +LIST_INSERT_AFTER(n1, n2, entries); + +n3 = malloc(sizeof(struct entry)); /* Insert before. */ +LIST_INSERT_BEFORE(n2, n3, entries); + +LIST_REMOVE(n2, entries); /* Deletion. */ +free(n2); + + /* Forward traversal. */ +for (np = head.lh_first; np != NULL; np = np->entries.le_next) + np-> ... + +while (head.lh_first != NULL) { /* List Deletion. */ + n1 = head.lh_first; + LIST_REMOVE(n1, entries); + free(n1); +} + +n1 = head.lh_first; /* Faster List Delete. */ +while (n1 != NULL) { + n2 = n1->entries.le_next; + free(n1); + n1 = n2; +} +LIST_INIT(&head); + +.Ed +.Sh テールキュー +テールキューの最初には、 +.Nm TAILQ_HEAD +マクロが定義する構造体が付きます。この構造体には、テールキューの最初の +エレメントを指すポインタとテールキューの最後のエレメントを指すポインタ +が含まれます。エレメントは二重にリンクされているので、テールキューを横 +断せずに任意のエレメントを削除できます。新しいエレメントは、既存エレメ +ントの前後、テールキューの最初と最後でテールキューに追加できます。 +.Fa TAILQ_HEAD +構造体は、以下のように宣言されます。 +.Bd -literal -offset indent +TAILQ_HEAD(HEADNAME, TYPE) head; +.Ed +.Pp +.Li HEADNAME +は定義する構造体の名前で、 +.Li TYPE +はテールキューにリンクするエレメントのタイプです。テールキューのヘッド +のポインタは、後で以下のように宣言されます。 +.Bd -literal -offset indent +struct HEADNAME *headp; +.Ed +.Pp +(ユーザは、名前 +.Li head +と +.Li headp +を選択できます。) +.Pp +マクロ +.Nm TAILQ_EMPTY +は、テールキューにアイテムがない場合に真を戻します。 +.Pp +マクロ +.Nm TAILQ_ENTRY +は、テールキューのエレメントを接続する構造体を宣言します。 +.Pp +マクロ +.Nm TAILQ_FIRST +は、テールキューの最初のアイテムを戻します。テールキューにアイテムがな +い場合は NULL を戻します。 +.Pp +マクロ +.Nm TAILQ_INIT +は、 +.Fa head +が参照するテールキューを初期化します。 +.Pp +マクロ +.Nm TAILQ_INSERT_HEAD +は、新しいエレメント +.Fa elm +をテールキューの最初に挿入します。 +.Pp +マクロ +.Nm TAILQ_INSERT_TAIL +は、新しいエレメント +.Fa elm +をテールキューの最後に挿入します。 +.Pp +マクロ +.Nm TAILQ_INSERT_AFTER +は、新しいエレメント +.Fa elm +をエレメント +.Fa listelm +の後ろに挿入します。 +.Pp +マクロ +.Nm TAILQ_INSERT_BEFORE +は、新しいエレメント +.Fa elm +をエレメント +.Fa listelm +の前に挿入します。 +.Pp +マクロ +.Nm TAILQ_LAST +は、テールキューの最後のアイテムを戻します。テールキューにアイテムがな +い場合の戻り値は不定です。 +.Pp +マクロ +.Nm TAILQ_NEXT +は、テールキューの次のアイテムを戻します。そのアイテムが最後の場合は +NULL を戻します。 +.Pp +マクロ +.Nm TAILQ_REMOVE +は、エレメント +.Fa elm +をテールキューから削除します。 +.Sh テールキューの使用例 +.Bd -literal +TAILQ_HEAD(tailhead, entry) head; +struct tailhead *headp; /* Tail queue head. */ +struct entry { + ... + TAILQ_ENTRY(entry) entries; /* Tail queue. */ + ... +} *n1, *n2, *n3, *np; + +TAILQ_INIT(&head); /* Initialize the queue. */ + +n1 = malloc(sizeof(struct entry)); /* Insert at the head. */ +TAILQ_INSERT_HEAD(&head, n1, entries); + +n1 = malloc(sizeof(struct entry)); /* Insert at the tail. */ +TAILQ_INSERT_TAIL(&head, n1, entries); + +n2 = malloc(sizeof(struct entry)); /* Insert after. */ +TAILQ_INSERT_AFTER(&head, n1, n2, entries); + +n3 = malloc(sizeof(struct entry)); /* Insert before. */ +TAILQ_INSERT_BEFORE(n2, n3, entries); + +TAILQ_REMOVE(&head, n2, entries); /* Deletion. */ +free(n2); + /* Forward traversal. */ +for (np = TAILQ_FIRST(&head); np != NULL; np = TAILQ_NEXT(np, entries)) + np-> ... + /* TailQ Deletion. */ +while (!TAILQ_EMPTY(head)) { + n1 = TAILQ_FIRST(&head); + TAILQ_REMOVE(&head, head.tqh_first, entries); + free(n1); +} + /* Faster TailQ Deletion. */ + +n1 = TAILQ_FIRST(&head); +while (n1 != NULL) { + n2 = TAILQ_NEXT(n1, entries); + free(n1); + n1 = n2; +} +TAILQ_INIT(&head); +.Ed +.Sh 循環キュー +循環キューの最初には、 +.Nm CIRCLEQ_HEAD +マクロが定義する構造体が付きます。この構造体には、循環キューの最初のエ +レメントを指すポインタと循環キューの最後のエレメントを指すポインタが含 +まれます。エレメントは二重にリンクされているので、キューを横断せずに任 +意のエレメントを削除できます。新しいエレメントは、既存エレメントの前後、 +またはキューの最初と最後でキューに追加できます。 +.Fa CIRCLEQ_HEAD +構造は、以下のように宣言されます。 +.Bd -literal -offset indent +CIRCLEQ_HEAD(HEADNAME, TYPE) head; +.Ed +.Pp +.Li HEADNAME +は定義する構造体の名前で、 +.Li TYPE +は循環キューにリンクするエレメントのタイプです。循環キューのヘッドのポ +インタは、後で以下のように宣言されます。 +.Bd -literal -offset indent +struct HEADNAME *headp; +.Ed +.Pp +(ユーザは、名前 +.Li head +と +.Li headp +を選択できます。) +.Pp +マクロ +.Nm CIRCLEQ_ENTRY +は、循環キューのエレメントを接続する構造体を宣言します。 +.Pp +マクロ +.Nm CIRCLEQ_INIT +は、 +.Fa head +が参照する循環キューを初期化します。 +.Pp +マクロ +.Nm CIRCLEQ_INSERT_HEAD +は、新しいエレメント +.Fa elm +を循環キューの最初に挿入します。 +.Pp +マクロ +.Nm CIRCLEQ_INSERT_TAIL +は、新しいエレメント +.Fa elm +を循環キューの最後に挿入します。 +.Pp +マクロ +.Nm CIRCLEQ_INSERT_AFTER +は、新しいエレメント +.Fa elm +をエレメント +.Fa listelm +の後ろに挿入します。 +.Pp +マクロ +.Nm CIRCLEQ_INSERT_BEFORE +は、新しいエレメント +.Fa elm +をエレメント +.Fa listelm +の前に挿入します。 +.Pp +マクロ +.Nm CIRCLEQ_REMOVE +は、エレメント +.Fa elm +を循環キューから削除します。 +.Sh 循環キューの使用例 +.Bd -literal +CIRCLEQ_HEAD(circleq, entry) head; +struct circleq *headp; /* Circular queue head. */ +struct entry { + ... + CIRCLEQ_ENTRY(entry) entries; /* Circular queue. */ + ... +} *n1, *n2, *np; + +CIRCLEQ_INIT(&head); /* Initialize the circular queue. */ + +n1 = malloc(sizeof(struct entry)); /* Insert at the head. */ +CIRCLEQ_INSERT_HEAD(&head, n1, entries); + +n1 = malloc(sizeof(struct entry)); /* Insert at the tail. */ +CIRCLEQ_INSERT_TAIL(&head, n1, entries); + +n2 = malloc(sizeof(struct entry)); /* Insert after. */ +CIRCLEQ_INSERT_AFTER(&head, n1, n2, entries); + +n2 = malloc(sizeof(struct entry)); /* Insert before. */ +CIRCLEQ_INSERT_BEFORE(&head, n1, n2, entries); + +CIRCLEQ_REMOVE(&head, n1, entries); /* Deletion. */ +free(n1); + /* Forward traversal. */ +for (np = head.cqh_first; np != (void *)&head; np = np->entries.cqe_next) + np-> ... + /* Reverse traversal. */ +for (np = head.cqh_last; np != (void *)&head; np = np->entries.cqe_prev) + np-> ... + /* CircleQ Deletion. */ +while (head.cqh_first != (void *)&head) { + n1 = head.cqh_first; + CIRCLEQ_REMOVE(&head, head.cqh_first, entries); + free(n1); +} + /* Faster CircleQ Deletion. */ +n1 = head.cqh_first; +while (n1 != (void *)&head) { + n2 = n1->entries.cqh_next; + free(n1); + n1 = n2; +} +CIRCLEQ_INIT(&head); +.Ed +.Sh 歴史 +.Nm queue +関数は、 +.Bx 4.4 +に最初に登場しました。 diff --git a/ja_JP.eucJP/man/man3/radixsort.3 b/ja_JP.eucJP/man/man3/radixsort.3 new file mode 100644 index 0000000000..0f46bf2004 --- /dev/null +++ b/ja_JP.eucJP/man/man3/radixsort.3 @@ -0,0 +1,149 @@ +.\" Copyright (c) 1990, 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. +.\" +.\" @(#)radixsort.3 8.2 (Berkeley) 1/27/94 +.\" +.Dd January 27, 1994 +.Dt RADIXSORT 3 +.Os +.Sh 名称 +.Nm radixsort +.Nd 基数ソート +.Sh 書式 +.Fd #include +.Fd #include +.Ft int +.Fn radixsort "const unsigned char **base" "int nmemb" "const unsigned char *table" "unsigned endbyte" +.Ft int +.Fn sradixsort "const unsigned char **base" "int nmemb" "const unsigned char *table" "unsigned endbyte" +.Sh 解説 +.Fn radixsort +関数と +.Fn sradixsort +関数は、基数ソートのシステムです。 +.Pp +この関数は、 +.Fa base +が参照する初期メンバである、バイトストリングのポインタの配列をソートし +ます。バイトストリングには任意の値を含められます。各ストリングの最後に +は、ユーザが定義した値 +.Fa endbyte +が付きます。 +.Pp +アプリケーションでは、 +.Fa table +引数を指定することでソート順序を指定できます。 +.Dv NULL +ではない +.Fa table +は、各バイト値のソートウェイトを含む、 +.Dv UCHAR_MAX ++ 1 バイトの配列を参照する必要があります。最終ストリングバイトのソート +ウェイトは、0か 255(逆順ソート)でなければなりません。複数のバイトのソー +トウェイトが等しいこともあります。 +.Fa table +引数は、異なるキャラクタを等しくソートするアプリケーションで便利です。 +たとえば A から Z のウェイトと a から z のウェイトを等しくすると、大文 +字と小文字の区別をしないソートができます。 +.Fa table +が NULL である場合、配列の内容は、参照するバイトストリングの +.Tn ASCII +順序に従って昇順にソートされます。 +.Fa endbyte +のソートウェイトは 0です。 +.Pp +.Fn sradixsort +関数は安定しています。つまり、2つのエレメントが等しい場合、このエレメ +ントの順序はソート済み配列で変化しません。 +.Fn sradixsort +関数は、 +.Fa nmemb +ポインタを収容するに十分なメモリを余分に使用します。 +.Pp +.Fn radixsort +関数は不安定ですが、メモリを余分に使用しません。 +.Pp +この関数は、最上位バイト基数ソートのバリエーションです。D.E. Knuth の +アルゴリズム R とセクション 5.2.5、エクササイズ 10を参照してください。 +この関数には、ストリングのバイト数に比例した時間がかかります。 +.Sh 戻り値 +問題がない場合は 0が戻されます。問題がある場合は \-1が戻され、グローバ +ル変数 +.Va errno +が、そのエラーを示す値に設定されます。 +.Sh エラー +.Bl -tag -width Er +.It Bq Er EINVAL +.Fa table +の +.Fa endbyte +エレメントの値が 0か 255になっていません。 +.El +.Pp +.Fn sradixsort +関数は、エラーが発生すると、ライブラリルーチン +.Xr malloc 3 +のエラーに +.Va errno +を設定することがあります。 +.Sh 関連項目 +.Xr sort 1 , +.Xr qsort 3 +.Pp +.Rs +.%A Knuth, D.E. +.%D 1968 +.%B "The Art of Computer Programming" +.%T "Sorting and Searching" +.%V Vol. 3 +.%P pp. 170-178 +.Re +.Rs +.%A Paige, R. +.%D 1987 +.%T "Three Partition Refinement Algorithms" +.%J "SIAM J. Comput." +.%V Vol. 16 +.%N No. 6 +.Re +.Rs +.%A McIlroy, P. +.%D 1993 +.%B "Engineering Radix Sort" +.%T "Computing Systems" +.%V Vol. 6:1 +.%P pp. 5-27 +.Re +.Sh 歴史 +.Fn radixsort +関数は、 +.Bx 4.4 +に初めて登場しました。 diff --git a/ja_JP.eucJP/man/man3/raise.3 b/ja_JP.eucJP/man/man3/raise.3 new file mode 100644 index 0000000000..dd29c6c852 --- /dev/null +++ b/ja_JP.eucJP/man/man3/raise.3 @@ -0,0 +1,74 @@ +.\" Copyright (c) 1990, 1991, 1993 +.\" 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. +.\" +.\" @(#)raise.3 8.1 (Berkeley) 6/4/93 +.\" +.Dd June 4, 1993 +.Dt RAISE 3 +.Os +.Sh 名称 +.Nm raise +.Nd 現行プロセスに信号を送信 +.Sh 書式 +.Fd #include +.Ft int +.Fn raise "int sig" +.Sh 解説 +.Fn raise +関数は信号 +.Fa sig +を現行プロセスに送信します。 +.Sh 戻り値 +問題がない場合は 0が戻されます。問題がある場合は \-1 が戻され、グロー +バル変数 +.Va errno +が、そのエラーを示す値に設定されます。 +.Sh エラー +.Fn raise +関数は、エラーが発生した場合、ライブラリ関数 +.Xr getpid 2 +と +.Xr kill 2 +のエラーに +.Va errno +を設定します。 +.Sh 関連項目 +.Xr kill 2 +.Sh 規格 +.Fn raise +関数は、 +.St -ansiC +に準拠しています。 + diff --git a/ja_JP.eucJP/man/man3/rand.3 b/ja_JP.eucJP/man/man3/rand.3 new file mode 100644 index 0000000000..7ab7331b45 --- /dev/null +++ b/ja_JP.eucJP/man/man3/rand.3 @@ -0,0 +1,80 @@ +.\" Copyright (c) 1990, 1991, 1993 +.\" 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. +.\" +.\" @(#)rand.3 8.1 (Berkeley) 6/4/93 +.\" +.Dd June 4, 1993 +.Dt RAND 3 +.Os +.Sh 名称 +.Nm rand , +.Nm srand +.Nd 不十分な乱数ジェネレータ +.Sh 書式 +.Fd #include +.Ft void +.Fn srand "unsigned seed" +.Ft int +.Fn rand void +.Sh 解説 +.Bf -symbolic +このインタフェースは、random(3) に置き換えられました。 +.Ef +.Pp +.Fn rand +関数は、0 から +.Dv RAND_MAX +(ヘッダファイル +.Aq Pa stdlib.h +で定義)の範囲で、疑似乱整数のシーケンスを算出します。 +.Pp +.Fn srand +関数は、 +.Fn rand +が戻す疑似乱数の新しいシーケンスの種としての引数を設定します。このシー +ケンスは、 +.Fn srand +を同じ種の値で呼び出すことで繰り返せます。 +.Pp +種の値を指定しないと、この関数は 1を種として自動的に使用します。 +.Sh 関連項目 +.Xr random 3 +.Sh 規格 +.Fn rand +関数と +.Fn srand +関数は、 +.St -ansiC +に準拠しています。 diff --git a/ja_JP.eucJP/man/man3/rand48.3 b/ja_JP.eucJP/man/man3/rand48.3 new file mode 100644 index 0000000000..24eb5a5cc4 --- /dev/null +++ b/ja_JP.eucJP/man/man3/rand48.3 @@ -0,0 +1,144 @@ +\" Copyright (c) 1993 Martin Birgmeier +.\" All rights reserved. +.\" +.\" You may redistribute unmodified or modified versions of this source +.\" code provided that the above copyright notice and this and the +.\" following conditions are retained. +.\" +.\" This software is provided ``as is'', and comes with no warranties +.\" of any kind. I shall in no event be liable for anything that happens +.\" to anyone/anything when using this software. +.\" +.\" @(#)rand48.3 V1.0 MB 8 Oct 1993 +.\" +.Dd October 8, 1993 +.Dt RAND48 3 +.Os FreeBSD +.Sh 名称 +.Nm drand48 , +.Nm erand48 , +.Nm lrand48 , +.Nm nrand48 , +.Nm mrand48 , +.Nm jrand48 , +.Nm srand48 , +.Nm seed48 , +.Nm lcong48 +.Nd 疑似乱数ジェネレータと初期化ルーチン +.Sh 書式 +.Fd #include +.Ft double +.Fn drand48 void +.Ft double +.Fn erand48 "unsigned short xseed[3]" +.Ft long +.Fn lrand48 void +.Ft long +.Fn nrand48 "unsigned short xseed[3]" +.Ft long +.Fn mrand48 void +.Ft long +.Fn jrand48 "unsigned short xseed[3]" +.Ft void +.Fn srand48 "long seed" +.Ft "unsigned short *" +.Fn seed48 "unsigned short xseed[3]" +.Ft void +.Fn lcong48 "unsigned short p[7]" +.Sh 解説 +.Fn rand48 +ファミリの関数は、サイズが 48ビットの整数で動作する、一次的に一致した +アルゴリズムを使用して疑似乱数を作成します。採用されている公式は +r(n+1) = (a * r(n) + c) mod m +で、被乗数 a のデフォルト値は 0xfdeece66d = 25214903917、加数 c のデフォ +ルト値は 0xb = 11 です。法 m は、常に 2 ** 48 に固定されています。r(n) +は、乱数ジェネレータの種を呼び出します。 +.Pp +以下で説明する 6つのジェネレータルーチンでは、最初の演算ステップでアル +ゴリズムが 1回実行されます。 +.Pp +.Fn drand48 +と +.Fn erand48 +は、ダブルタイプの値を戻します。r(n+1) の 48ビット全体は戻り値の仮数に +ロードされ、指数は作成された値が区間[0.0, 1.0)に存在するように設定され +ます。 +.Pp +.Fn lrand48 +と +.Fn nrand48 +は、範囲[0, 2**31-1]でロングタイプの値を戻します。r(n+1) の上位(31)ビッ +トは戻り値の下位ビットにロードされ、最上位(符号)ビットは 0に設定されます。 +.Pp +.Fn mrand48 +と +.Fn jrand48 +は、範囲[-2**31, 2**31-1]でロングタイプの値を戻します。r(n+1)の上位 +(32)ビットは、戻り値にロードされます。 +.Pp +.Fn drand48 , +.Fn lrand48 , +.Fn mrand48 , +は、内部バッファを使用して r(n) を保存します。この関数では、r(0) の初 +期値が 0x1234abcd330e = 20017429951246 になっています。 +.Pp +.Fn erand48 , +.Fn nrand48 , +.Fn jrand48 +は、ユーザが指定したバッファを使用して r(n) を保存します。このバッファ +は 3つのショートから構成されており、0番目のメンバには最下位ビットが入 +ります。 +.Pp +すべての関数は、同じ被乗数と加数を共有します。 +.Pp +.Fn srand48 +は、種の値の 32ビットを r(n) の上位 32ビットにコピーし、r(n)の下位 16 +ビットを 0x330e に設定して、 +.Fn drand48 , +.Fn lrand48 , +.Fn mrand48 +の内部バッファ r(n) を初期化します。アルゴリズムの定被乗数と加数は、上 +記のデフォルト値にリセットされます。 +.Pp +.Fn seed48 +も +.Fn drand48 , +.Fn lrand48 , +.Fn mrand48 +の内部バッファ r(n) を初期化しますが、種の 48ビット全体が 3つのショー +トの配列に指定され、0番目のメンバは最下位ビットを指定します。アルゴリ +ズムの定被乗数と加数は、上記のデフォルト値にリセットされます。 +.Fn seed48 +は、古い種を含む、3つのショートの配列を指すポインタを戻します。この配 +列は静的に割り振られるため、 +.Fn seed48 +を呼び出すたびに内容は失われます。 +.Pp +.Fn lcong48 +では、 +.Fn drand48 , +.Fn erand48 , +.Fn lrand48 , +.Fn nrand48 , +.Fn mrand48 , +.Fn jrand48 +で使用される被乗数と加数、および +.Fn drand48 , +.Fn lrand48 , +.Fn mrand48 +で使用される種を完全に制御できます。パラメータとしては、7つのショート +の配列が渡されます。最初の 3つのショートは種の初期化に、次の 3つは被乗 +数の初期化に、最後のショートは加数の初期化に使用されます。このため、 +0xffff より大きい値を加数として使用することはできません。 +.Pp +乱数ジェネレータの種を作る 3つすべての手法は、6つのジェネレータの呼び +出し用に被乗数と加数を常に設定することに注意してください。 +.Pp +より強力な乱数ジェネレータが必要な場合は、 +.Xr random 3 +を使用してください。 +.Sh 作者 +.An Martin Birgmeier +.Sh 関連項目 +.Xr rand 3 , +.Xr random 3 diff --git a/ja_JP.eucJP/man/man3/random.3 b/ja_JP.eucJP/man/man3/random.3 new file mode 100644 index 0000000000..7c0a6c9d84 --- /dev/null +++ b/ja_JP.eucJP/man/man3/random.3 @@ -0,0 +1,166 @@ +.\" Copyright (c) 1983, 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. +.\" +.\" @(#)random.3 8.1 (Berkeley) 6/4/93 +.\" +.Dd June 4, 1993 +.Dt RANDOM 3 +.Os BSD 4.2 +.Sh 名称 +.Nm random , +.Nm srandom , +.Nm srandomdev , +.Nm initstate , +.Nm setstate +.Nd 優れた乱数ジェネレータ、およびジェネレータを変更するルーチン +.Sh 書式 +.Fd #include +.Ft long +.Fn random void +.Ft void +.Fn srandom "unsigned long seed" +.Ft void +.Fn srandomdev void +.Ft char * +.Fn initstate "unsigned long seed" "char *state" "long n" +.Ft char * +.Fn setstate "char *state" +.Sh 解説 +.Fn random +関数は、非線形加法フィードバック乱数ジェネレータを使用し、サイズが 31 +ロング整数のデフォルトテーブルを採用して、0 から +.if t 2\u\s731\s10\d\(mi1 +.if n (2**31)\(mi1 +までの範囲で連続した疑似乱数を戻します。この乱数ジェネレータの周期は非常に +大きく、約 +.if t 16\(mu(2\u\s731\s10\d\(mi1) +.if n 16*((2**31)\(mi1) +です。 +.Pp +.Fn random +関数と +.Fn srandom +関数の呼び出しシーケンスと初期化プロパティは、 +.Xr rand 3 +関数と +.Xr srand 3 +関数のものと(だいたい)同じです。しかし、 +.Xr rand 3 +が作成するランダムシーケンスはかなり劣ります。rand が作成する下位 10 +ビットは、循環パターンになります。 +.Fn random +が作成するビットはすべて使用できます。たとえば +.Sq Li random()&01 +では、ランダムなバイナリ値が作成されます。 +.Pp +.Xr rand 3 +と同じように、 +.Fn random +は数値のシーケンスをデフォルトで作成します。このシーケンスは、種を +.Ql 1 +にして +.Fn srandom +を呼び出すと複写できます。 +.Pp +.Fn srandomdev +ルーチンは、暗号化での使用に適した乱数を戻す +.Xr urandom 4 +乱数デバイスを使用し、状態配列を初期化します。種を作成するこのプロシージャ +は、どのような値で +.Fn srandom +を呼び出しても再作成できない状態を作成することに注意してください。状態 +バッファの後の条件は、固定種に適用される LC アルゴリズムで引き出せない +からです。 +.Pp +.Fn initstate +ルーチンでは、引数として渡された状態配列を後で使用するときのために初期 +化できます。 +.Fn initstate +は状態配列のサイズ(バイト単位)を使用し、乱数ジェネレータの複雑さを決め +ます。状態を大きくすると、乱数の質は上がります。(現在のところ、状態情 +報の量に「最適」な値は、8バイト、32バイト、64バイト、128バイト、256 バ +イトです。その他の値は、最も近い値に切り下げられます。8 バイトより小さ +い値を使用するとエラーとなります。)初期化の種(乱数シーケンスの開始点を +指定し、同じ点から再開できる)も引数です。 +.Fn initstate +関数は、以前の状態情報配列のポインタを戻します。 +.Pp +状態を初期化したら、 +.Fn setstate +ルーチンで状態を素早く切り替えられます。 +.Fn setstate +関数は、以前の状態配列のポインタを戻します。引数である状態配列は、次に +.Fn initstate +か +.Fn setstate +を呼び出すまで、さらに乱数を作成する場合に使用されます。 +.Pp +状態配列を初期化したら、 +.Fn initstate +を(目的の種、状態配列、サイズで)呼び出すか、状態配列を指定した +.Fn setstate +と目的の種を指定した +.Fn srandom +の両方を呼び出すことで、異なる点から再開できます。 +.Fn setstate +と +.Fn srandom +の両方を呼び出すと、状態配列のサイズを初期化した後で記憶する必要がない +という長所が得られます。 +.Pp +状態情報を 256バイトにすると、乱数ジェネレータの周期は +.if t 2\u\s769\s10\d +.if n 2**69 +より大きくなります。この周期では、ほとんどの目的に十分に対応できます。 +.Sh 作者 +.An Earl T. Cohen +.Sh 診断 +状態情報を 8バイトより小さくして +.Fn initstate +を呼び出したり、状態情報が歪められたことを +.Fn setstate +が検出したりすると、エラーメッセージが標準エラー出力に出力されます。 +.Sh 関連項目 +.Xr rand 3 , +.Xr srand 3 , +.Xr urandom 4 +.Sh 歴史 +この関数は、 +.Bx 4.2 +に追加されました。 +.Sh バグ +処理速度は、 +.Xr rand 3 +の約 2/3 です。 +.Pp +古いシステムは種の作成が非常に弱く、ランダムシーケンスは種とあまり +変わりませんでした。現在のシステムは、より良い疑似乱数ジェネレータを +初期状態の算出に採用しています。 diff --git a/ja_JP.eucJP/man/man3/rcmd.3 b/ja_JP.eucJP/man/man3/rcmd.3 new file mode 100644 index 0000000000..4b1c95344b --- /dev/null +++ b/ja_JP.eucJP/man/man3/rcmd.3 @@ -0,0 +1,182 @@ +.\" Copyright (c) 1983, 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. +.\" +.\" From: @(#)rcmd.3 8.1 (Berkeley) 6/4/93 +.\" $Id: rcmd.3,v 1.1.1.1 1999-12-09 16:25:56 kuriyama Exp $ +.\" +.Dd February 15, 1996 +.Dt RCMD 3 +.Os BSD 4.2 +.Sh 名称 +.Nm rcmd , +.Nm rresvport , +.Nm iruserok , +.Nm ruserok +.Nd リモートコマンドにストリームを戻すルーチン +.Sh 書式 +.Fd #include +.Ft int +.Fn rcmd "char **ahost" "int inport" "const char *locuser" "const char *remuser" "const char *cmd" "int *fd2p" +.Ft int +.Fn rresvport "int *port" +.Ft int +.Fn iruserok "u_long raddr" "int superuser" "const char *ruser" "const char *luser" +.Ft int +.Fn ruserok "const char *rhost" "int superuser" "const char *ruser" "const char *luser" +.Sh 解説 +.Fn rcmd +関数はスーパユーザが使用するもので、予約されたポート番号に従って認証 +スキームを使用してコマンドをリモートマシンで実行します。 +.Fn rresvport +関数は、権利があるポートスペースのアドレスとともにソケットの記述子を戻 +します。 +.Fn ruserok +関数はサーバが使用するもので、 +.Fn rcmd +を使用してサービスを要求するクライアントを認証します。3つすべての関数 +は同じファイルに存在し、 +.Xr rshd 8 +サーバによって使用されます。 +.Pp +.Fn rcmd +関数は +.Xr gethostbyname 3 +を使用してホスト +.Fa *ahost +を調べ、ホストが存在しない場合は \-1 を戻します。ホストが存在する場合 +は、ホストの標準名に +.Fa *ahost +を設定し、既知のインターネットポート +.Fa inport +に常駐するサーバとの接続を確立します。 +.Pp +接続が確立されると、タイプ +.Dv SOCK_STREAM +のインターネットドメインのソケットが呼び出し側に戻され、 +.Em stdin +と +.Em stdout +としてリモートコマンドに指定されます。 +.Fa fd2p +が 0以外である場合は、制御プロセスの任意のチャンネルが設定され、その記 +述子が +.Fa *fd2p +に配置されます。制御プロセスは、このチャンネルでコマンド(ユニット 2) +から診断出力を戻し、 +.Tn UNIX +信号番号としてこのチャンネルのバイトを受け取り、コマンドのプロセスグルー +プに転送します。 +.Fa fd2p +が + 0である場合は、 +.Em stderr +(リモートコマンドのユニット 2)が +.Em stdout +と同じように作成されます。任意の信号をリモートプロセスに送信する準備は +されませんが、バンド外のデータを使用することで注目を得ることはできます。 +.Pp +プロトコルの詳細については、 +.Xr rshd 8 +を参照してください。 +.Pp +.Fn rresvport +関数は、権利があるアドレスが結び付いたソケットを +入手します。このソケットは、 +.Fn rcmd +やその他の関数での使用に適しています。権利があるインターネットポートは、 + 0から 1023の範囲にあるものです。この種のアドレスをソケットに結合でき +るのはスーパユーザのみです。 +.Pp +.Fn iruserok +関数と +.Fn ruserok +関数は、 +.Xr gethostbyname 3 +ルーチンが戻すリモートホストの IP アドレスか名前、2つのユーザ名、 +ローカルユーザの名前が スーパユーザの名前であるかどうかを示すフラグを +使用します。ユーザがスーパユーザ +.Em でない +場合は、 +.Pa /etc/hosts.equiv +ファイルをチェックします。この検索が実行されない場合、またはこの検索で +問題が発生した場合は、ローカルユーザのホームディレクトリの +.Pa .rhosts +をチェックし、サービスの要求が許可されているかどうかを確認します。 +.Pp +このファイルが存在しない場合や通常のファイルでない場合、またはユーザや +スーパユーザ以外がこのファイルを所有する場合、あるいは所有者以外がこの +ファイルに書き込める場合、チェックは自動的にエラーとなります。 +マシン名が +.Dq Pa hosts.equiv +ファイルにリストされている場合、またはホストと +リモートユーザ名が +.Dq Pa .rhosts +ファイルに存在する場合は 0が戻されます。その +他の場合、 +.Fn iruserok +と +.Fn ruserok +は \-1 を戻します。 +.Xr gethostname 3 +で入手したローカルドメインがリモートドメインと同じである場合は、マシン +名のみを指定する必要があります。 +.Pp +.Fn iruserok +関数は、セキュリティの理由で高く評価されます。 +.Fn ruserok +関数は DNS 全体を信用する必要があり、侵害される可能性がありますが、 +.Fn iruserok +は最大でもローカル DNS を信頼する必要しかありません。 +.Sh 診断 +.Fn rcmd +関数は、問題がなければ有効なソケット記述子を戻します。エラーが +発生した場合は \-1 を戻し、診断メッセージを標準エラーに出力します。 +.Pp +.Fn rresvport +関数は、問題がなければ有効で結合したソケット記述子を戻します。エラーが +発生した場合は \-1 を戻し、エラーの原因に従ってグローバル変数 +.Va errno +を設定します。「すべてのネットワークポートが使用されている」ことを示す +場合は、エラーコード +.Dv EAGAIN +がオーバロードされます。 +.Sh 関連項目 +.Xr rlogin 1 , +.Xr rsh 1 , +.Xr intro 2 , +.Xr rexec 3 , +.Xr rexecd 8 , +.Xr rlogind 8 , +.Xr rshd 8 +.Sh 歴史 +この関数は、 +.Bx 4.2 +に追加されました。 diff --git a/ja_JP.eucJP/man/man3/re_comp.3 b/ja_JP.eucJP/man/man3/re_comp.3 new file mode 100644 index 0000000000..dc63d12448 --- /dev/null +++ b/ja_JP.eucJP/man/man3/re_comp.3 @@ -0,0 +1,111 @@ +.\" 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. +.\" +.\" @(#)re_comp.3 8.1 (Berkeley) 6/4/93 +.\" +.Dd June 4, 1993 +.Dt RE_COMP 3 +.Os +.Sh 名称 +.Nm re_comp , +.Nm re_exec +.Nd 定型数式ハンドラ +.Sh 書式 +.Fd #include +.Ft char * +.Fn re_comp "const char *s" +.Ft int +.Fn re_exec "const char *s" +.Sh 解説 +このインタフェースは、 +.Xr regex 3 +に置き換わりました。互換性ライブラリ libcompat から使用できます。 +.Pp +.Fn re_comp +関数は、パターンマッチングに合う内部形式にストリングをコンパイルします。 +.Fn re_exec +関数は、 +.Fn re_comp +に渡された最後のストリングと引数ストリングを照合します。 +.Pp +.Fn re_comp +関数は、ストリング +.Fa s +が問題なくコンパイルされると 0を戻します。問題が発生した場合は、エラー +メッセージを含むストリングが戻されます。0 か null ストリングが渡された +.Fn re_comp +は、現在コンパイルされている定型数式を変更せずに戻ります。 +.Pp +.Fn re_exec +関数は、最後にコンパイルされた定型数式とストリング +.Fa s +が一致すると 1を戻します。最後にコンパイルされた定型数式とストリング +.Fa s +が一致しない場合は 0を戻します。コンパイルされた定型数式が正しくない場 +合は \-1 を戻します(内部エラー)。 +.Pp +.Fn re_comp +と +.Fn re_exec +の両方に渡すストリングには、最後に改行キャラクタが付いていたり、改行キャ +ラクタが埋め込まれていたりすることがありますが、これらは +.Dv NULL +で終了されます。認識される定型数式については、上記のような違いがありま +すが、 +.Xr ed 1 +のマニュアルエントリを参照してください。 +.Sh 診断 +.Fn re_exec +関数は、内部エラーが発生した場合、-1 を戻します。 +.Pp +.Fn re_comp +関数は、エラーが発生した場合、以下のストリングのうち 1つを戻します。 +.Bd -unfilled -offset indent +No previous regular expression, +Regular expression too long, +nmatched \e(, +missing ], +too many \e(\e) pairs, +unmatched \e). +.Sh 関連項目 +.Xr ed 1 , +.Xr egrep 1 , +.Xr ex 1 , +.Xr fgrep 1 , +.Xr grep 1 , +.Xr regex 3 +.Sh 歴史 +.Fn re_comp +関数と +.Fn re_exec +関数は、 +.Bx 4.0 +に追加されました。 diff --git a/ja_JP.eucJP/man/man3/readline.3 b/ja_JP.eucJP/man/man3/readline.3 new file mode 100644 index 0000000000..974bdde22a --- /dev/null +++ b/ja_JP.eucJP/man/man3/readline.3 @@ -0,0 +1,1255 @@ +.\" +.\" MAN PAGE COMMENTS to +.\" +.\" Chet Ramey +.\" Information Network Services +.\" Case Western Reserve University +.\" chet@ins.CWRU.Edu +.\" +.\" Last Change: Thu Feb 19 10:26:47 EST 1998 +.\" +.TH READLINE 3 "1998 Feb 19" GNU +.\" +.\" File Name macro. This used to be `.PN', for Path Name, +.\" but Sun doesn't seem to like that very much. +.\" +.de FN +\fI\|\\$1\|\fP +.. +.SH 名称 +readline \- ユーザから編集機能付きで一行を受け取る +.SH 書式 +.LP +.nf +.ft B +#include +#include +.ft +.fi +.LP +.nf +.ft B +char *readline (prompt) +char *prompt; +.ft +.fi +.SH COPYRIGHT +.if n Readline is Copyright (C) 1989, 1991, 1993, 1995, 1996 by the Free Software Foundation, Inc. +.if t Readline is Copyright \(co 1989, 1991, 1993, 1995, 1996 by the Free Software Foundation, Inc. +.SH 解説 +.LP +.B readline +は、プロンプトとして +.B prompt +を使用し、端末から一行を読み込み、その値を返します。 +.B prompt +が +.B NULL +である場合、プロンプトは出力されません。 +返された行には +.IR malloc (3) +を使ってメモリが割り当てられているので、 +呼び出し側は終了時にメモリを解放しなければなりません。 +返された行では末尾の改行は削除されており、 +行のうちのテキストのみが残ります。 +.LP +.B readline +は、ユーザが行を入力している間の編集機能を提供します。 +デフォルトでは、行編集コマンドは、 +.B emacs +のそれに似ています。 +.B vi +スタイルの +編集インタフェースも使用できます。 +.SH 戻り値 +.LP +.B readline +は、読み込んだ行のテキストを返します。 +空行は空の文字列を返します。 +.B EOF +が行を読込んでいるときに現れ、かつ、その行が空のときは、 +.B NULL +を返します。 +行が空でないときに +.B EOF +が読み込まれたときは、 +これは改行として扱われます。 +.SH 表記法 +.LP +キーストロークの表記では +.B emacs +スタイルの表記法が使用されます。 +コントロールキーは、 C\-\fIkey\fR と表記します。 +たとえば C\-n は、 Control\-N を表します。 +メタキーは、 M\-\fIx\fR と表記します。 +つまり M\-x は、Meta\-X を表します。 +( メタキーがないキーボードの場合、 +M\-\fIx\fP は ESC \fIx\fP を表します。 +つまりエスケープキーを押してから +.I x +キーを押すことを表します。 +これは ESC をメタ・プレフィックスとします。 +複合操作の M\-C\-\fIx\fP は、ESC\-Control\-\fIx\fP を表します。 +つまり、エスケープキーを押し、次にコントロールキーを押しながら +.I x +キーを押すことを表します。 ) +.PP +readline コマンドは、数値引数を取ることがあります。 +通常の場合、この引数は繰り返しの回数として動作します。 +しかし、場合によっては、重要な意味を持ちます。 +前方に向かって作用するコマンド +(\fBkill\-line\fP など ) +に負の引数を渡すと、 +このコマンドは後方に向かって作用します。 +引数を与えられたときのふるまいが +これとは異なるコマンドには説明が付けられています。 +.PP +コマンドがテキストを「削除」 (\fIkill\fP) するとして記述されている場合、 +消去されたテキストは、後で取り戻せるように保存 ( ヤンク \fIyank\fP ) されます。 +削除されたテキストは、削除リング (\fIkill ring\fP) に保存されます。 +連続して削除した場合は、テキストは 1 つのユニットに蓄積され、 +1 度に全部をヤンクできるようになります。 +テキストを削除しないコマンドは、 +削除リング (kill ring) 上のテキストの塊の区切りとなります。 +.SH 初期化ファイル +.LP +readline は、初期化ファイル (\fIinputrc\fP) +にコマンドを置くすることでカスタマイズされます。 +このファイルの名前は、環境変数 +.B INPUTRC +の値から取られます。 +この環境変数が設定されていない場合は、デフォルトの +.IR ~/.inputrc +が使用されます。 +readline ライブラリを使用しているプログラムを起動すると、 +初期化ファイルが読み込まれてキーバインディングと変数が設定されます。 +readline 初期化ファイルでは、 +ほんの 2,3 の基本的な構造構文のみが許可されています。 +空白行は無視されます。 +\fB#\fP で始まる行はコメントとみなされます。 +\fB$\fP で始まる行は条件文とみなされます。 +その他の行はキーバインディングと変数の設定を表します。 +このライブラリを使用している各プログラムは、 +独自のコマンドとバインディングを追加することができます。 +.PP +以下の例を参照してください。 +.RS +.PP +M\-Control\-u: universal\-argument +.RE +や +.RS +C\-Meta\-u: universal\-argument +.RE +を +.I inputrc +に置くと、 M\-C\-u で +readline のコマンド universal\-argument が実行されます。 +.PP +キーのバインディングを行なっているときは、 +次のシンボリックキャラクタ名 +.IR RUBOUT , +.IR DEL , +.IR ESC , +.IR LFD , +.IR NEWLINE , +.IR RET , +.IR RETURN , +.IR SPC , +.IR SPACE , +.IR TAB +が認識されます。 +さらにコマンド名に加え、 +readline はキーを押したときに文字列が挿入されるように +キーにバインドするようにもできます。 ( マクロ ) +.PP +.SS キーバインド +.I inputrc +ファイルの中でキーバインドを制御する文法は単純です。 +必要なものは、コマンドの名前かマクロのテキスト、 +そしてそれにバインドするキーシーケンスのみです。 +名前は 2 つの方法のどちらかで指定できます。 +1 つは、シンボリックなキーの名前で指定する方法、これは +場合によっては \fIMeta\-\fP や \fIControl\-\fP プレフィックスがつきます。 +もう 1 つは、キーシーケンスを指定する方法です。 +\fBkeyname\fP:\^\fIfunction-name\fP または、 +\fBkeyname\fP:\^\fImacro\fP という形式を使用した場合、 +.I keyname +は英語で綴られたキーの名前になります。 +例えば、 +.sp +.RS +Control\-u: universal\-argument +.br +Meta\-Rubout: backward\-kill\-word +.br +Control\-o: ">&output" +.RE +.LP +上の例では、 +.I C\-u +が +.BR univesal\-argument +にバインドされ、 +.I M-DEL +が +.BR backward\-kill\-word +にバインドされ、 +.I C\-o +が右辺に記述されているマクロ +( ここではテキスト +.I >&output +をその行に挿入する ) +の実行にバインドされます。 +.PP +2 番目の、 +\fB"keyseq"\fP:\^\fIfunction\-name\fP +または +\fB"keyseq"\fP:\^\fImacro\fP +という形式では、 +キーシーケンス ( +.B keyseq +) は、 +キーシーケンス全体を表す文字列を二重引用符で囲んで指定するという +点で前出のキー名 ( +.B keyname +) とは異なります。 +以下の例のように、 GNU Emacs のスタイルのキーエスケープが使用できます。 +.sp +.RS +"\eC\-u": universal\-argument +.br +"\eC\-x\eC\-r": re\-read\-init\-file +.br +"\ee[11~": "Function Key 1" +.RE +.PP +この例では、 +.I C-u +は再び +.BR universal\-argument +にバインドされ、 +.I "C-x C-r" +は +.BR re\-read\-init\-file +にバインドされ、 +.I "ESC [ 1 1 ~" +はテキスト +.BR "Function Key 1" +の挿入にバインドされています。 +GNU Emacs スタイルのエスケープシーケンスの一覧を以下に示します。 +.RS +.PD 0 +.TP +.B \eC\- +コントロールプレフィクス +.TP +.B \eM\- +メタプレフィクス +.TP +.B \ee +エスケープキャラクタ +.TP +.B \e\e +バックスラッシュ +.TP +.B \e" +文字「"」 +.TP +.B \e' +文字「'」 +.RE +.PD +.PP +GNU Emacs スタイルのエスケープシーケンスの他に、 +以下のようなバックスラッシュによるエスケープも使用できます。 +.RS +.PD 0 +.TP +.B \ea +警告 ( ベル ) +.TP +.B \eb +後退 (backspace) +.TP +.B \ed +消去 (delete) +.TP +.B \ef +改ページ (form feed) +.TP +.B \en +改行 (newline) +.TP +.B \er +復帰 (carrige return) +.TP +.B \et +水平タブ +.TP +.B \ev +垂直タブ +.TP +.B \e\fInnn\fP +ASCII コードが 8 進値 \fInnn\fP ( 1 桁 から 3 桁 ) である文字 +.TP +.B \ex\fInnn\fP +ASCII コードが 16 進値 \fInnn\fP ( 1 桁 から 3 桁 ) である文字 +.RE +.PD +.PP +マクロのテキストを入力する場合は、 +一重引用符か二重引用符を使用してマクロ定義を表してください。 +引用符で囲まれていないテキストは機能名とみなされます。 +マクロ本体では、 +上記のバックスラッシュによるエスケープが展開されます。 +バックスラッシュは、「"」と「'」も含め、 +マクロテキストのどのキャラクタをもクオートします。 +.PP +.B bash +では、現在の +.B readline +のキーバインディングを +.B bind +組み込みコマンドを用いて +表示したり修正したりすることができます。 +編集モードは、 +.B \-o +オプションを +.B set +組み込みコマンドに使用することで、 +対話形式で使用しながら切り替えることもできます。 +このライブラリを使用している他のプログラムは、同様の機構を提供します。 +新しいバインディングを組み入れるための他の手段を、 +プログラムが提供していない場合であっても +.I inputrc +ファイルを編集して再読込みすることもできます。 +.PP +.SS 変数 +readline には、動作をさらにカスタマイズするための変数があります。 +変数は、以下の書式で +.I inputrc +ファイルの中で設定できます。 +.RS +.PP +\fBset\fP \fIvariable\-name\fP \fIvalue\fP +.RE +.PP +特に断らない限り、 readline の変数は +.B On +か +.B Off +の値を取ります。 +変数とそのデフォルト値は以下のとおりです。 +.PP +.PD 0 +.TP +.B bell\-style (audible) +readline で端末ベルを鳴らそうとするときの処理方法を制御します。 +\fBnone\fP に設定すると、 readline はベルを鳴らしません。 +\fBvisible\fP に設定すると、 readline は可能ならば +可視化ベル (visible bell) を使用します。 +\fBaudible\fP に設定すると、 readline は端末のベルを鳴らそうとします。 +.TP +.B comment\-begin (``#'') +.B insert\-comment +コマンドを実行したときに \fBvi\fP モードで挿入される文字列です。 +このコマンドは、 emacs モードでは +.B M\-# +に、 +vi コマンドモードでは +.B # +にバインドされています。 +.TP +.B completion\-ignore\-case (Off) +\fBOn\fP に設定すると、 readline は、 +大文字と小文字を区別せずに (case\-insensitive) +ファイル名のマッチと補間を行います。 +.TP +.B completion\-query\-items (100) +\fBpossible\-completions\fP コマンドが生成した補間候補を +表示するかどうかをユーザに問い合わせるときの個数です。 +これはゼロ以上の整数値に設定してください。 +補間候補の数がこの変数の値以上になると、 +ユーザに補間候補を表示するかどうかを問い合わせます。 +それ以外のときは単純に候補の一覧を端末に表示します。 +.TP +.B convert\-meta (On) +\fBOn\fP に設定すると、 readline は +8 番目のビットがセットされている文字を、 +8 番目のビットを取り去って (strip) +エスケープキャラクタを前につけるやり方で、 +ASCII のキーの並びに変換します。 +( メタプレフィックスとしてエスケープキーを使用しているようになります ) +.TP +.B disable\-completion (Off) +\fBOn\fP に設定すると、 readline は単語の補間を抑制するようになります。 +補間文字 (completion character) は +\fBself-insert\fP にマップされたかのように +行に挿入されるようになります。 +.TP +.B editing\-mode (emacs) +readline を \fIemacs\fP と同様のキーバインディングで始めるか、 +\fIvi\fP と同様のキーバインディングで始めるかを制御します。 +.B editing\-mode +は、 +.B emacs +か +.B vi +に設定できます。 +.TP +.B enable\-keypad (Off) +\fBOn\fP に設定すると、 readline は呼び出されたときに +アプリケーションキーパッドを使えるようにしようとします。 +一部のシステムでは、矢印キーを使えるようにするために +この設定が必要です。 +.TP +.B expand\-tilde (Off) +\fBon\fP に設定すると、 readline が単語を補間しようとしたときに +チルダの展開が行なわれます。 +.TP +.B horizontal\-scroll\-mode (Off) +\fBOn\fP に設定すると、 readline は表示に 1 行しか使用しなくなります。 +入力が画面の幅より長くなった場合は、 +新しい行に折り返すのではなく、 +画面の 1 行で水平に入力をスクロールします。 +.TP +.B keymap (emacs) +現在の +.B readline +キーマップを設定します。 +適切なキーマップ名は、 +\fIemacs, emacs-standard, emacs-meta, emacs-ctlx, +vi, vi-move, vi-command, vi-insert\fP +です。 +\fIvi\fP は \fIvi-command\fP と同じで、 +\fIemacs\fP は \fIemacs-standard\fP と同じです。 +デフォルト値は +.IR emacs +です。 +.B editing\-mode +の値もデフォルトキーマップに影響します。 +.TP +.B mark\-directories (On) +\fBOn\fP に設定すると、 補間されたディレクトリ名に +スラッシュが付けられます。 +.TP +.B mark\-modified\-lines (Off) +\fBOn\fP に設定すると、修正された履歴行 (history line) は、 +アスタリスク (\fB*\fP) を先頭につけて表示されます。 +.TP +.B meta\-flag (Off) +\fBOn\fP に設定すると、 readline は、 +端末がこれをサポートできるかどうかに関わらず、 +8 ビット入力を可能にします。 +( つまり、読み込んだ文字から上位ビットを取り去りません。) +.TP +.B output\-meta (Off) +\fBOn\fP に設定すると、 readline は、 +8 番目のビットがセットされた文字を、 +メタプレフィックスエスケープシーケンスとしてではなく、 +直接表示するようになります。 +.TP +.B print\-completions\-horizontally (Off) +\fBOn\fP に設定すると、 readline は +マッチした補間候補の一覧を、 +画面の垂直方向ではなく水平方向に、 +アルファベット順でソートして +表示するようになります。 +.TP +.B show\-all\-if\-ambiguous (Off) +補間機能のデフォルトの動作を変更します。 +\fBOn\fP に設定すると、 +補間候補の語が 1 よりも多いとき、 +ベルを鳴らさずに即座にマッチしたものを一覧表示します。 +.TP +.B visible\-stats (Off) +\fBOn\fP に設定すると、補間候補の一覧を表示するときに +\fBstat\fP(2) が報告するファイルタイプを表すキャラクタが +ファイル名に付け加えられます。 +.PD +.PP +.SS 条件コンストラクト +readline は、 +C プリプロセッサの条件コンパイル機能と +根本的に同様の機能を実現しています。 +これはキーバインドと変数設定を +条件判定の結果に従って実行することを可能にします。 +ここでは、4 つの命令が使用できます。 +.IP \fB$if\fP +.B $if +コンストラクトは、 +編集モード、使用している端末、readline を使用しているアプリケーションに +関連づけてバインドすることを可能にします。 +条件判定のテキストはその行の最後まで続きます。 +区分するための文字はありません。 +.RS +.IP \fBmode\fP +\fB$if\fP +ディレクティブの +\fBmode=\fP +という形式は +readline が emacs モードになっているか vi モードになっているかを +判定するのに用いられます。 +これは \fBset keymap\fP コマンドとともに使用されることでしょう。 +例えば、readline が emacs モードで起動している場合に限って、 +\fIemacs-standard\fP キーマップと \fIemacs-ctlx\fP キーマップに +バインディングを設定する、というようにです。 +.IP \fBterm\fP +\fBterm=\fP という形式は、 +端末のファンクションキーを押すとキーの並びを出力するようにバインドする、 +というように、 +端末に固有なキーバインドを含めるために用いられることでしょう。 +.B = +の右側のワードは、端末のフルネームと、 +最初の \fB\-\fP の前までの端末名の一部とに対して判定されます。 +たとえば +.I sun +は +.I sun +と +.IR sun\-cmd +の両方とに一致します。 +.IP \fBapplication\fP +\fBapplication\fP コンストラクトは +アプリケーションに固有な設定を含めるために用いられます。 +readline ライブラリを使用している各プログラムは +\fIapplication name\fP を設定し、 +初期化ファイルはその値を判定することができます。 + +これを使用すると、特定のプログラムにとって便利な機能に +キーシーケンスをバインドする、といったことが可能です。 +たとえば以下のコマンドは、 +bash の現在の語か前の語を引用符でくくるキーシーケンスを追加します。 +.sp 1 +.RS +.nf +\fB$if\fP bash +# Quote the current or previous word +"\eC-xq": "\eeb\e"\eef\e"" +\fB$endif\fP +.fi +.RE +.RE +.IP \fB$endif\fP +上の例に出てくるこのコマンドは、\fB$if\fP コマンドを終了するものです。 +.PP +.IP \fB$else\fP +\fB$if\fP ディレクティブの分岐の中で出てくるこのコマンドは、 +判定が偽のときに実行されます。 +.IP \fB$include\fP +このディレクティブは 1 つのファイル名を引数として取り、 +そのファイルからコマンドとバインディングを読み込みます。 +たとえば以下のディレクティブでは、 +\fI/etc/inputrc\fP が読み込まれます。 +.sp 1 +.RS +.nf +\fB$include\fP \^ \fI/etc/inputrc\fP +.fi +.RE +.SH 検索 +.PP +readline には、コマンド履歴から特定の文字列を含む行を検索する +コマンドがあります。 +検索モードには、増分 ( +.I incremental +) と非増分 ( +.IR non-incremental +) の 2 つのモードがあります。 +.PP +増分検索は、ユーザが検索文字列を入力し終わる前に開始します。 +検索文字列の各文字が入力されるたびに、 +readline は、それまでに入力された文字列と一致した履歴の、 +次のエントリを表示します。 +増分検索では、目的の履歴エントリの検索に必要となる最低限の文字のみが +必要となります。 +エスケープ文字を使用すると増分検索を終了できます。 +Control-J も検索を終了できます。 +Control-G は増分検索を中断 (abort) し、元の行に戻します。 +検索が終了すると、検索文字列を含む履歴エントリが現在の行となります。 +履歴リストの中の、一致する他のエントリを探すには、 +Control-S か Control-R を必要なだけ入力します。 +これは +それまでに入力した検索文字列と一致するような次の行を探して +履歴を後方や前方に検索します。 +readline コマンドにバインドされた他のキーシーケンスが使用されると、 +検索を終了してそのコマンドを実行します。 +たとえば、 \fInewline\fP が使用されると +検索を終了してその行を受け付けるので、 +その履歴リストにあった該当するコマンドが実行されます。 +.PP +非増分検索は、検索文字列全体を読み込んでから検索を開始し、 +一致する履歴行を探します。 +検索文字列は、ユーザが入力したものであったり、 +現在の行の内容の一部であったりします。 +.SH 編集コマンド +以下は、コマンド名と、 +バインドされているデフォルトのキーシーケンスの一覧です。 +キーシーケンスが記載されていないコマンドには、 +デフォルトではバインドされていません。 +.SS 移動コマンド +.PP +.PD 0 +.TP +.B beginning\-of\-line (C\-a) +現在行の先頭に移動します。 +.TP +.B end\-of\-line (C\-e) +その行の末尾に移動します。 +.TP +.B forward\-char (C\-f) +1 文字進みます。 +.TP +.B backward\-char (C\-b) +1 文字戻ります。 +.TP +.B forward\-word (M\-f) +次の語の末尾に進みます。 +単語は、英数字 ( 英文字と数字 ) で構成されています。 +.TP +.B backward\-word (-b) +現在の語の先頭か前の語に戻ります。 +単語は、英数字 ( 英文字と数字 ) で構成されています。 +.TP +.B clear\-screen (C\-l) +現在の行を画面の最上位に残して画面をクリアします。 +引数がある場合は、画面をクリアせずに現在の行をリフレッシュします。 +.TP +.B redraw\-current\-line +現在の行をリフレッシュします。 +.PD +.SS 履歴操作コマンド +.PP +.PD 0 +.TP +.B accept\-line (Newline, Return) +カーソルの位置に関わらずに行を受け付けます。 +この行が空でない場合は、履歴リストに追加します。 +この行が履歴行を修正したものである場合は、 +該当する履歴行を元の状態に戻します。 +.TP +.B previous\-history (C\-p) +履歴リストを戻り、リストから前のコマンドを取り出します。 +.TP +.B next\-history (C\-n) +履歴リストを進め、リストから次のコマンドを取り出します。 +.TP +.B beginning\-of\-history (M\-<) +履歴の最初の行に移動します。 +.TP +.B end\-of\-history (M->) +入力履歴の最後に移動します。たとえば現在入力している行です。 +.TP +.B reverse\-search\-history (C\-r) +現在の行から必要なだけ履歴を「上へ」移動しながら後方検索します。 +これは増分検索です。 +.TP +.B forward\-search\-history (C\-s) +現在の行から必要なだけ履歴を「下へ」移動しながら前方検索します。 +これは増分検索です。 +.TP +.B non\-incremental\-reverse\-search\-history (M\-p) +非増分検索でユーザが指定した文字列を探し、 +現在の行から履歴を後方に検索します。 +.TP +.B non\-incremental\-forward\-search\-history (M-n) +非増分検索でユーザが指定した文字列を前方に検索します。 +.TP +.B history\-search\-forward +現在行の先頭と +カーソルの現在位置 (ポイント \fIpoint\fP) の間にある文字列を探し、 +履歴を前方に検索します。 +これは非増分検索です。 +.TP +.B history\-search\-backward +現在行の先頭とポイントの間にある文字列を探し、 +履歴を前方に検索します。 +これは非増分検索です。 +.TP +.B yank\-nth\-arg (M\-C\-y) +前のコマンドの 1 番目の引数 ( 通常は前の行の 2 番目の語 ) を +ポイント ( カーソルの現在位置 ) に挿入します。 +引数 +.IR n +がある場合は、 +前のコマンドの +\fIn\fP 番目の語 ( 前のコマンドの語は 0 番目から始まります ) +を挿入します。 +引数が負のときは、 +前のコマンドの末尾から +\fIn\fP 番目の語を挿入します。 +.TP +.B yank\-last\-arg (M\-.\^, M\-_\^) +前のコマンドの最後の引数 ( 前の履歴エントリの最後の語 ) +を挿入します。 +引数があるときは、\fByank\-nth\-arg\fP とまったく同じようにふるまいます。 +\fByank\-last\-arg\fP を連続して呼び出すと、 +各行の最後の引数を挿入しながら履歴リストを戻ります。 +.PD +.SS テキスト変更コマンド +.PP +.PD 0 +.TP +.B delete\-char (C\-d) +カーソルの下の文字を消去します。 +ポイントが行の先頭にあり、 +その行に文字がなく、 +最後に入力した文字が \fBdelete\-char\fP にバインドされていない場合は +.SM +.BR EOF +を返します。 +.TP +.B backward\-delete\-char (Rubout) +カーソルの前にある文字を消去します。 +数値引数があるときは、 +消去されたテキストを削除リングに保存します。 +.TP +.B quoted\-insert (C\-q, C\-v) +次に入力された文字をそのまま行に追加します。 +これは、 \fBC\-q\fP のような文字を挿入する方法です。 +.TP +.B tab\-insert (M\-TAB) +タブ文字を挿入します。 +.TP +.B self\-insert (a,\ b,\ A,\ 1,\ !,\ ...) +入力された文字を挿入します。 +.TP +.B transpose\-chars (C\-t) +ポイントの前の文字をポイントの文字の後にドラッグします。 +ポイントも後ろに移動します。 +ポイントが行末にある場合は、 +ポイントの前の 2 つの文字を入れ替えます。 +負の引数は動作しません。 +.TP +.B transpose\-words (M\-t) +カーソルの前の語をカーソルの後ろの語にドラッグ +します。カーソルもその語の上に移動します。 +.TP +.B upcase\-word (M\-u) +現在の語 ( またはその後の語 ) を大文字にします。 +負の引数があるときは +前の語が大文字になりますが、ポイントは移動しません。 +.TP +.B downcase\-word (M\-l) +現在の語 ( またはその後の語 ) を小文字にします。 +負の引数があるときは +前の語が小文字になりますが、ポイントは移動しません。 +.TP +.B capitalize\-word (M\-c) +現在の語 ( またはその後の語 ) の頭文字を大文字にします。 +負の引数があるときは +前の語の頭文字を大文字にしますが、ポイントは移動しません。 +.PD +.SS 削除 (kill) とヤンク +.PP +.PD 0 +.TP +.B kill\-line (C\-k) +現在のカーソルの位置から行末までのテキストを削除 (kill) します。 +.TP +.B backward\-kill\-line (C\-x Rubout) +行頭まで後方に削除します。 +.TP +.B unix\-line\-discard (C\-u) +ポイントから行頭まで後方に削除します。 +削除されたテキストは削除リングに保存されます。 +.\" backward-kill-line と実質的な違いはありません。 +.TP +.B kill\-whole\-line +カーソル位置に関わらず、現行ラインのすべてのキャラクタを +消去します。 +.TP +.B kill\-word (M\-d) +カーソルから現在の語の末尾まで、 +単語間の場合は次の語の末尾までを消去します。 +単語境界は、 \fBforward\-word\fP で使用するものと同じです。 +.TP +.B backward\-kill\-word (M\-Rubout) +カーソルの後ろの語を消去します。 +単語境界は、 \fBbackward\-word\fP で使用するものと同じです。 +.TP +.B unix\-word\-rubout (C\-w) +空白を単語境界として使用し、カーソルの前のワードを削除します。 +単語境界は +.BR backward\-kill\-word +とは異なります。 +.TP +.B delete\-horizontal\-space (M\-\e) +ポイント周囲のすべての空白とタブを消去します。 +.TP +.B kill\-region +ポイントとマーク ( 保存されたカーソル位置 ) の間のテキストを +削除します。 +このテキストは、リージョン (\fIregion\fP) として参照されます。 +.TP +.B copy\-region\-as\-kill +リージョンのテキストを削除バッファにコピーします。 +.TP +.B copy\-backward\-word +ポイントの前の語を削除バッファにコピーします。 +単語境界は \fBbackward\-word\fP と同じです。 +.TP +.B copy\-forward\-word +ポイントの次の語を削除バッファにコピーします。 +単語境界は \fBforward\-word\fP と同じです。 +.TP +.B yank (C\-y) +削除リングの最上位をカーソル位置のバッファにヤンクします。 +.TP +.B yank\-pop (M\-y) +削除リングを回転し、新しく最上位になったものをヤンクします。 +.B yank +か +.BR yank\-pop +の後でしか動作しません。 +.PD +.SS 数値引数 +.PD 0 +.TP +.B digit\-argument (M\-0, M\-1, ..., M\-\-) +すでに蓄積されている引数にこの数字を追加するか、 +新しい引数を開始します。 +M\-\- は、負の引数を開始します。 +.TP +.B universal\-argument +引数を指定する別の方法です。 +このコマンドに 1 つ以上の数字が続く場合、 +もしくはマイナス記号の後に 1 つ以上の数字が続く場合 +はこの数字が引数になります。 +このコマンドに数字が続く場合、 +.B universal\-argument +を再度実行することで数値引数は終わりますが、それ以外の場合は無視されます。 +特別な場合として、 +このコマンドの直後に数字やマイナス記号以外の文字が続くときは、 +次のコマンドの引数の数値は 4 倍されます。 +初期状態での引数の数値は 1 なので、 +この機能を最初に実行すると引数の数値は 4 になり、 +2 回実行すると引数の数値は 16 になる、というようになります。 +.PD +.SS 補間 (completion) +.PP +.PD 0 +.TP +.B complete (TAB) +ポイントの前のテキストで補間 (complition) を実行します。 +実際の補間はアプリケーションに固有です。 +たとえば、 +.BR bash +は、それぞれ、 +変数 ( テキストが \fB$\fP で始まる場合 ) 、 +ユーザ名 ( テキストが \fB~\fP で始まる場合 ) 、 +ホスト名 ( テキストが \fB@\fP で始まる場合 ) 、 +コマンド ( エイリアスと関数を含む場合 ) +としてテキストを扱い、補間を実行します。 +これらに当てはまらない場合は +ファイル名の補間が実行されます。 +一方、 +.BR gdb +ではプログラムの関数と変数の補間が認められており、 +特定の状況でのみファイル名補間が試みられます。 +.TP +.B possible\-completions (M\-?) +ポイントの前のテキストについての補間候補一覧を表示します。 +.TP +.B insert\-completions (M\-*) +ポイントの前のテキストについて、 +\fBpossble\-completions\fP によって生成された +全ての補間候補を挿入します。 +.TP +.B menu\-complete +\fBcomplete\fP に似ていますが、 +補間候補の一覧のうちの一つを用いて補間し、語を置き換えます。 +\fBmenu\-complete\fP を繰り返し実行すると、 +一致するものを順番に挿入しながら、 +補間候補の一覧を一つずつ進みます。 +補間候補一覧の末尾に達するとベルが鳴り、 +元のテキストが復元されます。 +引数 \fIn\fP は、補間候補一覧を \fIn\fP だけ進みます。 +負の引数はリストを戻ります。 +このコマンドは、 \fBTAB\fP にバインドされることを想定していますが、 +デフォルトではバインドされていません。 +.PD +.SS キーボードマクロ +.PP +.PD 0 +.TP +.B start\-kbd\-macro (C\-x (\^) +キーボードから入力された文字の、 +現在のキーボードマクロへの保存を開始します。 +.TP +.B end\-kbd\-macro (C\-x )\^) +キーボードから入力された文字の、 +現在のキーボードマクロへの保存を停止します。 +.TP +.B call\-last\-kbd\-macro (C\-x e) +キーボードから入力されたかのように、 +マクロ中のキャラクタを表示し、 +最後に定義されたキーボードマクロを再実行します。 +.PD +.SS その他 +.PP +.PD 0 +.TP +.B re\-read\-init\-file (C\-x C\-r) +\fIinputrc\fP ファイルの内容を読み込み、 +そのファイルで見つかったバインドや変数割当てを組み込みます。 +.TP +.B abort (C\-g) +現在の編集コマンドを中断し、端末ベルを鳴らします。 +( +.BR bell\-style +の設定に従います ) +.TP +.B do\-uppercase\-version (M\-a, M\-b, M\-\fIx\fP, ...) +メタ化 (metafy) された文字 \fIx\fP が小文字である場合、 +相当する大文字にバインドされたコマンドを実行します。 +.TP +.B prefix\-meta (ESC) +次に入力された文字をメタ化します。 +.SM +.B ESC +.B f +は +.BR Meta\-f +と同等です。 +.TP +.B undo (C\-_, C\-x C\-u) +各行で個別に記憶される、増分取り消し (incremental undo)です。 +.TP +.B revert\-line (M\-r) +この行に行なわれた変更の全てを取り消します。 +これは +.B undo +コマンドをこの行で必要なだけ繰り返し、 +初期状態に戻すことに似ています。 +.TP +.B tilde\-expand (M\-~) +現在の語にチルダ展開を実行します。 +.TP +.B set\-mark (C\-@, M-) +現在のポイントにマークします。 +数値引数を指定すると、マークはその場所に設定されます。 +.TP +.B exchange\-point\-and\-mark (C\-x C\-x) +マークとポイントを入れ換えます。 +カーソルの現在位置は保存された位置に設定され、 +古いカーソル位置はマークとして保存されます。 +.TP +.B character\-search (C\-]) +文字が読み込まれ、その文字と次に一致する場所へポイントが移動します。 +負の数を使用すると、前の方で一致するものが検索されます。 +.TP +.B character\-search\-backward (M\-C\-]) +文字が読み込まれ、前の方でその文字と一致する場所へポイントが移動します。 +負の数を使用すると、後の方で一致するものが検索されます。 +.TP +.B insert\-comment (M\-#) +readline の +.B comment\-begin +変数の値が現在行の先頭に挿入され、 +改行が入力されたかのようにその行が受け付けられます。 +これにより、現在行がシェルのコメントになります。 +.TP +.B dump\-functions +すべての機能名とそのキーバインドを +readline の出力ストリームに印字します。 +数値引数を指定すると、出力は +\fIinputrc\fP ファイルの一部にできるようにフォーマットされます。 +.TP +.B dump\-variables +すべての設定可能な変数とその値を +readline の出力ストリームに印字します。 +数値引数を指定すると、出力は +\fIinputrc\fP ファイルの一部にできるようにフォーマットされます。 +.TP +.B dump\-macros +マクロにバインドされたすべての readline キーシーケンス、 +およびそれが出力するストリングを印字します。 +数値引数を指定すると、出力は +\fIinputrc\fP ファイルの一部にできるようにフォーマットされます。 +.TP +.B emacs\-editing\-mode (C\-e) +.B vi +編集モードになっている場合に、 +.B emacs +編集モードに切り替えます。 +.TP +.B vi\-editing\-mode (M\-C\-j) +.B emacs +編集モードになっている場合に、 +.B vi +編集モードに切り替えます。 +.PD +.SH デフォルトのキーバインド +.LP +以下は、デフォルトの emacs バインドと vi バインドのリストです。 +第 8 ビットがセットされている文字は、 M\- と表記します。 +これは、メタ化された文字を表します。 +emacs 標準バインドのリストに載っていない、 +印字可能な ASCII 文字は、 +.I self\-insert +機能に結び付けられています。 +この機能は、与えられた文字を入力行に挿入します。 +vi 挿入モードの場合、 +特筆していないすべての文字は +.I self\-insert +にバインドされています。 +C-Z や C-C のような、 +.IR stty(1) +や端末ドライバでシグナルの生成に割り当てられている文字は、 +その機能を保持します。 +メタ化された大文字と小文字の文字は、 +emacs モードのメタキーマップと同じ機能にバインドされています。 +残りの文字はバインドされておらず、 +そういった文字を使用すると、 +readline は ( +.B bell\-style +変数の設定に従って ) ベルを鳴らします。 +.SS Emacs モード +.RS +.6i +.nf +.ta 2.5i +.sp +emacs 標準バインド +.sp +"C-@" set-mark +"C-A" beginning-of-line +"C-B" backward-char +"C-D" delete-char +"C-E" end-of-line +"C-F" forward-char +"C-G" abort +"C-H" backward-delete-char +"C-I" complete +"C-J" accept-line +"C-K" kill-line +"C-L" clear-screen +"C-M" accept-line +"C-N" next-history +"C-P" previous-history +"C-Q" quoted-insert +"C-R" reverse-search-history +"C-S" forward-search-history +"C-T" transpose-chars +"C-U" unix-line-discard +"C-V" quoted-insert +"C-W" unix-word-rubout +"C-Y" yank +"C-]" character-search +"C-_" undo +"\^ " to "/" self-insert +"0" to "9" self-insert +":" to "~" self-insert +"C-?" backward-delete-char +.PP +emacs メタキーバインド +.sp +"M-C-G" abort +"M-C-H" backward-kill-word +"M-C-I" tab-insert +"M-C-J" vi-editing-mode +"M-C-M" vi-editing-mode +"M-C-R" revert-line +"M-C-Y" yank-nth-arg +"M-C-[" complete +"M-C-]" character-search-backward +"M-space" set-mark +"M-#" insert-comment +"M-&" tilde-expand +"M-*" insert-completions +"M--" digit-argument +"M-." yank-last-arg +"M-0" digit-argument +"M-1" digit-argument +"M-2" digit-argument +"M-3" digit-argument +"M-4" digit-argument +"M-5" digit-argument +"M-6" digit-argument +"M-7" digit-argument +"M-8" digit-argument +"M-9" digit-argument +"M-<" beginning-of-history +"M-=" possible-completions +"M->" end-of-history +"M-?" possible-completions +"M-B" backward-word +"M-C" capitalize-word +"M-D" kill-word +"M-F" forward-word +"M-L" downcase-word +"M-N" non-incremental-forward-search-history +"M-P" non-incremental-reverse-search-history +"M-R" revert-line +"M-T" transpose-words +"M-U" upcase-word +"M-Y" yank-pop +"M-\e" delete-horizontal-space +"M-~" tilde-expand +"M-C-?" backward-delete-word +"M-_" yank-last-arg +.PP +emacs コントロールキーバインド +.sp +"C-XC-G" abort +"C-XC-R" re-read-init-file +"C-XC-U" undo +"C-XC-X" exchange-point-and-mark +"C-X(" start-kbd-macro +"C-X)" end-kbd-macro +"C-XE" call-last-kbd-macro +"C-XC-?" backward-kill-line +.sp +.RE +.SS VI モードバインド +.RS +.6i +.nf +.ta 2.5i +.sp +.PP +VI 挿入モード機能名 +.sp +"C-D" vi-eof-maybe +"C-H" backward-delete-char +"C-I" complete +"C-J" accept-line +"C-M" accept-line +"C-R" reverse-search-history +"C-S" forward-search-history +"C-T" transpose-chars +"C-U" unix-line-discard +"C-V" quoted-insert +"C-W" unix-word-rubout +"C-Y" yank +"C-[" vi-movement-mode +"C-_" undo +"\^ " to "~" self-insert +"C-?" backward-delete-char +.PP +VI コマンドモード機能名 +.sp +"C-D" vi-eof-maybe +"C-E" emacs-editing-mode +"C-G" abort +"C-H" backward-char +"C-J" accept-line +"C-K" kill-line +"C-L" clear-screen +"C-M" accept-line +"C-N" next-history +"C-P" previous-history +"C-Q" quoted-insert +"C-R" reverse-search-history +"C-S" forward-search-history +"C-T" transpose-chars +"C-U" unix-line-discard +"C-V" quoted-insert +"C-W" unix-word-rubout +"C-Y" yank +"\^ " forward-char +"#" insert-comment +"$" end-of-line +"%" vi-match +"&" vi-tilde-expand +"*" vi-complete +"+" next-history +"," vi-char-search +"-" previous-history +"." vi-redo +"/" vi-search +"0" beginning-of-line +"1" to "9" vi-arg-digit +";" vi-char-search +"=" vi-complete +"?" vi-search +"A" vi-append-eol +"B" vi-prev-word +"C" vi-change-to +"D" vi-delete-to +"E" vi-end-word +"F" vi-char-search +"G" vi-fetch-history +"I" vi-insert-beg +"N" vi-search-again +"P" vi-put +"R" vi-replace +"S" vi-subst +"T" vi-char-search +"U" revert-line +"W" vi-next-word +"X" backward-delete-char +"Y" vi-yank-to +"\e" vi-complete +"^" vi-first-print +"_" vi-yank-arg +"`" vi-goto-mark +"a" vi-append-mode +"b" vi-prev-word +"c" vi-change-to +"d" vi-delete-to +"e" vi-end-word +"f" vi-char-search +"h" backward-char +"i" vi-insertion-mode +"j" next-history +"k" prev-history +"l" forward-char +"m" vi-set-mark +"n" vi-search-again +"p" vi-put +"r" vi-change-char +"s" vi-subst +"t" vi-char-search +"u" undo +"w" vi-next-word +"x" vi-delete +"y" vi-yank-to +"|" vi-column +"~" vi-change-case +.RE +.SH 関連項目 +.PD 0 +.TP +\fIThe Gnu Readline Library\fP, Brian Fox and Chet Ramey +.TP +\fIThe Gnu History Library\fP, Brian Fox and Chet Ramey +.TP +\fIbash\fP(1) +.PD +.SH 関連ファイル +.PD 0 +.TP +.FN ~/.inputrc +それぞれの \fBreadline\fP 初期化ファイル +.PD +.SH 作者 +Brian Fox, Free Software Foundation (主要作者) +.br +bfox@ai.MIT.Edu +.PP +Chet Ramey, Case Western Reserve University +.br +chet@ins.CWRU.Edu +.SH バグレポート +.B readline +のバグを見つけた場合は報告してください。 +しかし、まず本当にバグであるかどうかを確認し、 +.B readline +ライブラリの最新バージョンにそのバグが現れることを確認してください。 +.PP +バグが本当に存在することが確認できたら、 +バグレポートを \fIbug\-readline\fP@\fIgnu.org\fP に送信してください。 +バグの修正がある場合はメールで送信してください歓迎します。 +提案や「哲学的な」バグレポートは、 +\fIbug\-read\-line\fP@\fIgnu.org\fP にメールで送信するか、 +Usenet ニュースグループ +.BR gnu.bash.bug +に投稿してください。 +.PP +このマニュアルページに関するコメントやバグレポートは、 +.IR chet@ins.CWRU.Edu +に送信してください。 +.SH バグ +.PP +大きすぎること、そして遅過ぎること。 diff --git a/ja_JP.eucJP/man/man3/realpath.3 b/ja_JP.eucJP/man/man3/realpath.3 new file mode 100644 index 0000000000..c18a041781 --- /dev/null +++ b/ja_JP.eucJP/man/man3/realpath.3 @@ -0,0 +1,112 @@ +.\" Copyright (c) 1994 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" This code is derived from software contributed to Berkeley by +.\" Jan-Simon Pendry. +.\" +.\" 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. +.\" +.\" @(#)realpath.3 8.2 (Berkeley) 2/16/94 +.\" +.Dd February 16, 1994 +.Dt REALPATH 3 +.Os +.Sh 名称 +.Nm realpath +.Nd 正規の絶対パス名を戻す +.Sh 書式 +.Fd #include +.Fd #include +.Ft "char *" +.Fn realpath "const char *pathname" "char resolvedname[MAXPATHLEN]" +.Sh 解説 +.Fn realpath +関数は、 +.Fa pathname +のすべてのシンボリックリンク、余分な +.Dq / +キャラクタ、 +Pa /./ +と +Pa /../ +のリファレンスを分析し、 +.Fa resolvedname +が参照するメモリに絶対パス名をコピーします。 +.Fa resolvedname +引数は、最低で +.Dv MAXPATHLEN +キャラクタを保存できるバッファを参照する必要があります。 +.Pp +.Fn realpath +関数は、絶対パスと相対パスの両方を分析し、 +.Fa pathname +に +対応する絶対パス名を戻します。 +.Fa pathname +の最後のコンポーネント以外は、 +.Fn readpath +を呼び出したときに存在している必要があります。 +.Sh 戻り値 +.Fn realpath +関数は、問題がなければ +.Fa resolved_name +を戻します。エラーが発生した場合、 +.Fn realpath +は +.Dv NULL +を戻し、問題となったパス名を +.Fa resolved_name +に入れます。 +.Sh エラー +.Fn realpath +関数がエラーとなると、ライブラリ関数 +.Xr chdir 2 , +.Xr close 2 , +.Xr fchdir 2 , +.Xr lstat 2 , +.Xr open 2 , +.Xr readlink 2 , +.Xr getcwd 3 +に指定されているエラーに外部変数 +.Va errno +が設定されます。 +.Sh 警告 +この +.Fn realpath +システムは、Solaris システムとは多少異なります。 +.Bx 4.4 +バージョンは常に絶対パス名を戻しますが、Solaris システムは、相対パス名 +が指定されると相対パス名を戻します。 +.Sh 関連項目 +.Xr getcwd 3 +.Sh 歴史 +.Fn realpath +関数は、 +.Bx 4.4 +に最初に登場しました。 diff --git a/ja_JP.eucJP/man/man3/recno.3 b/ja_JP.eucJP/man/man3/recno.3 new file mode 100644 index 0000000000..2461faffc3 --- /dev/null +++ b/ja_JP.eucJP/man/man3/recno.3 @@ -0,0 +1,206 @@ +.\" 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. +.\" +.\" @(#)recno.3 8.5 (Berkeley) 8/18/94 +.\" +.TH RECNO 3 "August 18, 1994" +.UC 7 +.SH 名称 +recno \- レコード番号データベースへのアクセス手法 +.SH 書式 +.nf +.ft B +#include +#include +.ft R +.fi +.SH 解説 +.I dbopen +ルーチンは、データベースファイルのライブラリインタフェース +ですが、そこでサポートされているファイルフォーマットの 1 つに、 +レコード番号ファイルがあります。データベースアクセス手法の一般事項については、 +.IR dbopen (3) +を参照してください。このマニュアルページでは、recno の固有事項について +説明します。 +.PP +レコード番号データ構造は、フラットファイルフォーマットで保存された、 +可変長あるいは固定長のレコードで、論理レコード番号でアクセスされます。 +レコード番号 5 が存在するということは、レコード 1 からレコード 4 が +存在することになります。レコード番号 1 を削除すると、レコード番号 5 は +レコード番号 4 になり、レコード番号 1 の後ろを指していたカーソルは、 +1 レコード下にシフトします。 +.PP +.I dbopen +で提供される recno へのアクセス手法に固有なデータ構造は、 + インクルードファイルで以下のように定義されています。 +.PP +typedef struct { +.RS +u_long flags; +.br +u_int cachesize; +.br +u_int psize; +.br +int lorder; +.br +size_t reclen; +.br +u_char bval; +.br +char *bfname; +.RE +} RECNOINFO; +.PP +この構造体のエレメントは、以下のように定義されます。 +.TP +flags +フラグ値は、以下の値の +.IR OR (論理和) +を取ることで指定されます。 +.RS +.TP +R_FIXEDLEN +レコードは固定長で、バイトで区切られていません。 +構造体のエレメント +.I reclen +がレコードの長さを指定し、構造体のエレメント +.I bval +がパッドキャラクタとして使用されます。データベースに挿入された +レコードは、 +.I reclen +バイトより小さい場合、自動的にパッドされます。 +.TP +R_NOKEY +.I dbopen +が指定するインタフェースでは、 +シーケンシャルレコード検索で、呼び出し側のキーとデータ構造の両方にデータが +入ります。R_NOKEY フラグを指定すると、 +.I cursor +ルーチンがなくてもキー構造に +データが入ります。これにより、アプリケーションは、中間に存在するレコード +すべてを読み込まずに、ファイルの最後のレコードを取り出せます。 +.TP +R_SNAPSHOT +このフラグは、修正されていないレコードを +オリジナルファイルから読み込む代わりに、 +.I dbopen +が呼び出された場合にファイル +のスナップショットを取ることを要求します。 +.RE +.TP +cachesize +メモリキャッシュの最大サイズ ( バイト単位 ) です。この値は +.B 参考程度のもの +で、アクセス手法はエラーにならずにこれ以上のメモリを割り +振ります。 +.I cachesize +を 0 にすると ( サイズを指定しないと ) 、デフォルトの +キャッシュが使用されます。 +.TP +psize +recno へのアクセス手法は、レコードのメモリのコピーを btree に +保存します。 +この値は、そのツリーのノードで使用されるページのサイズ ( バイト単位 ) です。 +.I psize +が 0 である場合は ( ページサイズが指定されていない場合は ) 、 +基礎となるファイルシステムの I/O ブロックサイズに従って +ページサイズが選択されます。詳細については、 +.IR btree(3) +を参照してください。 +.TP +lorder +保存されているデータベースメタデータの整数のバイトオーダ +です。整数のオーダを数値で表現する必要があります。たとえば +ビッグエンディアンのばバイトオーダは、4321 の順番になります。 +.I lorder +が 0 である場合は、( オーダが指定されていない場合は ) 、 +現行ホストのオーダが使用されます。 +.TP +reclen +固定長レコードの長さです。 +.TP +bval +可変長レコードの場合は、レコードの終わりをマークする区切り +バイトで、固定長レコードの場合は、パッドキャラクタです。値を指定しないと、 +可変長レコードの最後は改行 ( ``\en'') でマークされ、 +固定長レコードはスペースでパッドされます。 +.TP +bfname +recno アクセス手法は、レコードのメモリのコピーを btree に +保存します。NULL 以外の bfname は、btree ファイルの dbopen の +ファイル名として指定されたかのように、btree ファイルの名前を指定します。 +.PP +recno へのアクセス手法で使用するキーとデータのペアのデータ部分は、その +他のアクセス手法と同じですが、キーは異なります。キーの +.I data +フィールドは、インクルードファイルで定義された、タイプ +.IR recno_t +のメモリ位置を指す +ポインタでなければなりません。通常の場合、このタイプは、システムで +使用できる最大の符号なし整数タイプです。キーの +.I size +フィールドは、そのタイプのサイズである必要があります。 +.PP +基礎となる recno アクセス手法ファイルでは、メタデータを +関連付けられないので、デフォルト値に対する変更内容 ( たとえばレコードの +固定長やバイト区切り値 ) は、ファイルを開くたびに明確に指定する +必要があります。 +.PP +.IR dbopen +が指定するインタフェースでは、 +.I put +インタフェースを使用して +新しいレコードを作成すると、レコード番号が、現在のデータベースの最大 +レコードより 1 以上大きい場合、複数の空のレコードが作成されます。 +.SH エラー +.I recno +アクセス手法ルーチンがエラーになると、ライブラリルーチン +.IR dbopen (3) +に指定されたエラーか以下のエラーに +.I errno +が設定されます。 +.TP +[EINVAL] +固定長データベースに、大きすぎるレコードを +追加しようとしました。 +.SH 関連項目 +.IR btree(3) , +.IR dbopen(3) , +.IR hash(3) , +.IR mpool(3) +.sp +.IR "Document Processing in a Relational Database System," +Michael Stonebraker, Heidi Stettner, Joseph Kalash, Antonin Guttman, +Nadene Lynn, Memorandum No. UCB/ERL M82/32, May 1982. +.SH バグ +ビッグエンディアンのバイトオーダとリトルエンディアンのバイトオーダのみ +がサポートされています。 diff --git a/ja_JP.eucJP/man/man3/regex.3 b/ja_JP.eucJP/man/man3/regex.3 new file mode 100644 index 0000000000..ba36b5dbb7 --- /dev/null +++ b/ja_JP.eucJP/man/man3/regex.3 @@ -0,0 +1,485 @@ +.\" Copyright (c) 1992, 1993, 1994 Henry Spencer. +.\" Copyright (c) 1992, 1993, 1994 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" This code is derived from software contributed to Berkeley by +.\" Henry Spencer. +.\" +.\" 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. +.\" +.\" @(#)regex.3 8.4 (Berkeley) 3/20/94 +.\" +.TH REGEX 3 "March 20, 1994" +.de ZR +.\" one other place knows this name: the SEE ALSO section +.IR re_format (7) \\$1 +.. +.SH 名称 +regcomp, regexec, regerror, regfree \- 正規表現ライブラリ +.SH 書式 +.ft B +.\".na +#include +.br +#include +.HP 10 +int regcomp(regex_t\ *preg, const\ char\ *pattern, int\ cflags); +.HP +int\ regexec(const\ regex_t\ *preg, const\ char\ *string, +size_t\ nmatch, regmatch_t\ pmatch[], int\ eflags); +.HP +size_t\ regerror(int\ errcode, const\ regex_t\ *preg, +char\ *errbuf, size_t\ errbuf_size); +.HP +void\ regfree(regex_t\ *preg); +.\".ad +.ft +.SH 解説 +このルーチンは、POSIX 1003.2 正規表現(``RE'')を実現しています。 +.ZR +を参照してください。 +.I regcomp +は、内部フォームにストリングとして書き込まれた RE をコンパイルします。 +.I regexec +は、その内部フォームをストリングと突き合わせて結果を報告します。 +.I regerror +は、エラーコードを人が判読できるメッセージに変換します。 +.I regfree +は、RE の内部フォームで使用される、 +ダイナミックに割り振られた記憶域を解放します。 +.PP +ヘッダ +.I +は、コンパイルされた内部フォーム用の +.I regex_t, +および突き合わせの報告用の +.I regmatch_t +という、2 つの構造体タイプを宣言します。4 つの関数、タイプ +.I regoff_t, +名前が ``REG_'' で始まる定数の数も宣言します。 +.PP +.I Regcomp +は、 +.IR cflags +のフラグに従って、 +.I pattern +ストリングに含まれる正規表現をコンパイルし、 +.IR preg +が指す +.I regex_t +構造体に結果を配置します。 +.I cflags +は、ゼロ個以上の以下のフラグでビットワイズ論理和を取ったものです。 +.IP REG_EXTENDED \w'REG_EXTENDED'u+2n +デフォルトの古い ( ``基本'' ) RE の代わりに、新しい ( ``拡張'' ) RE を +コンパイルします。 +.IP REG_BASIC +0 のシノニムです。 +REG_EXTENDED に対して提供されたもので、読みやすさを改善します。 +.IP REG_NOSPEC +すべての特殊文字が無効になっていることを認識して +コンパイルします。すべてのキャラクタは通常文字とみなされるので、 +``RE'' はリテラルストリングになります。これは、POSIX 1003.2 と +互換性があるが指定されていないエクステンションです。 +他のシステムに移植することを目的としたソフトウェアでは +注意して使用してください。REG_EXTENDED と REG_NOSPEC は、 +.I regcomp +の呼び出しで同時には使用できません。 +.IP REG_ICASE +大文字と小文字を区別しないマッチング用にコンパイルします。 +.ZR +を参照してください。 +.IP REG_NOSUB +一致したものではなく、問題の有無のレポートのみが必要な +マッチング用にコンパイルします。 +.IP REG_NEWLINE +改行を考慮するマッチング用にコンパイルします。 +デフォルトの場合、改行は、RE とストリングで特殊な意味がない、完全な +通常文字です。このフラグを使用すると、ブランケット `[^' と `.' は改行と +一致しなくなります。アンカ `^' は、通常関数に加え、ストリングの改行の +後ろにある NULL ストリングと一致するようになります。アンカ `$' は、 +通常関数に加え、ストリングの改行の前にある NULL ストリングと +一致するようになります。 +.IP REG_PEND +最初の NULL ではなく、 +.IR preg +が指す構造体の +.I re_endp +メンバが指すキャラクタの直前で正規表現が終わるようになります。 +.I re_endp +メンバのタイプは +.IR const\ char\ * +です。このフラグは、RE に NULL が含まれることを許可します。 +この NULL は、通常文字とみなされます。これは、POSIX 1003.2 と +互換性があるが指定されていないエクステンションです。他のシステムへの移植を +目的としたソフトウェアでは注意して使用してください。 +.PP +問題がない場合、 +.I regcomp +は 0 を戻し、 +.I preg +が指す構造体にデータを入れます。 +この構造体の 1 つのメンバ ( +.IR re_endp +以外 ) は公表されます。 +.IR size_t +タイプの +.IR re_nsub +には、RE の括弧で囲まれたサブ表現の数が入ります ( REG_NOSUB フラグを +使用した場合、このメンバの値は不定になります ) 。 +.I regcomp +でエラーが発生すると、ゼロ以外のエラーコードが戻されます。診断を +参照してください。 +.PP +.I regexec +は、 +.I eflags +のフラグに従って、 +.I preg +が指すコンパイル済み RE を +.IR string +と突き合わせ、 +.IR nmatch, +.IR pmatch, +戻り値を使用して結果を報告します。RE は、これ以前に +.IR regcomp +を呼び出してコンパイルしておく必要があります。 +コンパイルされたフォームは、 +.IR regexec +を実行しても変更されないので、1 つのコンパイル済み RE を +複数のスレッドで同時に使用できます。 +.PP +デフォルトの場合、 +.I string +が指す、NULL で終了するストリングは、 +ライン全体から最後の改行を除いたテキストとみなされます。 +.I eflags +引数は、ゼロ個以上の以下のフラグでビットワイズ論理和を取ったものです。 +.IP REG_NOTBOL \w'REG_STARTEND'u+2n +ストリングの最初のキャラクタがラインの最初ではないので、`^' アンカが +その前で一致する必要はありません。REG_NEWLINE の改行の動作は影響されません。 +.IP REG_NOTEOL +ストリングを終了する NULL がラインを終了しないので、`$' アンカが +その前で一致する必要はありません。REG_NEWLINE の改行の動作は影響されません。 +.IP REG_STARTEND +.IR nmatch +の値に関係なく、ストリングが +\fIstring\fR\ + \fIpmatch\fR[0].\fIrm_so\fR +で始まり、最後の NULL が +\fIstring\fR\ + \fIpmatch\fR[0].\fIrm_eo\fR +に配置されている ( その場所に NULL が実際に存在する必要はない ) と +みなされます。 +.IR pmatch +と +.IR nmatch +の定義については、下記を参照してください。 +これは、POSIX 1003.2 と互換性があるが指定されていないエクステンションです。 +他のシステムへの移植を目的としたソフトウェアでは注意して使用してください。 +\fIrm_so\fRがゼロ以外であっても、 REG_NOTBOL が暗示されることはありません。 +REG_STARTEND はストリングの位置のみに影響し、マッチング方法には +影響しません。 +.PP +RE かその一部が +.IR string +のサブストリングと一致する状況で一致するものについては、 +.ZR +を参照してください。 +.PP +通常の場合、 +.I regexec +は問題がないと 0 を戻し、問題があるとゼロ以外のコード REG_NOMATCH を +戻します。例外的な状況では、ゼロではない、これ以外の +エラーコードが戻されることがあります。診断を参照してください。 +.PP +RE のコンパイルで REG_NOSUB を指定した場合、または +.I nmatch +が 0 である場合、 +.I regexec +は +.I pmatch +引数を無視します ( REG_STARTEND を指定した場合については下記参照 ) 。 +その他の場合、 +.I pmatch +は +.IR regmatch_t +タイプの +.I nmatch +構造体の配列を指します。このような構造体には、 +サブストリングの第 1 キャラクタのオフセットを含む +.I rm_so +、およびサブストリングの最後の後ろにある第 1 キャラクタのオフセットを含む +.IR rm_eo +というメンバが最低でも必要です。 +どちらもタイプは +.I regoff_t +( 最低でもサイズが +.I off_t +と +.IR ssize_t +である、符号付き算術タイプ ) です。オフセットは、 +.IR regexec +に指定した +.I string +引数の最初から計測されます。空のサブストリングは、空のサブストリングに続く +キャラクタを示す、等しいオフセットで表現されます。 +.PP +.I pmatch +配列の 0 番目のメンバには、RE 全体で一致した、 +.I string +のサブストリングが入ります。残りのメンバは、RE の括弧で囲まれたサブ表現で +一致したサブストリングを報告します。メンバ +.I i +は、RE の左括弧の次数を左から右に 1 から数えたサブ表現で、サブ表現 +.IR i +を報告します。突き合わせにまったく関係しなかったサブ表現か RE に存在しない +サブ表現 ( つまり、\fIi\fR\ > \fIpreg\fR\->\fIre_nsub\fR) に対応する、 +配列の未使用エントリでは、 +.I rm_so +と +.I rm_eo +の +両方が \-1 に設定されています。サブ表現が突き合わせに複数回関係した場合は、 +一致した最後のサブストリングが報告されます ( RE `(b*)+' が `bbb' と +一致する場合、括弧に囲まれたサブ表現は、3 つそれぞれの `b' 、 +および最後の `b' に続く無限の空ストリングと一致するため、 +報告されるサブストリングは空のうちの 1 つになります ) . +.PP +REG_STARTEND を指定した場合、 +.I pmatch +は最低でも 1 つの +.I regmatch_t +を指し ( +.I nmatch +が 0 であるか、REG_NOSUB を指定した場合でも )、 +REG_STARTEND の入力オフセットを保持する必要があります。出力での使用は、 +.IR nmatch +で完全に制御されます。 +.I nmatch +が 0 である場合、または REG_NOSUB を指定した場合、 +.IR pmatch [0] +の値は、 +.IR regexec +で問題が発生しなければ変更されません。 +.PP +.I regerror +は、 +.I regcomp +か +.I regexec +のゼロでない +.I errcode +を人間が判読可能で出力できるメッセージにマップします。 +.I preg +が NULL 以外である場合、エラーコードは、 +.IR preg +が指す +.I regex_t +の使用から発生します。エラーコードが +.IR regcomp +からのものである場合、エラーコードは、その +.IR regex_t +を使用して +最近実行した +.I regcomp +の結果となります +.IR ( regerror +は、 +.I regex_t +の情報を使用してより詳細なメッセージを提供することがあります ) 。 +.I regerror +は、NULL で終わるメッセージを +.IR errbuf +が指すバッファに配置します。NULL を含めたメッセージの長さは、最大で +.I errbuf_size +バイトに制限されます。 +メッセージ全体が収まらない場合は、最後の NULL の前で収まる部分までが +提供されます。どのような場合でも、戻り値は、最後の NULL も含めた、 +メッセージ全体を保持するのに必要なバッファサイズになります。 +.I errbuf_size +が 0 である場合、 +.I errbuf +は無視されますが、戻り値は正確です。 +.PP +.I regerror +に与えられた +.I errcode +と REG_ITOA の論理和を最初に取ると、作成される ``メッセージ'' は、 +エラーコードの説明でななく、``REG_NOMATCH'' など、 +エラーコードの出力可能な名前になります。 +.I errcode +が REG_ATOI である場合、 +.I preg +は NULL 以外で、これが指す構造体の +.I re_endp +メンバは、エラーコードの出力可能な名前を指す必要があります。この場合、 +.I errbuf +の結果は、エラーコードの数値の十進数になります ( 名前が +認識されない場合は 0 ) 。 +REG_ITOA と REG_ATOI は、主にデバッグを目的としたものです。 +これは、POSIX 1003.2 と互換性があるが指定されていない +エクステンションです。他のシステムへの移植を目的としたソフトウェアでは +注意して使用してください。また試験的なものとみなされているので、 +変更されることがあることにも注意してください。 +.PP +.I regfree +は、 +.IR preg +が指すコンパイル済み RE に関連する、ダイナミックに +割り振られた記憶域を解放します。残った +.I regex_t +は有効なコンパイル済み RE ではないので、 +.I regexec +か +.I regerror +でこれを使用しても結果は不定になります。 +.PP +このすべての関数は、目次を除くグローバル変数を参照しません。引数が +安全である場合、複数のスレッドで使用しても安全です。 +.SH 実装における選択 +1003.2 には、``未定義'' と明言する形で、または RE の文法で +禁止されているという形で、システム設計者にゆだねている未決定事項が +数多くあります。このシステムでは、この未決定事項を以下のように +扱っています。 +.PP +大文字と小文字を区別するマッチングの定義については、 +.ZR +を参照してください。 +.PP +メモリの制限を除けば、RE の長さに制限はありません。メモリの使用量は +RE のサイズにだいたい比例しており、制限付きの反復を除いて、RE の複雑さに +大きく左右されることはありません。ほとんどのシステムでメモリが不足する、 +反復を使用した短い RE については、バグを参照してください。 +.PP +1003.2 で特別な意味 ( このような特別な意味は、 +古い [``basic''] RE のみにあります ) が与えられているもの +以外のバックスラッシュキャラクタは、通常文字とみなされます。 +.PP +一致しない [ は REG_EBRACK エラーです。 +.PP +等価クラスは、括弧で囲まれた表現の範囲を始めたり +終了したりできません。ある範囲の終了点が、他の範囲の +開始点になることはありません。 +.PP +制限付き反復の反復数の制限である RE_DUP_MAX は 255 です。 +.PP +反復演算子 (?, *, +, 制限) に別の反復演算子を +続けることはできません。反復演算子で表現やサブ表現を始めたり、 +`^' か `|' の後に反復演算子を続けたりすることはできません。 +.PP +表現やサブ表現の最初か最後に `|' を使用したり、`|' の後に +別の `|' を使用したりすることはできません。たとえば、`|' のオペランドを +空のサブ表現にすることはできません。括弧で囲まれた空のサブ表現 `()' は +許可されており、空のストリングかサブストリングと一致します。空のストリング +は、適切な RE ではありません。 +.PP +後に数字が続く `{' は、制限付き反復の制限の始まりとみなされます。 +この場合は、制限のシンタックスに従う必要があります。後に数字が +\fI 続かない\fR `{' は、通常文字とみなされます。 +.PP +古い ( ``基本'' ) RE のサブ表現の開始と終了を表す `^' と `$' はアンカ +であり、通常文字ではありません。 +.SH 関連項目 +grep(1), re_format(7) +POSIX 1003.2, sections 2.8 (Regular Expression Notation) +および +B.5 (C Binding for Regular Expression Matching) +.SH 診断 +以下は、 +.I regcomp +と +.I regexec +のゼロでないエラーコードです。 +.PP +.nf +.ta \w'REG_ECOLLATE'u+3n +REG_NOMATCH regexec() の一致でエラーが発生 +REG_BADPAT 正規表現が正しくない +REG_ECOLLATE 照合するエレメントが正しくない +REG_ECTYPE キャラクタクラスが正しくない +REG_EESCAPE エスケープ以外のキャラクタに \e が付いている +REG_ESUBREG バックリファレンス番号が正しくない +REG_EBRACK 括弧 [ ] の数が合わない +REG_EPAREN 括弧 ( ) の数が合わない +REG_EBRACE 括弧 { } の数が合わない +REG_BADBR { } の反復数が正しくない +REG_ERANGE [ ] のキャラクタ範囲が正しくない +REG_ESPACE メモリ不足 +REG_BADRPT ?, *, + オペランドが正しくない +REG_EMPTY 空の表現かサブ表現 +REG_ASSERT ``ありえない''、つまりバグ +REG_INVARG 引数が正しくない ( 負の長さのストリングなど ) +.fi +.SH 歴史 +最初の作者は Henry Spencer です。 +.BA 4.4 +の配布に含めるために変更されました。 +.SH バグ +アルファリリースであるため、欠陥のあることが知られています。 +問題がある場合は報告してください。 +.PP +機能的なバグとして知られているものに、国際化のシステムが +不完全であるということがあります。 1003.2 のデフォルトロケールが常に +仮定されるので、そのロケールの照合エレメントなどしか使用できません。 +.PP +バックリファレンスコードは微妙で、複雑な場合はその正確さに疑問が +残ります。 +.PP +.I regexec +のパフォーマンスは低くなっています。後のリリースでは +改善されますが、 +.I nmatch +が 0 を越えるとコストがかかり、 1 を越えると状況はさらに悪化します。 +.I regexec +は、バックリファレンスに多くのコストがかかる場合を除き、 +RE の複雑さには大きく影響されません。問題は RE の長さで、 +特殊文字を 2 倍として計算し、RE の長さを約 30 キャラクタに +収めると、処理は速くなります。 +.PP +.I regcomp +は、マクロ拡張で制限付き反復を実現しています。制限付き反復には、 +数が大きい場合、または制限付き反復がネストされている場合、長い +時間と多くのスペースが必要です。たとえば +`((((a{1,100}){1,100}){1,100}){1,100}){1,100}' +のような RE では、最終的にほとんどのマシンでスワップスペースが不足します。 +.PP +はっきりとしないエラー条件へのリスポンスにも問題があるようです。 +非常に大きな RE か複雑にネストした制限付き反復で引き起こされる、特定の内部 +オーバフローは、適切に処理されないことがあります。 +.PP +1003.2 の誤りにより、一致しない `(' が前にある場合にのみ `)' が +特殊文字になるので、`a)b' のようなものが正しい RE になってしまいます。 +この問題は、仕様が修正されるまで修正されません。 +.PP +バックリファレンスに関する、標準の定義は曖昧になっています。 +たとえば +`a\e(\e(b\e)*\e2\e)*d' が `abbbd' と一致してしまうのです。標準が +明確になるまで、このような場合の動作は信頼すべきではありません。 +.PP +ワード境界マッチングのシステムは多少あいまいで、ワード境界マッチング +とアンカの組み合わせにはバグが潜んでいる可能性があります。 diff --git a/ja_JP.eucJP/man/man3/regexp.3 b/ja_JP.eucJP/man/man3/regexp.3 new file mode 100644 index 0000000000..01c271daef --- /dev/null +++ b/ja_JP.eucJP/man/man3/regexp.3 @@ -0,0 +1,256 @@ +.\" Copyright (c) 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. +.\" +.\" @(#)regexp.3 8.1 (Berkeley) 6/4/93 +.\" +.Dd June 4, 1993 +.Dt REGEXP 3 +.Os +.Sh 名称 +.Nm regcomp , +.Nm regexec , +.Nm regsub , +.Nm regerror +.Nd 正規表現ハンドラ +.Sh 書式 +.Fd #include +.Ft regexp * +.Fn regcomp "const char *exp" +.Ft int +.Fn regexec "const regexp *prog" "const char *string" +.Ft void +.Fn regsub "const regexp *prog" "const char *source" "char *dest" +.Sh 解説 +このインタフェースは、 +.Xr regex 3 +で置き換えられました。これは、互換性ライブラリ libcompat から使用できます。 +.Pp +.Fn regcomp , +.Fn regexec , +.Fn regsub , +.Fn regerror +は +.Xr egrep 1 +スタイルの正規表現とサポート機能を実現しています。 +.Pp +.Fn regcomp +は、正規表現を +.Fn regexp +タイプの構造体にコンパイルし、その構造体のポインタを戻します。スペース +は +.Xr malloc 3 +で割り振られ、 +.Xr free +で解放されます。 +.Pp +.Fn regexec +関数は、 +.Dv NULL +で終わる +.Fa string +を +.Fa prog +のコンパイル済み正規表現と突き合わせます。問題がない場合は 1を戻し、問 +題がある場合は 0を戻します。また、 +.Fa prog +の +.Em startp +と +.Em endp +(下記参照)の内容を調整します。 +.Pp +.Fn regexp +構造体のメンバーには、最低でも以下が必要です。順番は関係ありません。 +.Bd -literal -offset indent +char *startp[NSUBEXP]; +char *endp[NSUBEXP]; +.Ed +.Pp +.Dv NSUBEXP +は、ヘッダファイルで 10に定義されています。 +.Fn regexp +を使用して +.Fn regexec +が問題なく実行されると、 +.Em startp +と +.Em endp +の各ペアは、 +.Fa string +のサブストリングを表します。 +.Em startp +はサブストリングの第 1キャラクタを指し、 +.Em endp +はサブストリングの次の第 1キャラクタを指します。0番目のサブストリング +は、正規表現全体と一致する +.Fa string +のサブストリングです。その他は、正規表現の括弧で囲まれた表現と一致する +サブストリングです。括弧で囲まれた表現には、左括弧の左から右の次数で番 +号が付きます。 +.Pp +.Fn regsub +関数は、 +.Fa prog +を使用して最後に実行した +.Fn regexec +に従って置き換えを行ないながら、 +.Fa source +を +.Fa dest +にコピーします。 +.Fa source +の `&' の各インスタンスは、 +.Em startp Ns Bq +と +.Em endp Ns Bq +で示されるサブストリングで置き換えられます。 +.Sq \e Ns Em n +の各インスタンス(nは数字)は、 +.Em startp Ns Bq Em n +と +.Em endp Ns Bq Em n +で示されるサブストリングで置き換えられます。リテラル `&' や +.Sq \e Ns Em n +を +.Fa dest +に配置するには、そのリテラルの前に `\e' を配置します。`&'や +.Sq \e Ns Em n +の前にリテラル `\e' を付けるには、その前に `\e' をもう 1つ付けます。 +.Pp +.Fn regerror +関数は、 +.Fn regcomp , +.Fn regexec , +.Fn regsub +でエラーが検出されると常に呼び出されます。デフォルトの +.Fn regerror +は、原因の適切なインジケータを使用し、ストリング +.Fa msg +を標準エラー出力に書き込んで +.Xr exit 2 +を呼び出します。その他のアクションが望ましい場合、ユーザは +.Fn regerror +関数を別のものと置き換えられます。 +.Sh 正規表現シンタックス +正規表現は、`|' で区切られた、 0以上のブランチです。ブランチの 1つと +一致するものと一致します。 +.Pp +ブランチは、 0以上の連結したピースです。最初に一致したものと一致した +後で、次に一致したものと一致します。 +.Pp +ピースは、`*' , `+' , `?' が続くことがあるアトムです。 +`*' が続くアトムは、アトムの 0以上の一致のシーケンスと一致します。 +`+' が続くアトムは、アトムの 1以上の一致のシーケンスと一致します。 +`?' が続くアトムは、アトムの一致、または null ストリングと一致します。 +.Pp +アトムは、括弧で囲まれた正規表現(正規表現の一致と一致する)、範囲(下記 +参照)、`.' ( 1キャラクタと一致する)、`^' (入力ストリングの最初の null +ストリングと一致する)、`$' (入力ストリングの最後の null ストリングと一 +致する)、1 キャラクタが続く `\e' (そのキャラクタと一致する)、その他の +意味がない 1キャラクタ(そのキャラクタと一致する)です。 +.Pp +範囲は、`[]' で囲まれたキャラクタのシーケンスです。通常は、そのシーケ +ンスの 1キャラクタと一致します。シーケンスが `^' で始まる場合は、シー +ケンスの残りのキャラクタではない 1キャラクタと一致します。シーケンスの +2つのキャラクタが `\-' で区切られている場合、これは、その 2キャラクタ +に挟まれた +.Tn ASCII +キャラクタのリストを表します(たとえば `[0-9]' は、任意の十進数と一致し +ます)。シーケンスにリテラル `]'を組み込むには、それを最初のキャラクタ +にします( `^' がある場合はその次のキャラクタにします)。リテラル `\-' +を組み込むには、最初か最後のキャラクタにします。 +.Sh あいまい性 +正規表現が入力ストリングの 2つの部分と一致する場合は、最初のものと一致 +します。両方が同じ場所で始まっているが長さが異なる場合、または長さが +同じで別々の場所で始まっている場合、現実は以下のように複雑になります。 +.Pp +一般的に、ブランチのリストの実現性は左から右に考慮されます。`*', `+', +`?' の実現性は長いものから考慮されます。ネストされたコンストラクトは外 +側から考慮されます。連結されたコンストラクトは左から考慮されます。 選 +択される一致は、最初の選択肢の最初の実現性を使用するものとなります。 +選択肢が複数ある場合は、最初の決定に従って、次が同じ方法(最初の実現性) +で行なわれます。残りも同じようになります。 +.Pp +たとえば +.Sq Li (ab|a)b*c +が `abc' と一致する方法には 2つあります。最初の選択肢は、`ab' と `a' +の間です。`ab' が先で、問題ない一致全体をリードするので、これが選択さ +れます。`b' はすでに選択されているので、`b*' は最後の実現性(空ストリン +グ)と一致します。先の選択肢を考慮する必要があるからです。 +.Pp +`|' が存在せず、`*' , `+', `?' が 1つだけ存在する場合は、最も長い一致 +が選択される結果となります。`xabbbby' で提供された `ab*' は、`abbbb' +と一致します。`ab*' が `xabyabbbz' で試されると、最初のものが選択され +るので、`x' の後の `ab' と一致することに注意してください。(実際には、 +一致を始める場所の決定が最初の選択肢なので、後の選択肢では、優先順位が +低い代案がリードしていてもそれを考慮する必要があります。) +.Sh 戻り値 +.Fn regcomp +関数は、シンタックスエラー、システム制限の超越、 +.Dv NULL +オペランドへの `+' や `*' の適用などのエラーが発生した場合は +.Dv NULL +を戻します( +.Fn regerror +が開始されます)。 +.Sh 関連項目 +.Xr ed 1 , +.Xr egrep 1 , +.Xr ex 1 , +.Xr expr 1 , +.Xr fgrep 1 , +.Xr grep 1 , +.Xr regex 3 +.Sh 歴史 +.Fn regcomp , +.Fn regexec , +.Fn regsub , +.Fn regerror +のコードとマニュアルページは、トロント大学で作成され、 +.Bx 4.3-Tahoe +に追加されました。Bell V8 +.Xr regexp 3 +と互換性を保つようになっていますが、Bell コードから派生したものではあ +りません。 +.Sh バグ +空のブランチと空の正規表現は、V8 と互換性はありません。 +.Pp +.Dv NULL +オペランドに `*' か `+' を適用することに課せられる制限は、システムを単 +純にするためのものです。 +.Pp +.Xr egrep +の改行で区切られたブランチはサポートされていません。V8 +.Xr regexp 3 +でもサポートされていません。 +.Pp +簡潔さと単純さを強調したため、それほど速くありません。単純なケースを +速く処理することに注意が向けられています。 diff --git a/ja_JP.eucJP/man/man3/remove.3 b/ja_JP.eucJP/man/man3/remove.3 new file mode 100644 index 0000000000..a62e3723ac --- /dev/null +++ b/ja_JP.eucJP/man/man3/remove.3 @@ -0,0 +1,75 @@ +.\" Copyright (c) 1990, 1991, 1993 +.\" 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. +.\" +.\" @(#)remove.3 8.1 (Berkeley) 6/4/93 +.\" +.Dd June 4, 1993 +.Dt REMOVE 3 +.Os +.Sh 名称 +.Nm remove +.Nd ディレクトリエントリの削除 +.Sh 書式 +.Fd #include +.Ft int +.Fn remove "const char *path" +.Sh 解説 +.Fn remove +関数は、 +.Xr unlink 2 +システムコールのエイリアスで、 +.Fa path +が参照するファイルを削除します。 +.Sh 戻り値 +問題なく終了すると、 +.Fn remove +は 0を戻します。問題がある場合は \-1 を戻し、そのエラーを示す値にグロー +バル変数 +.Va errno +を設定します。 +.Sh エラー +.Fn remove +関数がエラーとなると、ルーチン +.Xr unlink 2 +で指定されているエラーに +.Va errno +が設定されます。 +.Sh 関連項目 +.Xr unlink 2 +.Sh 規格 +.Fn remove +関数は、 +.St -ansiC +に準拠しています。 diff --git a/ja_JP.eucJP/man/man3/resolver.3 b/ja_JP.eucJP/man/man3/resolver.3 new file mode 100644 index 0000000000..fe63c2ea8d --- /dev/null +++ b/ja_JP.eucJP/man/man3/resolver.3 @@ -0,0 +1,317 @@ +.\" Copyright (c) 1985, 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. +.\" +.\" @(#)resolver.3 8.1 (Berkeley) 6/4/93 +.\" +.Dd June 4, 1993 +.Dt RESOLVER 3 +.Os BSD 4.3 +.Sh 名称 +.Nm res_query , +.Nm res_search , +.Nm res_mkquery , +.Nm res_send , +.Nm res_init , +.Nm dn_comp , +.Nm dn_expand +.Nd リゾルバルーチン +.Sh 書式 +.Fd #include +.Fd #include +.Fd #include +.Fd #include +.Ft int +.Fo res_query +.Fa "const char *dname" +.Fa "int class" +.Fa "int type" +.Fa "u_char *answer" +.Fa "int anslen" +.Fc +.Ft int +.Fo res_search +.Fa "const char *dname" +.Fa "int class" +.Fa "int type" +.Fa "u_char *answer" +.Fa "int anslen" +.Fc +.Ft int +.Fo res_mkquery +.Fa "int op" +.Fa "const char *dname" +.Fa "int class" +.Fa "int type" +.Fa "const u_char *data" +.Fa "int datalen" +.Fa "const u_char *newrr_in" +.Fa "u_char *buf" +.Fa "int buflen" +.Fc +.Ft int +.Fo res_send +.Fa "const u_char *msg" +.Fa "int msglen" +.Fa "u_char *answer" +.Fa "int anslen" +.Fc +.Ft int +.Fn res_init +.Fo dn_comp +.Fa "const char *exp_dn" +.Fa "u_char *comp_dn" +.Fa "int length" +.Fa "u_char **dnptrs" +.Fa "u_char **lastdnptr" +.Fc +.Ft int +.Fo dn_expand +.Fa "const u_char *msg" +.Fa "const u_char *eomorig" +.Fa "const u_char *comp_dn" +.Fa "char *exp_dn" +.Fa "int length" +.Fc +.Sh 解説 +このルーチンは、インターネットドメインネームサーバを使用し、クエリと +応答メッセージの作成、送信、解釈を行ないます。 +.Pp +リゾルバルーチンが使用するグローバル設定と状態の情報は、構造体 +.Em _res +に保存されます。ほとんどの値は、適切なデフォルトになっているので無視で +きます。 +.Em _res.options +に保存されているオプションは、 +.Pa resolv.h +で以下のように定義されています。オプションは、有効なオプションのビット +ワイズ論理和を含む、単純なビットマスクとして保存されています。 +.Bl -tag -width RES_DEFNAMES +.It Dv RES_INIT +初期ネームサーバアドレスとデフォルトドメイン名が初期化されている場合は +真です( +.Fn res_init +が呼び出された場合など)。 +.It Dv RES_DEBUG +デバッグメッセージを出力します。 +.It Dv RES_AAONLY +信頼できる応答のみを受け入れます。このオプションを使用した場合は、信頼 +できる応答かエラーが見つかるまで +.Fn res_send +を続ける必要があります。現在のところ、これは実現されていません。 +.It Dv RES_USEVC UDP +データグラムの代わりに +.Tn TCP +接続をクエリに使用します。 +.It DV RES_STAYOPEN +.Dv RES_USEVC +とともに使用し、クエリ間で +.Tn TCP +接続を開いたままに保ちます。多くのクエリを定期的に行なうプログラムのみ +で便利です。 +.Tn UDP +は通常モードである必要があります。 +.It Dv RES_IGNTC +現在は使用されません(TCPで再試行しないなど、トランケーションエラーを無 +視)。 +.It Dv RES_RECURSE +クエリの反復要求ビットを設定します。これがデフォルトです。( +.Fn res_send +は反復クエリを行なわず、ネームサーバが反復を処理することを期待します。) +.It Dv RES_DEFNAMES +設定すると、 +.Fn res_search +がシングルコンポーネント名(ドットを含まない名前)にデフォルトのドメイン +名を追加するようになります。このオプションはデフォルトで有効になってい +ます。 +.It Dv RES_DNSRCH +このオプションを設定すると、 +.Fn res_search +が、現在のドメインと親ドメインでホスト名を検索するようになります。 +.Xr hostname 7 +を参照してください。これは、標準ホスト検索ルーチン +.Xr gethostbyname 3 +によって使用されます。このオプションはデフォルトで有効になっています。 +.It Dv NOALIASES +このオプションは、 +.Dq Ev HOSTALIASES +環境変数が制御するユーザレベルエイリアシング機能を無効にします。ネット +ワークデーモンでは、このオプションを設定する必要があります。 +.El +.Pp +.Fn res_init +ルーチンは、設定ファイルを読み込み(設定ファイルが存在する場合。 +.Xr Resolver 5 +参照)、デフォルトドメイン名、検索リスト、ローカルネームサーバのインター +ネットアドレスを入手します。サーバが設定されていない場合は、リゾルバを +実行しているホストが試されます。現在のドメイン名は、設定ファイルで指定 +されていない場合、ホスト名で定義されますが、環境変数 +.Ev LOCALDOMAIN +で上書きされることがあります。検索リストをプロセスごとに上書きする場合 +は、ブランクで区切られた複数のトークンをこの環境変数に含めます。これは、 +設定ファイルの +.Em search +コマンドに似ています。別の環境変数 +.Dq Ev RES_OPTIONS +を設定すれば、特定の内部リゾルバオプションを上書きできます。内部リゾル +バオプションは、上書きされなければ、 +.Em _res +構造体のフィールドを変更することで設定されるか、設定ファイルの +.Em options +コマンドから継承されます。 +.Dq Ev RES_OPTIONS +環境変数のシンタックスについては、 +.Xr resolver 5 +を参照してください。通常の場合、初期化は以下のルーチンを初めて呼び出し +たときに実行されます。 +.Pp +.Fn res_query +関数は、サーバクエリメカニズムのインタフェースを提供するもので、クエリ +の作成、作成されたクエリのローカルサーバへの送信、リスポンスの待機、応 +答の予備チェックを行ないます。クエリは、指定された完全に適格なドメイン +名 +.Fa dname +で、指定された +.Fa type +と +.Fa class +の情報を要求します。応答メッセージは、 +.Fa answer +バッファに残され、呼び出し側が指定する +.Fa anslen +の長さになっています。 +.Pp +.Fn res_search +ルーチンは、 +.Fn res_query +と同じようにクエリの作成とリスポンスの待機を行ないますが、 +.Dv RES_DEFNAMES +と +.Dv RES_DNSRCH +オプションが制御するデフォルトと検索規則も実現します。最初の問題がない +応答が戻されます。 +.Pp +残りのルーチンは、 +.Fn res_query +が使用する低レベルルーチンです。 +.Fn res_mkquery +関数は、標準クエリメッセージを作成して +.Fa buf +に配置し、クエリのサイズを戻します。クエリが +.Fa buflen +より長い場合は \-1 を戻します。クエリタイプ +.Fa op +は、通常の場合 +.Dv QUERY +ですが、 +.Aq Pa arpa/nameser.h +で定義されているクエリタイプにできます。クエリのドメイン名は +.Fa dname +で指定します。 +.Fa Newrr +は現在使用されていませんが、更新メッセージを作成するためのものです。 +.Pp +.Fn res_send +ルーチンは、事前フォーマット済みクエリを送信し、応答を戻します。 +.Dv RES_INIT +が設定されていない場合は +.Fn res_init +を呼び出します。ローカルネームサーバへのクエリの送信、およびタイムアウ +トと再試行の処理も行ないます。応答メッセージの長さを戻しますが、エラー +がある場合は \-1 を戻します。 +.Pp +.Fn dn_comp +関数は、ドメイン名 +.Fa exp_dn +を圧縮し、 +.Fa comp_dn +に保存します。圧縮された名前のサイズを戻しますが、エラーがある場合は +\-1 を戻します。 +.Fa comp_dn +が指す配列のサイズは +.Fa length +で指定します。圧縮では、現在のメッセージで以前に圧縮された名前を指すポ +インタ +.Fa dnptrs +の配列を使用します。最初のポインタはメッセージの最初を指し、リストは +.Dv NULL +で終わります。配列の制限は +.Fa lastdnptr +で指定します。 +.Fn dn_comp +の副作用は、名前が圧縮されたときにメッセージに挿入されるラベルのポイン +タのリストが更新されることです。 +.Em dnptr +が +.Dv NULL +である場合、名前は圧縮されません。 +.Fa lastdnptr +が +.Dv NULL +である場合、ラベルのリストは更新されません。 +.Pp +.Fn dn_expand +エントリは、圧縮されたドメイン名 +.Fa comp_dn +を完全ドメイン名に展開します。圧縮された名前は、クエリか応答メッセージに +含まれます。 +.Fa msg +は、メッセージの最初を指すポインタです。展開された名前は、 +.Fa exp_dn +が示すバッファに配置されます。バッファのサイズは +.Fa length +です。圧縮された名前のサイズが戻されますが、エラーがある場合は \-1 が +戻されます。 +.Sh 関連ファイル +.Bl -tag -width Pa +/etc/resolv.conf +設定ファイル。 +.Xr resolver 5 +を参照してください。 +.El +.Sh 関連項目 +.Xr gethostbyname 3 , +.Xr resolver 5 , +.Xr hostname 7 , +.Xr named 8 +.Pp +.%T RFC1032 , +.%T RFC1033 , +.%T RFC1034 , +.%T RFC1035 , +.%T RFC974 +.Rs +.%T "Name Server Operations Guide for BIND" +.Re +.Sh 歴史 +.Fn res_query +関数は、 +.Bx 4.3 +に追加されました。 diff --git a/ja_JP.eucJP/man/man3/rexec.3 b/ja_JP.eucJP/man/man3/rexec.3 new file mode 100644 index 0000000000..6298db1ddf --- /dev/null +++ b/ja_JP.eucJP/man/man3/rexec.3 @@ -0,0 +1,116 @@ +.\" Copyright (c) 1983, 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. +.\" +.\" @(#)rexec.3 8.1 (Berkeley) 6/4/93 +.\" +.Dd June 4, 1993 +.Dt REXEC 3 +.Os BSD 4.2 +.Sh 名称 +.Nm rexec +.Nd リモートコマンドにストリームを戻す +.Sh 書式 +.Ft int +.Fn rexec "char **ahost" "int inport" "char *user" "char *passwd" "char *cmd" "int *fd2p" +.Sh 解説 +.Bf -symbolic +このインタフェースは、krcmd(3) に置き換えられました。互換性ライブラリ +libcompat から使用できます。 +.Ef +.Pp +.Fn rexec +関数は +.Xr gethostbyname 3 +を使用してホスト +.Fa *ahost +を検索し、ホストが存在しない場合は \-1 を戻します。ホストが存在する場 +合は、ホストの標準名に +.Fa *ahost +を設定します。ユーザ名とパスワードの両方が指定されている場合は、この情 +報を使用して外部ホストに認証します。ユーザ名とパスワードが指定されてい +な場合は、ホームディレクトリの環境とユーザの +.Pa .netrc +ファイルを検索して適切な情報を特定します。このすべてがエラーとなった場 +合は、情報を入力するようにユーザに要求します。 +.Pp +ポート +.Fa inport +は、接続に使用する、既知の +.Tn DARPA +インターネットポートを指定します。 +.Ql getservbyname(\\*qexec\\*q,\\*qtcp\\*q) +を呼び出すと( +.Xr getservent 3 +参照)、必要なポートを含む構造体のポインタが戻されます。接続のプロトコ +ルについては、 +.Xr rexecd 8 +を参照してください。 +.Pp +問題なく接続されると、 +.Dv SOCK_STREAM +タイプのインターネットドメインのソケットが呼び出し側に戻され、 +.Em stdin +と +.Em stdout +としてリモートコマンドに指定されます。 +.Fa fd2p +が 0以外である場合は、制御プロセスの補助チャンネルが設定され、その記述 +子が +.Fa *fd2p +に配置されます。制御プロセスは、このチャンネルのコマンド(ユニット 2)か +ら診断出力を戻し、このチャンネルのバイトを +.Tn UNIX +信号番号として受け入れ、コマンドのプロセスグループに転送します。戻される +診断情報には、認証が確認されてから第 2接続が設定されるので、リモート認証 +エラーが含まれません。 +.Fa fd2p +が 0である場合は、 +.Em stderr +(リモートコマンドのユニット 2)が +.Em stdout +と同じように作成されます。バンド外データを使用して注目を集められますが、 +リモートプロセスに補助信号を送信する準備は行なわれません。 +.Sh 関連項目 +.Xr rcmd 3 , +.Xr rexecd 8 +.Sh 歴史 +.Fn rexec +関数は +.Bx 4.2 +に追加されました。 +.Sh バグ +.Fn rexec +関数は、暗号化されていないパスワードをネットワークで送信します。 +.Pp +基礎となるサービスは、セキュリティの大きな問題があるとみなされているた +め、多くのサイトでは有効になっていません。 +.Xr rexecd 8 +を参照してください。 diff --git a/ja_JP.eucJP/man/man3/rindex.3 b/ja_JP.eucJP/man/man3/rindex.3 new file mode 100644 index 0000000000..82291ab0d0 --- /dev/null +++ b/ja_JP.eucJP/man/man3/rindex.3 @@ -0,0 +1,79 @@ +.\" Copyright (c) 1990, 1991, 1993 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" This code is derived from software contributed to Berkeley by +.\" Chris Torek. +.\" 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. +.\" +.\" @(#)rindex.3 8.1 (Berkeley) 6/4/93 +.\" +.Dd June 4, 1993 +.Dt RINDEX 3 +.Os +.Sh 名称 +.Nm rindex +.Nd ストリングのキャラクタを特定 +.Sh 書式 +.Fd #include +.Ft char * +.Fn rindex "const char *s" "int c" +.Sh 解説 +.Fn rindex +関数は、null で終わるストリング +.Fa s +で +.Fa c +(キャラクタに変換)と最後に一致するキャラクタを特定します。 +.Sh 戻り値 +キャラクタが見つかった場合は、そのキャラクタのポインタが戻されます。 +見つからなかった場合は null が戻されます。 +.Fa c +が +.Ql \e0 +である場合、 +.Fn rindex +は最後の +.Ql \e0 +を特定します。 +.Sh 関連項目 +.Xr index 3 , +.Xr memchr 3 , +.Xr strchr 3 , +.Xr strcspn 3 , +.Xr strpbrk 3 , +.Xr strrchr 3 , +.Xr strsep 3 , +.Xr strspn 3 , +.Xr strstr 3 , +.Xr strtok 3 +.Sh 歴史 +.Fn rindex +関数は、 +.At v6 +に追加されました。 diff --git a/ja_JP.eucJP/man/man3/rint.3 b/ja_JP.eucJP/man/man3/rint.3 new file mode 100644 index 0000000000..2a7bd65a14 --- /dev/null +++ b/ja_JP.eucJP/man/man3/rint.3 @@ -0,0 +1,70 @@ +.\" Copyright (c) 1985, 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. +.\" +.\" from: @(#)rint.3 5.1 (Berkeley) 5/2/91 +.\" $Id: rint.3,v 1.1.1.1 1999-12-09 16:25:56 kuriyama Exp $ +.\" +.Dd March 10, 1994 +.Dt RINT 3 +.Os +.Sh 名称 +.Nm rint , +.Nm rintf +.Nd 浮動小数点形式で整数値に丸める +.Sh 書式 +.Fd #include +.Ft double +.Fn rint "double x" +.Ft float +.Fn rintf "float x" +.Sh 解説 +.Fn rint +関数と +.Fn rintf +関数は、現行の丸めモードに従い、 +.Fa x +に最も近い整数値 +( +倍精度数値か浮動精度数値として表現 +) +を戻します。 +.Sh 関連項目 +.Xr abs 3 , +.Xr ceil 3 , +.Xr fabs 3 , +.Xr floor 3 , +.Xr ieee 3 , +.Xr math 3 +.Sh 歴史 +.Fn rint +関数は、 +.At v6 +で登場しました。 diff --git a/ja_JP.eucJP/man/man3/rpc.3 b/ja_JP.eucJP/man/man3/rpc.3 new file mode 100644 index 0000000000..4080315e31 --- /dev/null +++ b/ja_JP.eucJP/man/man3/rpc.3 @@ -0,0 +1,1726 @@ +.\" @(#)rpc.3n 2.4 88/08/08 4.0 RPCSRC; from 1.19 88/06/24 SMI +.\" jpman %Id% +.\" +.TH RPC 3 "16 February 1988" +.SH 名称 +rpc \- リモートプロシージャコール用ライブラリルーチン +.SH 書式と解説 +このルーチンでは、C プログラムを使用して、 +ネットワークを通して別のマシンでプロシージャ呼び出しを実行できます。 +まずクライアントがプロシージャを呼び出し、 +データパケットをサーバに送信します。 +パケットを受け取ったサーバは、ディスパッチルーチンを呼び出し、 +要求されたサービスを実行してから応答を送り返します。 +最後に、プロシージャ呼び出しがクライアントに戻ります。 +.LP +Secure RPC (DES 認証) に使用するルーチンについては、 +.BR rpc_secure (3) +で説明します。 +Secure RPC は DES 暗号化が使用できる場合にのみ使用できます。 +.LP +.ft B +.nf +.sp .5 +#include +.fi +.ft R +.br +.if t .ne 8 +.LP +.ft B +.nf +.sp .5 +void +auth_destroy(auth) +\s-1AUTH\s0 *auth; +.fi +.ft R +.IP +.IR auth +に関連する認証情報を破壊するマクロです。 +一般的に、破壊にはプライベートデータ構造の解放も含まれます。 +.BR auth_destroy(\|) +を呼び出した後で +.I auth +を使用した結果は不定になります。 +.br +.if t .ne 6 +.LP +.ft B +.nf +.sp .5 +\s-1AUTH\s0 * +authnone_create(\|) +.fi +.ft R +.IP +各リモートプロシージャコールで使用できない認証情報を渡す +.SM RPC +認証ハンドルを作成して戻します。 +.SM RPC +は、この認証をデフォルトで使用します。 +.if t .ne 10 +.LP +.ft B +.nf +.sp .5 +\s-1AUTH\s0 * +authunix_create(host, uid, gid, len, aup_gids) +char *host; +int uid, gid, len, *aup.gids; +.fi +.ft R +.IP +認証情報を含む +.SM RPC +.UX +認証ハンドルを作成して戻します。 +パラメータ +.I host +は、情報を作成するマシンの名前です。 +.I uid +は、ユーザのユーザ +.SM ID +です。 +.I gid +は、ユーザの現行グループ +.SM ID +です。 +.I len +と +.I aup_gids +は、ユーザが属するグループの配列を表します。 +あるユーザになりすますことが容易です。 +.br +.if t .ne 5 +.LP +.ft B +.nf +.sp .5 +\s-1AUTH\s0 * +authunix_create_default(\|) +.fi +.ft R +.IP +適切なパラメータで +.B authunix_create(\|) +を呼び出します。 +.br +.if t .ne 13 +.LP +.ft B +.nf +.sp .5 +callrpc(host, prognum, versnum, procnum, inproc, in, outproc, out) +char *host; +u_long prognum, versnum, procnum; +char *in, *out; +xdrproc_t inproc, outproc; +.fi +.ft R +.IP +マシン +.IR host . +で +.IR prognum , +.IR versnum , +および +.I procnum +に関連するリモートプロシージャを呼び出します。 +パラメータ +.I in +は、プロシージャの引数アドレスで、 +.I out +は結果を配置するアドレスです。 +.I inproc +は、プロシージャのパラメータをデコードするために使用し、 +.I outproc +は、プロシージャの結果をデコードするために使用します。 +このルーチンは、問題がなければ 0 を戻し、 +問題がある場合は、正数を計算する +.B "enum clnt_stat" +の値を戻します。 +エラーステータスをメッセージに変換するには、ルーチン +.B clnt_perrno(\|) +が便利です。 +.IP +警告: このルーチンでリモートプロシージャを呼び出す場合は、 +.SM UDP/IP +がトランスポート層として使用されます。 +制限事項については、 +.B clntudp_create(\|) +を参照してください。 +このルーチンを使用した場合、タイムアウトや認証は制御できません。 +.br +.if t .ne 16 +.LP +.ft B +.nf +.sp .5 +enum clnt_stat +clnt_broadcast(prognum, versnum, procnum, inproc, in, outproc, out, eachresult) +u_long prognum, versnum, procnum; +char *in, *out; +xdrproc_t inproc, outproc; +resultproc_t eachresult; +.fi +.ft R +.IP +ローカルで接続されているすべてのブロードキャストネットに +呼び出しメッセージがブロードキャストされることを除けば、 +.BR callrpc(\|) , +と同じです。 +このルーチンは、応答を受け取るたびに、以下の形式の +.BR eachresult(\|) +を呼び出します。 +.IP +.RS 1i +.ft B +.nf +eachresult(out, addr) +char *out; +struct sockaddr_in *addr; +.ft R +.fi +.RE +.IP +.I out +は、リモートプロシージャの出力がデコードされることを除けば、 +.BR clnt_broadcast(\|) +に渡される +.I out +と同じです。 +.I addr +は、結果を送信するマシンのアドレスを指します。 +.B eachresult(\|) +が 0 を戻す場合、 +.B clnt_broadcast(\|) +は次の応答を待ちます。 +0 を戻さない場合は、適切なステータスで戻ります。 +.IP +警告: ブロードキャストソケットのサイズは、 +データリンクの最大転送単位に制限されています。 +イーサネットの場合、この値は 1500 バイトです。 +.br +.if t .ne 13 +.LP +.ft B +.nf +.sp .5 +enum clnt_stat +clnt_call(clnt, procnum, inproc, in, outproc, out, tout) +\s-1CLIENT\s0 *clnt; +u_long +procnum; +xdrproc_t inproc, outproc; +char *in, *out; +struct timeval tout; +.fi +.ft R +.IP +.BR clnt_create(\|) +などの +.SM RPC +クライアント作成ルーチンで入手した、クライアントハンドル +.IR clnt +に関連するリモートプロシージャ +.I procnum +を呼び出すマクロです。 +パラメータ +.I in +はプロシージャの引数のアドレスで、 +.I out +は結果を配置するアドレスです。 +.I inproc +はプロシージャのパラメータのデコードに使用し、 +.I outproc +はプロシージャの結果のデコードに使用します。 +.I tout +は、結果が戻るまでの時間です。 +.br +.if t .ne 7 +.LP +.ft B +.nf +.sp .5 +clnt_destroy(clnt) +\s-1CLIENT\s0 *clnt; +.fi +.ft R +.IP +クライアントの +.SM RPC +ハンドルを破壊するマクロです。 +通常の場合、破壊には、 +.I clnt +も含めたプライベートデータ構造の解放も含まれます。 +.BR clnt_destroy(\|) +を呼び出した後で +.I clnt +を使用した結果は不定になります。 +.SM RPC +ライブラリが関連ソケットを開いた場合はそれも閉じます。 +関連ソケットを開いていない場合、ソケットは開いたまま残ります。 +.br +.if t .ne 10 +.LP +.ft B +.nf +.sp .5 +\s-1CLIENT\s0 * +clnt_create(host, prog, vers, proto) +char *host; +u_long prog, vers; +char *proto; +.fi +.ft R +.IP +一般的なクライアント作成ルーチンです。 +.I host +は、サーバが配置されているリモートホストの名前を指定します。 +.I proto +は、使用する転送プロトコルの種類を指定します。 +このフィールドで現在サポートされている値は、 +\(lqudp\(rq と \(lqtcp\(rq です。 +タイムアウトはデフォルトが設定されていますが、 +.BR clnt_control(\|) +を使用して修正できます。 +.IP +警告: +.SM UDP +の使用には短所があります。 +.SM UDP +ベースの +.SM RPC +メッセージは、 +8 キロバイトのエンコード済みデータまでしか維持できないので、 +大きな引数を取るプロシージャや、 +大きな結果を戻すプロシージャでは使用できません。 +.br +.if t .ne 10 +.LP +.ft B +.nf +.sp .5 +bool_t +clnt_control(cl, req, info) +\s-1CLIENT\s0 *cl; +char *info; +.fi +.ft R +.IP +クライアントオブジェクトのさまざまな情報の変更や取り出しを行うマクロです。 +.I req +はオペレーションのタイプを指定し、 +.I info +は情報のポインタです。 +.SM UDP +と +.SM TCP\s0 +の両方でサポートされている +.I req +の値、引数タイプ、実行内容は以下の通りです。 +.IP +.nf +.ta +2.0i +2.0i +2.0i +.SM CLSET_TIMEOUT\s0 struct timeval 総タイムアウトの設定 +.SM CLGET_TIMEOUT\s0 struct timeval 総タイムアウトの入手 +.fi +.IP +注意: タイムアウトを +.BR clnt_control(\|) +で設定すると、 +.B clnt_call(\|) +に渡されるタイムアウトパラメータは、 +後のすべての呼び出しで無視されます。 +.IP +.nf +.SM CLGET_SERVER_ADDR\s0 struct sockaddr_in サーバのアドレスの入手 +.fi +.br +.IP +以下のオペレーションは +.SM UDP +のみで有効です。 +.IP +.nf +.ta +2.0i +2.0i +2.0i +.SM CLSET_RETRY_TIMEOUT\s0 struct timeval 再試行タイムアウトの設定 +.SM CLGET_RETRY_TIMEOUT\s0 struct timeval 再試行タイムアウトの入手 +.fi +.br +.IP +再試行タイムアウトは、サーバが応答してから要求を再送することを +.SM "UDP RPC" +が待機する時間です。 +.br +.if t .ne 10 +.LP +.ft B +.nf +.sp .5 +clnt_freeres(clnt, outproc, out) +\s-1CLIENT\s0 *clnt; +xdrproc_t outproc; +char *out; +.fi +.ft R +.IP +.SM RPC/XDR +システムが +.SM RPC +呼び出しの結果をデコードする場合に割り振ったデータを解放するマクロです。 +パラメータ +.I out +は結果のアドレスで、 +.I outproc +は結果を記述する +.SM XDR +ルーチンです。 +このルーチンは、結果が問題なく解放された場合は 1 を戻し、 +問題が発生した場合は 0 を戻します。 +.br +.if t .ne 6 +.LP +.ft B +.nf +.sp .5 +void +clnt_geterr(clnt, errp) +\s-1CLIENT\s0 *clnt; +struct rpc_err *errp; +.fi +.ft R +.IP +クライアントハンドルのエラー構造を、アドレス +.IR errp +の構造体にコピーするマクロです。 +.br +.if t .ne 8 +.LP +.ft B +.nf +.sp .5 +void +clnt_pcreateerror(s) +char *s; +.fi +.ft R +.IP +クライアント +.SM RPC +ハンドルを作成できない理由を表すメッセージを標準エラーに出力します。 +メッセージの最初には、文字列 +.I s +とコロンが付きます。 +これは、 +.BR clnt_create(\|) , +.BR clntraw_create(\|) , +.BR clnttcp_create(\|) , +または +.B clntudp_create(\|) +がエラーとなった場合に使用します。 +.br +.if t .ne 8 +.LP +.ft B +.nf +.sp .5 +void +clnt_perrno(stat) +enum clnt_stat stat; +.fi +.ft R +.IP +.IR stat +が示す条件に対応するメッセージを標準エラーに出力します。 +.BR callrpc(\|) +の後で使用してください。 +.br +.if t .ne 8 +.LP +.ft B +.nf +.sp .5 +clnt_perror(clnt, s) +\s-1CLIENT\s0 *clnt; +char *s; +.fi +.ft R +.IP +.SM RPC +呼び出しがエラーになった理由を示すメッセージを標準エラーに出力します。 +.I clnt +は、呼び出しの実行に使用したハンドルです。 +メッセージ最初には、文字列 +.I s +とコロンが付きます。 +.BR clnt_call(\|) +の後で使用してください。 +.br +.if t .ne 9 +.LP +.ft B +.nf +.sp .5 +char * +clnt_spcreateerror +char *s; +.fi +.ft R +.IP +標準エラーに出力する代わりに文字列を戻すことを除けば、 +.BR clnt_pcreateerror(\|) +と同じです。 +.IP +バグ: 各呼び出しで上書きされた静的データのポインタを戻します。 +.br +.if t .ne 9 +.LP +.ft B +.nf +.sp .5 +char * +clnt_sperrno(stat) +enum clnt_stat stat; +.fi +.ft R +.IP +.BR clnt_perrno(\|) +と同じ引数を取りますが、 +.SM RPC +呼び出しがエラーになった理由を示すメッセージを標準エラーに送信する代わりに、 +メッセージを含む文字列のポインタを戻します。 +文字列は改行で終わります。 +.IP +プログラムに標準エラーがない場合 +(サーバとして実行しているプログラムには標準エラーがないことが多い)、 +またはメッセージを +.BR printf +で出力する必要がない場合、 +あるいは +.B clnt_perrno(\|) +がサポートするもの以外のメッセージフォーマットを使用する場合は、 +.B clnt_perrno(\|) +の代わりに +.B clnt_sperrno(\|) +を使用します。 +.B clnt_sperror(\|) +と +.BR clnt_spcreaterror(\|) +とは異なり、 +.B clnt_sperrno(\|) +は静的データのポインタを戻しますが、 +結果は各呼び出しで上書きされないことに注意してください。 +.br +.if t .ne 7 +.LP +.ft B +.nf +.sp .5 +char * +clnt_sperror(rpch, s) +\s-1CLIENT\s0 *rpch; +char *s; +.fi +.ft R +.IP +.BR clnt_sperrno(\|) +と同じように、標準エラーに出力せずに文字列を戻すことを除けば、 +.BR clnt_perror(\|) +と同じです。 +.IP +バグ: 各呼び出しで上書きされた静的データのポインタを戻します。 +.br +.if t .ne 10 +.LP +.ft B +.nf +.sp .5 +\s-1CLIENT\s0 * +clntraw_create(prognum, versnum) +u_long prognum, versnum; +.fi +.ft R +.IP +リモートプログラム +.IR prognum , +バージョン +.IR versnum +のトイ +.SM RPC +クライアントを作成します。 +サービスにメッセージを渡す実際のトランスポートは、 +プロセスのアドレススペース内にあるバッファなので、 +対応する +.SM RPC +サーバは同じアドレススペースに存在する必要があります。 +.BR svcraw_create(\|) +を参照してください。 +これにより、 +.SM RPC +のシミュレーション、およびラウンドトリップタイムなど、 +.SM RPC +オーバヘッドの取得をカーネルの干渉なしに実行できます。 +このルーチンは、エラーが発生すると +.SM NULL +を戻します。 +.br +.if t .ne 15 +.LP +.ft B +.nf +.sp .5 +\s-1CLIENT\s0 * +clnttcp_create(addr, prognum, versnum, sockp, sendsz, recvsz) +struct sockaddr_in *addr; +u_long prognum, versnum; +int *sockp; +u_int sendsz, recvsz; +.fi +.ft R +.IP +リモートプログラム +.IR prognum , +バージョン +.IR versnum +の +.SM RPC +クライアントを作成します。 +クライアントは、トランスポートとして +.SM TCP/IP +を使用します。 +リモートプログラムは、インターネットアドレス +.IR *addr +にあります。 +.\"The following in-line font conversion is necessary for the hyphen indicator +\fB\%addr\->sin_port\fR +が 0 である場合は、 +リモートプログラムが注意を向ける実際のポートに設定されます。 +( +.B portmap +サービスはこの情報で調べられます)。 +パラメータ +.I sockp +はソケットです。このパラメータが +.BR \s-1RPC_ANYSOCK\s0 +である場合、このルーチンは新しいソケットを開いて +.IR sockp +を設定します。 +.SM TCP\s0 +ベースの +.SM RPC +はバッファによる +.SM I/O +を使用するので、ユーザはパラメータ +.I sendsz +と +.IR recvsz +で送信バッファと受信バッファのサイズを指定できます。 +値を 0 にすると、適切なデフォルトが選択されます。 +このルーチンは、エラーになると +.SM NULL +を戻します。 +.br +.if t .ne 15 +.LP +.ft B +.nf +.sp .5 +\s-1CLIENT\s0 * +clntudp_create(addr, prognum, versnum, wait, sockp) +struct sockaddr_in *addr; +u_long prognum, versnum; +struct timeval wait; +int *sockp; +.fi +.ft R +.IP +リモートプログラム +.IR prognum , +バージョン +.IR versnum +の +.SM RPC +クライアントを作成します。 +クライアントは、トランスポートとして +.SM UDP/IP +を使用します。 +リモートプログラムは、インターネットアドレス +.IR addr +にあります。 +\fB\%addr\->sin_port\fR +が 0 である場合は、 +リモートプログラムが注意を向ける実際のポートに設定されます +(リモート +.B portmap +サービスは、この情報で調べられます)。 +パラメータ +.I sockp +はソケットです。 +このパラメータが +.BR \s-1RPC_ANYSOCK\s0 +である場合、このルーチンは新しいソケットを開いて +.IR sockp +を設定します。 +.SM UDP +トランスポートは、応答を受け取るまで、 +または呼び出しがタイムアウトになるまで、 +.B wait +時間間隔で呼び出しメッセージを再送信します。 +呼び出しがタイムアウトとなる時間は、 +.BR clnt_call(\|) +で指定します。 +.IP +警告: +.SM UDP +ベースの +.SM RPC +メッセージは、 +8 キロバイトのエンコード済みデータまでしか維持できないので、 +大きな引数を取るプロシージャや +大きな結果を戻すプロシージャでは使用できません。 +.br +.if t .ne 8 +.LP +.ft B +.nf +.sp .5 +\s-1CLIENT\s0 * +clntudp_bufcreate(addr, prognum, versnum, wait, sockp, sendsize, recosize) +struct sockaddr_in *addr; +u_long prognum, versnum; +struct timeval wait; +int *sockp; +unsigned int sendsize; +unsigned int recosize; +.fi +.ft R +.IP +リモートプログラム +.IR prognum , +バージョン +.IR versnum +の +.SM RPC +クライアントを作成します。 +クライアントは、トランスポートとして +.SM UDP/IP +を使用します。 +リモートプログラムは、インターネットアドレス +.IR addr +にあります。 +\fB\%addr\->sin_port\fR +が 0 である場合は、 +リモートプログラムが注意を向ける実際のポートに設定されます +(リモート +.B portmap +サービスは、この情報で調べられます)。 +パラメータ +.I sockp +はソケットです。このパラメータが +.BR \s-1RPC_ANYSOCK\s0 +である場合、このルーチンは新しいソケットを開いて +.BR sockp +を設定します。 +.SM UDP +トランスポートは、応答を受け取るまで、 +または呼び出しがタイムアウトになるまで +.B wait +時間間隔で呼び出しメッセージを再送信します。 +呼び出しがタイムアウトになる時間は、 +.BR clnt_call(\|) +で指定します。 +.IP +ユーザは、 +.SM UDP +ベースの +.SM RPC +メッセージの送受信を行う、最大パケットサイズを指定できます。 +.br +.if t .ne 7 +.LP +.ft B +.nf +.sp .5 +int +get_myaddress(addr) +struct sockaddr_in *addr; +.fi +.ft R +.IP +.BR /etc/hosts +を処理するライブラリルーチンを参考にせず、マシンの +.SM IP +アドレスを +.IR *addr +に入れます。ポート番号は、常に +.BR htons(\s-1PMAPPORT\s0) +に設定されます。 +問題がない場合は 0 を戻し、問題がある場合は 0 以外を戻します。 +.br +.if t .ne 10 +.LP +.ft B +.nf +.sp .5 +struct pmaplist * +pmap_getmaps(addr) +struct sockaddr_in *addr; +.fi +.ft R +.IP +.B portmap +サービスのユーザインタフェースで、 +.SM IP +アドレス +.IR *addr +にあるホストの +.SM RPC +プログラムとポートの現行のマッピングのリストを戻します。 +このルーチンは +.SM NULL +を戻すことがあります。 +コマンド +.RB ` "rpcinfo \-p" ' +はこのルーチンを使用します。 +.br +.if t .ne 12 +.LP +.ft B +.nf +.sp .5 +u_short +pmap_getport(addr, prognum, versnum, protocol) +struct sockaddr_in *addr; +u_long prognum, versnum, protocol; +.fi +.ft R +.IP +.B portmap +サービスのユーザインタフェースで、 +プログラム番号 +.IR prognum , +バージョン +.IR versnum +をサポートするサービスを待ち、 +.IR protocol +に関連する転送プロトコルを表すポート番号を戻します。 +.I protocol +の値は、ほとんどの場合 +.B +.SM IPPROTO_UDP +か +.BR \s-1IPPROTO_TCP\s0 +です。マッピングが存在しない場合、または +.SM RPC +システムがリモート +.B portmap +サービスと接触できない場合、戻り値は 0 になります。 +.SM RPC +システムがリモート +.B portmap +サービスと接触できない場合、グローバル変数 +.B rpc_createerr(\|) +には +.SM RPC +ステータスが入ります。 +.br +.if t .ne 15 +.LP +.ft B +.nf +.sp .5 +enum clnt_stat +pmap_rmtcall(addr, prognum, versnum, procnum, inproc, in, outproc, out, tout, portp) +struct sockaddr_in *addr; +u_long prognum, versnum, procnum; +char *in, *out; +xdrproc_t inproc, outproc; +struct timeval tout; +u_long *portp; +.fi +.ft R +.IP +.B portmap +サービスのユーザインタフェースで、 +.SM IP +アドレス +.I *addr +のホストのプロシージャを +.SM RPC +呼び出しにするように、そのホストの +.B portmap +に命令します。 +プロシージャで問題が発生しない場合、パラメータ +.I *portp +はプログラムのポート番号に修正されます。 +その他のパラメータについては、 +.B callrpc(\|) +と +.BR clnt_call(\|) +を参照してください +このプロシージャは、\(lqping\(rq 以外で使用することはありません。 +.BR clnt_broadcast(\|) +も参照してください。 +.br +.if t .ne 9 +.LP +.ft B +.nf +.sp .5 +pmap_set(prognum, versnum, protocol, port) +u_long prognum, versnum, protocol; +u_short port; +.fi +.ft R +.IP +.B portmap +サービスのユーザインタフェースで、 +.RI [ prognum , versnum , protocol\fR] +の 3 つ、およびマシンの +.B portmap +サービスでの +.I port +の間にマッピングを確立します。 +.I protocol +の値は、ほとんどの場合 +.B +.SM IPPROTO_UDP +か +.BR \s-1IPPROTO_TCP\s0 +です。 +このルーチンは問題がないと 1 を戻し、問題がある場合は 0 を戻します。 +これは、 +.BR svc_register(\|) +で自動的に実行されます。 +.br +.if t .ne 7 +.LP +.ft B +.nf +.sp .5 +pmap_unset(prognum, versnum) +u_long prognum, versnum; +.fi +.ft R +.IP +.B portmap +サービスのユーザインタフェースで、 +.RI [ prognum , versnum , *\fR] +の 3 つ、および +.B portmap +サービスでの +.B port +の間に存在するマッピングをすべて破壊します。 +このルーチンは、問題がなければ 1 を戻し、問題がある場合は 0 を戻します。 +.br +.if t .ne 15 +.LP +.ft B +.nf +.sp .5 +registerrpc(prognum, versnum, procnum, procname, inproc, outproc) +u_long prognum, versnum, procnum; +char *(*procname) (\|) ; +xdrproc_t inproc, outproc; +.fi +.ft R +.IP +.SM RPC +サービスパッケージでプロシージャ +.I procname +を登録します。 +プログラム +.IR prognum , +バージョン +.IR versnum , +プロシージャ +.IR procnum +が要求されると、パラメータのポインタで +.I procname +が呼び出されます。 +.I progname +は、静的結果のポインタを戻します。 +.I inproc +はパラメータのデコードに使用され、 +.I outproc +は結果のエンコードに使用されます。 +このルーチンは、登録で問題が発生しなければ 0 を戻し、 +問題が発生したら \-1 を戻します。 +.IP +警告: この形式で登録されたリモートプロシージャは、 +.SM UDP/IP +トランスポートでアクセスされます。 +制限事項については +.B svcudp_create(\|) +を参照してください。 +.br +.if t .ne 5 +.LP +.ft B +.nf +.sp .5 +struct rpc_createerr rpc_createerr; +.fi +.ft R +.IP +エラーになった +.SM RPC +クライアント作成ルーチンで値が設定されるグローバル変数です。 +エラーの原因を出力するには、ルーチン +.B clnt_pcreateerror(\|) +を使用します。 +.if t .ne 7 +.LP +.ft B +.nf +.sp .5 +svc_destroy(xprt) +\s-1SVCXPRT\s0 * +xprt; +.fi +.ft R +.IP +.SM RPC +サービス転送ハンドル +.IR xprt +を破壊するマクロです。 +一般的に破壊処理には、 +.I xprt +も含むプライベートデータ構造の解放も含まれます。 +このルーチンを呼び出した後で +.I xprt +を使用した結果は不定となります。 +.br +.if t .ne 8 +.LP +.ft B +.nf +.sp .5 +fd_set svc_fdset; +.fi +.ft R +.IP +.SM RPC +サービスサイドの読み込みファイル記述子ビットマスクを表すグローバル変数です。 +.B select +システムコールのテンプレートパラメータとして最適です。 +サービスの設計者が +.BR svc_run(\|) +を呼び出さず、非同期のイベント処理を行う場合のみに重要です。 +この変数は読み込み専用ですが +(アドレスを +.BR select +に渡しませんが)、 +.B svc_getreqset(\|) +か作成ルーチンを呼び出した後で変更できます。 +.br +.BR FD_SETSIZE +を越える記述子の制限がプロセスにある場合、この変数は +.BR FD_SETSIZE +記述子でしか使用できないことに注意してください。 +.br +.if t .ne 6 +.LP +.ft B +.nf +.sp .5 +int svc_fds; +.fi +.ft R +.IP +.BR svc_fedset(\|) +に似ていますが、32 個の記述子に制限されています。 +このインターフェースは +.BR svc_fdset(\|) +で置き換えられました。 +.br +.if t .ne 9 +.LP +.ft B +.nf +.sp .5 +svc_freeargs(xprt, inproc, in) +\s-1SVCXPRT\s0 *xprt; +xdrproc_t inproc; +char *in; +.fi +.ft R +.IP +.SM RPC/XDR +システムが +.BR svc_getargs(\|) +を使用して引数をサービスプロシージャにデコードした場合に +割り振ったデータを解放するマクロです。 +このルーチンは、結果が問題なく解放されると 1 を戻し、 +問題が発生した場合は 0 を戻します。 +.br +.if t .ne 10 +.LP +.ft B +.nf +.sp .5 +svc_getargs(xprt, inproc, in) +\s-1SVCXPRT\s0 *xprt; +xdrproc_t inproc; +char *in; +.fi +.ft R +.IP +.SM RPC +サービス転送ハンドル +.IR xprt +に関連した +.SM RPC +要求の引数をデコードするマクロです。 +パラメータ +.I in +は、引数を配置する場所のアドレスです。 +.I inproc +は、引数をデコードする +.SM XDR +ルーチンです。 +このルーチンは、デコードで問題が発生しなければ 1 を戻し、 +問題が発生した場合は 0 を戻します。 +.br +.if t .ne 9 +.LP +.ft B +.nf +.sp .5 +struct sockaddr_in * +svc_getcaller(xprt) +\s-1SVCXPRT\s0 *xprt; +.fi +.ft R +.IP +.SM RPC +サービス転送ハンドル +.IR xprt +に関連するプロシージャの呼び出し側の +ネットワークアドレスを入手する確実な方法です。 +.br +.if t .ne 9 +.LP +.ft B +.nf +.sp .5 +svc_getreqset(rdfds) +fd_set *rdfds; +.fi +.ft R +.IP +このルーチンは、サービスの設計者が +.BR svc_run(\|) +を呼び出さず、独自の非同期イベント処理を実現する場合にのみ重要です。 +.SM RPC +要求が +.SM RPC +ソケットに到着したと +.B select +システムコールが判断した場合に呼び出されます。 +.I rdfds +は、作成された読み込み記述子ビットマスクです。 +このルーチンは、 +.I rdfds +の値に関連したすべてのソケットサービスを受けた場合に戻ります。 +.br +.if t .ne 6 +.LP +.ft B +.nf +.sp .5 +svc_getreq(rdfds) +int rdfds; +.fi +.ft R +.IP +.BR svc_getreqset(\|) +に似ていますが、32 個の記述子に制限されています。 +このインタフェースは +.BR svc_getreqset(\|) +で置き換えられました。 +.br +.if t .ne 17 +.LP +.ft B +.nf +.sp .5 +svc_register(xprt, prognum, versnum, dispatch, protocol) +\s-1SVCXPRT\s0 *xprt; +u_long prognum, versnum; +void (*dispatch) (\|); +u_long protocol; +.fi +.ft R +.IP +.I prognum +と +.I versnum +をサービスディスパッチプロシージャ +.IR dispatch +に関連付けます。 +.I protocol +が 0 である場合、サービスは +.B portmap +サービスで登録されません。 +.I protocol +が 0 以外である場合、 +.RI [ prognum , versnum , protocol\fR] +の 3 つと +\fB\%xprt\->xp_port\fR +のマッピングがローカル +.B portmap +サービスで確立されます +(一般的に +.I protocol +は 0 か +.B +.SM IPPROTO_UDP +か +.B +.SM IPPROTO_TCP +です)。 +プロシージャ +.I dispatch +の形式は以下の通りです。 +.RS 1i +.ft B +.nf +dispatch(request, xprt) +struct svc_req *request; +\s-1SVCXPRT\s0 *xprt; +.ft R +.fi +.RE +.IP +.B svc_register(\|) +ルーチンは、問題がなければ 1 を戻し、問題がある場合は 0 を戻します。 +.br +.if t .ne 6 +.LP +.ft B +.nf +.sp .5 +svc_run(\|) +.fi +.ft R +.IP +このルーチンは戻りません。 +.SM RPC +要求の到着を待ち、到着すると +.B svc_getreq(\|) +を使用して適切なサービスプロシージャを呼び出します。 +通常の場合、このプロシージャは、 +.B select(\|) +システムコールが戻るのを待ちます。 +.br +.if t .ne 9 +.LP +.ft B +.nf +.sp .5 +svc_sendreply(xprt, outproc, out) +\s-1SVCXPRT\s0 *xprt; +xdrproc_t outproc; +char *out; +.fi +.ft R +.IP +.SM RPC +サービスのディスパッチルーチンで呼び出され、 +リモートプロシージャコールの結果を送信します。 +パラメータ +.I xprt +は要求の関連転送ハンドルです。 +.I outproc +は、結果のエンコードに使用する +.SM XDR +ルーチンです。 +.I out +は結果のアドレスです。 +このルーチンは、問題がなければ 1 を戻し、問題がある場合は 0 を戻します。 +.br +.if t .ne 7 +.LP +.ft B +.nf +.sp .5 +void +svc_unregister(prognum, versnum) +u_long prognum, versnum; +.fi +.ft R +.IP +.RI [ prognum , versnum ] +の 2 つとディスパッチルーチンのマッピング、および +.RI [ prognum , versnum , *\fR] +の 3 つとポート番号のマッチングをすべて削除します。 +.br +.if t .ne 9 +.LP +.ft B +.nf +.sp .5 +void +svcerr_auth(xprt, why) +\s-1SVCXPRT\s0 *xprt; +enum auth_stat why; +.fi +.ft R +.IP +認証エラーのために、リモートプロシージャコールの実行を拒否する +サービスディスパッチルーチンが呼び出します。 +.br +.if t .ne 7 +.LP +.ft B +.nf +.sp .5 +void +svcerr_decode(xprt) +\s-1SVCXPRT\s0 *xprt; +.fi +.ft R +.IP +パラメータを問題なくデコードできない +サービスディスパッチルーチンが呼び出します。 +.BR svc_getargs(\|) +も参照してください。 +.br +.if t .ne 7 +.LP +.ft B +.nf +.sp .5 +void +svcerr_noproc(xprt) +\s-1SVCXPRT\s0 *xprt; +.fi +.ft R +.IP +呼び出し側が要求したプロシージャ番号を +実現しないサービスディスパッチルーチンが呼び出します。 +.br +.if t .ne 7 +.LP +.ft B +.nf +.sp .5 +void +svcerr_noprog(xprt) +\s-1SVCXPRT\s0 *xprt; +.fi +.ft R +.IP +目的のプログラムが +.SM RPC +パッケージで登録されていない場合に呼び出されます。 +サービスの設計者には、通常の場合このルーチンは必要ありません。 +.br +.if t .ne 7 +.LP +.ft B +.nf +.sp .5 +void +svcerr_progvers(xprt) +\s-1SVCXPRT\s0 *xprt; +.fi +.ft R +.IP +プログラムの目的のバージョンが +.SM RPC +パッケージで登録されていない場合に呼び出されます。 +サービスの設計者には、通常の場合このルーチンは必要ありません。 +.br +.if t .ne 7 +.LP +.ft B +.nf +.sp .5 +void +svcerr_systemerr(xprt) +\s-1SVCXPRT\s0 *xprt; +.fi +.ft R +.IP +サービスディスパッチルーチンが、 +特定プロトコルでカバーされていないシステムエラーを検出した場合に呼び出します。 +たとえばサービスが記憶域を割り振れない場合は、 +このルーチンが呼び出されます。 +.br +.if t .ne 8 +.LP +.ft B +.nf +.sp .5 +void +svcerr_weakauth(xprt) +\s-1SVCXPRT\s0 *xprt; +.fi +.ft R +.IP +認証パラメータが足りないために、 +リモートプロシージャコールの実行を拒否する +サービスディスパッチルーチンが呼び出します。 +このルーチンは、 +.BR "svcerr_auth(xprt, \s-1AUTH_TOOWEAK\s0)" +を呼び出します。 +.br +.if t .ne 11 +.LP +.ft B +.nf +.sp .5 +\s-1SVCXPRT\s0 * +svcraw_create(\|) +.fi +.ft R +.IP +ポインタを戻すためのトイ +.SM RPC +クライアントを作成します。 +実際のトランスポートは、 +プロセスのアドレススペース内にあるバッファなので、対応する +.SM RPC +クライアントは同じアドレススペースに存在する必要があります。 +.BR clntraw_create(\|) +を参照してください。 +このルーチンにより、 +.SM RPC +のシミュレーション、およびラウンドトリップタイムなど、 +.SM RPC +オーバヘッドの取得をカーネルの干渉なしに実行できます。 +このルーチンは、エラーが発生すると +.SM NULL +を戻します。 +.br +.if t .ne 11 +.LP +.ft B +.nf +.sp .5 +\s-1SVCXPRT\s0 * +svctcp_create(sock, send_buf_size, recv_buf_size) +int sock; +u_int send_buf_size, recv_buf_size; +.fi +.ft R +.IP +ポインタを戻す、 +.SM TCP/IP +ベースの +.SM RPC +サービストランスポートを作成します。 +トランスポートにはソケット +.IR sock +が関連します。ソケットが +.BR \s-1RPC_ANYSOCK\s0 +である場合は、新しいソケットが作成されます。 +ソケットがローカル +.SM TCP +ポートに結合していない場合、 +このルーチンはソケットを任意のポートに結合します。処理が終わると、 +\fB\%xprt\->xp_sock\fR +はトランスポートのソケット記述子になり、 +\fB\%xprt\->xp_port\fR +はトランスポートのポート番号になります。 +このルーチンは、エラーが発生すると +.SM NULL +を戻します。 +.SM TCP +ベースの +.SM RPC +バッファによる +.SM I/O +を使用するので、ユーザはバッファサイズを指定できます。 +値を 0 にすると、適切なデフォルトが選択されます。 +.br +.if t .ne 11 +.LP +.ft B +.nf +.sp .5 +\s-1SVCXPRT\s0 * +svcfd_create(fd, sendsize, recvsize) +int fd; +u_int sendsize; +u_int recvsize; +.fi +.ft R +.IP +開いている記述子の最上位にサービスを作成します。 +一般的にこの記述子は、 +.SM TCP\s0 +などのストリームプロトコルの接続済みソケットです。 +.I sendsize +と +.I recvsize +は、送信バッファと受信バッファのサイズを指定します。 +このサイズが 0 である場合は、適切なデフォルトが選択されます。 +.br +.if t .ne 10 +.LP +.ft B +.nf +.sp .5 +\s-1SVCXPRT\s0 * +svcudp_bufcreate(sock, sendsize, recosize) +int sock; +.fi +.ft R +.IP +ポインタを戻す +.SM UDP/IP\s0 +ベースの +.SM RPC +サービストランスポートを作成します。 +トランスポートにはソケット +.IR sock +が関連します。ソケットが +.B \s-1RPC_ANYSOCK\s0 +である場合は、新しいソケットが作成されます。 +ソケットがローカル +.SM UDP +ポートに結合していない場合、 +このルーチンはソケットを任意のポートに結合します。 +処理が終わると、 +\fB\%xprt\->xp_sock\fR +はトランスポートのソケット記述子になり、 +\fB\%xprt\->xp_port\fR +はトランスポートのポート番号になります。 +このルーチンは、エラーが発生すると +.SM NULL +を戻します。 +.IP +これにより、ユーザは、 +.SM UDP\s0 +ベースの送信 +.SM RPC +メッセージと受信メッセージの最大パケットサイズを指定できます。 +.br +.if t .ne 7 +.LP +.ft B +.nf +.sp .5 +xdr_accepted_reply(xdrs, ar) +\s-1XDR\s0 *xdrs; +struct accepted_reply *ar; +.fi +.ft R +.IP +.SM RPC +応答メッセージのエンコードに使用します。 +このルーチンでは、 +.SM RPC +パッケージを使用せずに、 +\s-1RPC\s0 +スタイルのメッセージを作成する場合に便利です。 +.br +.if t .ne 7 +.LP +.ft B +.nf +.sp .5 +xdr_authunix_parms(xdrs, aupp) +\s-1XDR\s0 *xdrs; +struct authunix_parms *aupp; +.fi +.ft R +.IP +.SM UNIX +証明書の記述に使用します。 +このルーチンは、 +.SM RPC +認証パッケージを使用せずに、証明書を作成する場合に便利です。 +.br +.if t .ne 7 +.LP +.ft B +.nf +.sp .5 +void +xdr_callhdr(xdrs, chdr) +\s-1XDR\s0 *xdrs; +struct rpc_msg *chdr; +.fi +.ft R +.IP +.SM RPC +コールヘッダメッセージの記述に使用します。 +このルーチンでは、 +.SM RPC +パッケージを使用せずに、 +.SM RPC\s0 +スタイルのメッセージを作成する場合に便利です。 +.br +.if t .ne 7 +.LP +.ft B +.nf +.sp .5 +xdr_callmsg(xdrs, cmsg) +\s-1XDR\s0 *xdrs; +struct rpc_msg *cmsg; +.fi +.ft R +.IP +.SM RPC +コールメッセージの記述に使用します。 +このルーチンは、 +.SM RPC +パッケージを使用せずに、 +.SM RPC\s0 +スタイルのメッセージを作成する場合に便利です。 +.br +.if t .ne 7 +.LP +.ft B +.nf +.sp .5 +xdr_opaque_auth(xdrs, ap) +\s-1XDR\s0 *xdrs; +struct opaque_auth *ap; +.fi +.ft R +.IP +.SM RPC +認証情報メッセージの記述に使用します。 +このルーチンでは、 +.SM RPC +パッケージを使用せずに、 +.SM RPC\s0 +スタイルのメッセージを作成する場合に便利です。 +.br +.if t .ne 7 +.LP +.ft B +.nf +.sp .5 +xdr_pmap(xdrs, regs) +\s-1XDR\s0 *xdrs; +struct pmap *regs; +.fi +.ft R +.IP +さまざまな +.B portmap +プロシージャのパラメータの記述に外部的に使用します。 +このルーチンは、 +.B pmap +インタフェースを使用せずに、このパラメータを作成する場合に便利です。 +.br +.if t .ne 7 +.LP +.ft B +.nf +.sp .5 +xdr_pmaplist(xdrs, rp) +\s-1XDR\s0 *xdrs; +struct pmaplist **rp; +.fi +.ft R +.IP +ポートマッピングのリストの記述に外部的に使用します。 +このルーチンは、 +.B pmap +インタフェースを使用せずに、このパラメータを作成する場合に便利です。 +.br +.if t .ne 7 +.LP +.ft B +.nf +.sp .5 +xdr_rejected_reply(xdrs, rr) +\s-1XDR\s0 *xdrs; +struct rejected_reply *rr; +.fi +.ft R +.IP +.SM RPC +応答メッセージの記述に使用します。 +このルーチンは +.SM RPC +パッケージを使用せずに、 +.SM RPC\s0 +スタイルのメッセージを作成する場合に便利です。 +.br +.if t .ne 8 +.LP +.ft B +.nf +.sp .5 +xdr_replymsg(xdrs, rmsg) +\s-1XDR\s0 *xdrs; +struct rpc_msg *rmsg; +.fi +.ft R +.IP +.SM RPC +応答メッセージの記述に使用します。 +このルーチンは +.SM RPC +パッケージを使用せずに、 +.SM RPC +スタイルのメッセージを作成する場合に便利です。 +.br +.if t .ne 8 +.LP +.ft B +.nf +.sp .5 +void +xprt_register(xprt) +\s-1SVCXPRT\s0 *xprt; +.fi +.ft R +.IP +.SM RPC +サービストランスポートハンドルが作成されたら、 +.SM RPC +サービスパッケージで登録する必要があります。 +このルーチンは、グローバル変数 +.BR svc_fds(\|) +を修正します。サービスの設計者には、 +通常の場合このルーチンは必要ありません。 +.br +.if t .ne 8 +.LP +.ft B +.nf +.sp .5 +void +xprt_unregister(xprt) +\s-1SVCXPRT\s0 *xprt; +.fi +.ft R +.IP +.SM RPC +サービストランスポートハンドルを破壊する前には、 +.SM RPC +サービスパッケージで登録を解除する必要があります。 +このルーチンは、グローバル変数 +.BR svc_fds(\|) +を修正します。サービスの設計者には、 +通常の場合このルーチンは必要ありません。 +.SH SEE ALSO +.BR rpc_secure (3), +.BR xdr (3) +.br +以下のマニュアル: +.RS +.ft I +Remote Procedure Calls: Protocol Specification +.br +Remote Procedure Call Programming Guide +.br +rpcgen Programming Guide +.br +.ft R +.RE +.IR "\s-1RPC\s0: Remote Procedure Call Protocol Specification" , +.SM RFC1050, Sun Microsystems, Inc., +.SM USC-ISI\s0. diff --git a/ja_JP.eucJP/man/man3/rpc_secure.3 b/ja_JP.eucJP/man/man3/rpc_secure.3 new file mode 100644 index 0000000000..20745a05da --- /dev/null +++ b/ja_JP.eucJP/man/man3/rpc_secure.3 @@ -0,0 +1,231 @@ +.\" @(#)rpc_secure.3n 2.1 88/08/08 4.0 RPCSRC; from 1.19 88/06/24 SMI +.\" $Id: rpc_secure.3,v 1.1.1.1 1999-12-09 16:25:55 kuriyama Exp $ +.Dd February 16, 1988 +.Dt RPC 3 +.Sh 名称 +.Nm rpc_secure +.Nd 安全なリモートプロシージャコールのためのライブラリルーチン +.Sh 書式 +.Fd #include +.Ft AUTH * +.Fo authdes_create +.Fa "char *name" +.Fa "unsigned window" +.Fa "struct sockaddr *addr" +.Fa "des_block *ckey" +.Fc +.Ft int +.Fn authdes_getucred "struct authdes_cred *adc" "uid_t *uid" "gid_t *gid" "int *grouplen" "gid_t *groups" +.Ft int +.Fn getnetname "char *name" +.Ft int +.Fn host2netname "char *name" "char *host" "char *domain" +.Ft int +.Fn key_decryptsession "const char *remotename" "des_block *deskey" +.Ft int +.Fn key_encryptsession "const char *remotename" "des_block *deskey" +.Ft int +.Fn key_gendes "des_block *deskey" +.Ft int +.Fn key_setsecret "const char *key" +.Ft int +.Fn netname2host "char *name" "char *host" "int hostlen" +.Ft int +.Fn netname2user "char *name" "uid_t *uidp" "gid_t *gidp" "int *gidlenp" "gid_t *gidlist" +.Ft int +.Fn user2netname "char *name" "uid_t uid" "char *domain" +.Sh 解説 +このルーチンは、 +.Tn RPC +ライブラリの一部で、 +.Tn DES +認証を実現しています。 +.Tn RPC +の詳細については、 +.Xr rpc 3 +を参照してください。 +.Pp +.Tn DES +認証として知られる、 +.Tn RPC +安全認証システムのインタフェースとなる最初のルーチンは、 +.Fn authdes_create +です。次のルーチンは +.Fn authdes_getucred +です。 +.Pp +注意: +.Tn DES +認証システムを動作させるには、キーサーバデーモン +.Xr keyserv 8 +を実行する必要があります。 +.Pp +クライアント側で使用する +.Fn authdes_create +は、安全認証システムを使用できるようにする認証ハンドルを戻します。 +最初のパラメータ +.Fa name +は、サーバプロセスの所有者のネットワーク名、つまり +.Fa netname +です。通常の場合、このフィールドは、ユーティリティルーチン +.Fn host2netname +から引き出された +.Fa hostname +を表しますが、 +.Fn user2netname +を使用してユーザ名を表すこともできます。第 2 フィールドは、 +クライアント証明書の正当性に関するウィンドウで、秒単位で指定されます。 +小さいウィンドウの方が大きいウィンドウより安全ですが、ウィンドウを +小さくしすぎると、クロックの揺れのため、再同期化の頻度が +上がります。第 3 パラメータ +.Fa addr +はオプションです。このパラメータを +.Dv NULL +にすると、ローカルクロックとサーバのクロックで常に同期が取られている +ことを認証システムが仮定するため、再同期化は実行されなくなります。 +しかしアドレスを指定すると、システムは、再同期化が必要な時は常に、 +そのアドレスを使用してリモートタイムサービスから情報を得ます。 +通常の場合、このパラメータは +.Tn RPC +サーバのアドレスになります。最後のパラメータ +.Fa ckey +もオプションです。このパラメータを +.Dv NULL +にすると、認証システムは、証明書の暗号化に使用するランダムな +.Tn DES +キーを作成します。このパラメータを指定すると、それが +ランダムなキーの代わりに使用されます。 +.Pp +.Tn DES +認証の第 2 ルーチン +.Fn authdes_getucred +は、オペレーティングシステムに依存しない +.Tn DES +証明書を +.Ux +証明書に変換するためにサーバ側で使用されます。 +.Fn authdes_getucred +はキャッシュから情報を引き出すので、情報を得ようとして関数が +呼び出されるたびに +Yellow Page 検索をする必要はないという面で、ユーティリティルーチン +.Fn netname2user +とは異なります。 +.Pp +.Fn getnetname +は、固有でありオペレーティングシステムに依存しない、呼び出し側のネット名を +固定長配列 +.Fa name +にインストールします。問題がない場合は +.Dv TRUE +を戻し、問題がある場合は +.Dv FALSE +を戻します。 +.Pp +.Fn host2netname +は、ドメイン特有なホスト名をオペレーティングシステムに依存しない +ネット名に変換します。問題がない場合は +.Dv TRUE +を戻し、問題がある場合は +.Dv FALSE +を戻します。これは、 +.Fn netname2host +の逆です。 +.Pp +.Fn key_decryptsession +は、 +.Tn RPC +の安全認証システム ( +.Tn DES +認証) に関連したキーサーバデーモンとのインタフェースです。 +このルーチン、およびこのルーチンに関連した +.Fn key_encryptsession , +.Fn key_gendes , +.Fn key_setsecret +をユーザプログラムが呼び出す必要はほとんどありません。 +.Xr login 1 +などのシステムコマンドと +.Tn RPC +ライブラリが、この +4 つのルーチンの主なクライアントです。 +.Pp +.Fn key_decryptsession +は、サーバのネット名と +.Tn DES +キーを受け取り、サーバの公開鍵と呼び出しプロセスの実効ユーザ +ID +に関連した秘密鍵を使用してキーを復号化します。これは、 +.Fn key_encryptsession +の逆です。 +.Pp +.Fn key_encryptsession +は、キーサーバインタフェースルーチンです。サーバのネット名と +.Tn DES +キーを受け取り、サーバの公開鍵と呼び出しプロセスの実効ユーザ +ID +に関連した秘密鍵を使用してキーを暗号化します。これは、 +.Fn key_decryptsession +の逆です。 +.Pp +.Fn key_gendes +は、キーサーバインタフェースルーチンです。安全な変換キーをキーサーバに +要求するために使用します。大抵の場合、 +1 つの +.Qq ランダム +を選択するだけでは十分ではありません。なぜなら、 +現在時刻を利用する様なランダム数値のよくある選択方法は +とても容易に推測できるからです。 +.Pp +.Fn key_setsecret +は、キーサーバインタフェースルーチンです。呼び出しプロセスの実効 +.Fa uid +のキーを設定するために使用します。 +.Pp +.Fn netname2host +は、オペレーティングシステムに依存しないネット名をドメイン特有の +ホスト名に変換します。問題がない場合は +.Dv TRUE +を戻し、問題がある場合は +.Dv FALSE +を戻します。これは、 +.Fn host2netname +の逆です。 +.Pp +.Fn netname2user +は、オペレーティングシステムに依存しないネット名をドメイン特有のユーザ +ID +に変換します。問題がない場合は +.Dv TRUE +を戻し、問題がある場合は +.Dv FALSE +を戻します。これは、 +.Fn user2netname +の逆です。 +.Pp +.Fn user2netname +は、ドメイン特有のユーザ名をオペレーティングシステムに依存しない +ネット名に変換します。問題がない場合は +.Dv TRUE +を戻し、問題がある場合は +.Dv FALSE +を戻します。これは、 +.Fn netname2user +の逆です。 +.Sh 関連項目 +.Xr rpc 3 , +.Xr xdr 3 , +.Xr keyserv 8 +.Pp +以下のマニュアル +.Rs +.%B Remote Procedure Calls: Protocol Specification +.Re +.Rs +.%B Remote Procedure Call Programming Guide +.Re +.Rs +.%B Rpcgen Programming Guide +.Re +.Rs +.%B RPC: Remote Procedure Call Protocol Specification +.%O RFC1050, Sun Microsystems Inc., USC-ISI +.Re diff --git a/ja_JP.eucJP/man/man3/rtime.3 b/ja_JP.eucJP/man/man3/rtime.3 new file mode 100644 index 0000000000..337f8476e6 --- /dev/null +++ b/ja_JP.eucJP/man/man3/rtime.3 @@ -0,0 +1,48 @@ +.\" @(#)rtime.3n 2.1 88/08/08 4.0 RPCSRC; from 1.5 88/02/08 SMI +.TH RTIME 3 "22 November 1987" +.SH 名称 +rtime \- リモートタイムの入手 +.SH 書式 +.nf +.B #include +.B #include +.B #include +.LP +.B int rtime(addrp, timep, timeout) +.B struct sockaddr_in \(**addrp; +.B struct timeval \(**timep; +.B struct timeval \(**timeout; +.fi +.SH 解説 +.B rtime(\|) +は、 +.I addrp +が指すアドレスのインターネットタイムサーバを +参考にして、 +.I timep +が指す +.B timeval +構造体にリモートタイムを戻します。通常の +場合は、タイムサーバを参考にするときに +.SM UDP +プロトコルが使用されます。 +.I timeout +パラメータは、ルーチンが応答を待つ期間を指定します。 +.I timeout +に +.SM NULL\s0 +を指定した場合、このルーチンは +.SM TCP +を使用し、タイムサーバから応答を +受けるまでブロックします。 +.PP +問題がない場合、このルーチンは +0 +を戻します。問題がある場合は +\-1 +を +戻し、エラーの原因を反映する値に +.B errno +を設定します。 +.SH 関連項目 +.BR timed (8c) diff --git a/ja_JP.eucJP/man/man3/rune.3 b/ja_JP.eucJP/man/man3/rune.3 new file mode 100644 index 0000000000..5ed925459d --- /dev/null +++ b/ja_JP.eucJP/man/man3/rune.3 @@ -0,0 +1,286 @@ +.\" Copyright (c) 1993 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" This code is derived from software contributed to Berkeley by +.\" Paul Borman at Krystal Technologies. +.\" +.\" 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. +.\" +.\" @(#)rune.3 8.2 (Berkeley) 12/11/93 +.\" +.Dd December 11, 1993 +.Dt RUNE 3 +.Os +.Sh 名称 +.Nm setrunelocale , +.Nm setinvalidrune , +.Nm sgetrune , +.Nm sputrune +.Nd C 用ルーンサポート +.Sh 書式 +.Fd #include +.Fd #include +.Ft int +.Fn setrunelocale "char *locale" +.Ft void +.Fn setinvalidrune "rune_t rune" +.Ft rune_t +.Fn sgetrune "const char *string" "size_t n" "char const **result" +.Ft int +.Fn sputrune "rune_t rune" "char *string" "size_t n" "char **result" +.Pp +.Fd #include +.Ft long +.Fn fgetrune "FILE *stream" +.Ft int +.Fn fungetrune "rune_t rune" "FILE *stream" +.Ft int +.Fn fputrune "rune_t rune" "FILE *stream" +.Sh 解説 +.Fn setrunelocale +は、マルチバイトストリングとしてルーンを表現するための +エンコードのタイプ、および +.Aq Pa ctype.h +で定義されたルーンのプロパティを制御します。 +.Fa locale +引数は、ロードするロケールを指定します。 +ロケールが正常にロードされると +.Dv 0 +が戻され、ロードで問題が生じるとエラータイプを表す +errno +値が戻されます。 +.Pp +.Fn setinvalidrune +関数は、グローバル値 +.Ev _INVALID_RUNE +の値を +.Fa rune +に設定します。 +.Pp +.Fn sgetrune +関数は、長さが最大 +.Fa n +バイトの +1 +つのマルチバイトキャラクタを +.Fa string +から読み込もうとします。 +.Fn sgetrune +で問題が発生しなかった場合はルーンが戻されます。 +.Fa result +が +.Dv NULL +ではない場合、 +.Fa *result +は、 +.Fa string +で変換されなかった最初のバイトを指します。 +.Fa string +の最初の +.Fa n +バイトが完全なマルチバイトキャラクタを表さない場合は +.Ev _INVALID_RUNE +が戻され、 +.Fa *result +は +.Fa string +を指します。 +.Fa string +の最初でエンコードのエラーが発生した場合は +.Ev _INVALID_RUNE +が戻され、 +.Fa *result +は +.Fa string +の第 +2 +キャラクタを指します。 +.Pp +.Fn sputrune +関数は、マルチバイトストリングとして +.Fa rune +をエンコードし、 +.Fa string +に保存しようとします。しかし +.Fa n +バイトまでしか保存されません。 +.Fa result +が +.Dv NULL +ではない場合、 +.Fa *result +は、新しいマルチバイトキャラクタに続くストリングの +最初のバイトを指すように設定されます。 +.Fa string +が +.Dv NULL +である場合、 +.Fa *result +は +.Dv "(char *)0 +" +.Fa x +を指します。 +.Fa x +は、マルチバイト値の保存に必要なバイト数です。 +マルチバイトキャラクタが +.Fa n +より長いバイトから構成され、 +.Fa result +が +.Dv NULL +ではない場合、 +.Fa *result +は +.Dv NULL +に設定されます。 +どのような場合でも、 +.Fn sputrune +は、マルチバイトキャラクタとして +.Fa rune +を保存するために必要なバイト数を戻します。 +.Pp +.Fn fgetrune +関数は、 +1 +つのルーンをデコードするのに足る数のバイトを +.Fa stream +から読み込もうとすることを除けば、 +.Fn sgetrune +と同じ動作をします。ファイルの終わりに達した場合は +.Ev EOF +を、エンコードでエラーが発生した場合は +.Ev _INVALID_RUNE +を、問題が発生しなかった場合はデコードされたルーンを戻します。 +.Pp +.Fn fungetrune +関数は、次に +.Fn fgetrune +を呼び出した場合に +.Fa rune +が戻されるように、 +.Fn sputrune +が与える +.Fa rune +のマルチバイトエンコードを +.Fa stream +にプッシュします。エラーが発生した場合は +.Ev EOF +を戻し、エラーが発生しなかった場合は +.Dv 0 +を戻します。 +.Pp +.Fn fputrune +関数は、 +.Fn sputrune +が与える +.Fa rune +のマルチバイトエンコードを +.Fa stream +に書き込みます。エラーが発生した場合は +.Ev EOF +を戻し、エラーが発生しなかった場合は +.Dv 0 +を戻します。 +.Sh 戻り値 +.Fn setrunelocale +関数は、以下の値のどれか +1 +つを戻します。 +.Bl -tag -width WWWWWWWW +.It Dv 0 +.Fa setrunelocale +で問題が発生しませんでした。 +.It Ev EFAULT +.Fa locale +が +.Dv NULL +になっています。 +.It Ev ENOENT +ロケールが見つかりません。 +.It Ev EFTYPE +見つかったファイルが正しいファイルではありません。 +.It Ev EINVAL +ロケールで示されるエンコードが未知のものです。 +.El +.Pp +.Fn sgetrune +関数は、読み込んだルーンか +.Ev _INVALID_RUNE +を戻します。 +.Fn sputrune +関数は、マルチバイトストリングとして +.Fa rune +を保存するために必要なバイト数を戻します。 +.Sh 関連ファイル +.Bl -tag -width /usr/share/locale/locale/LC_CTYPE -compact +.It Pa $PATH_LOCALE/ Ns Em locale Ns /LC_CTYPE +.It Pa /usr/share/locale/ Ns Em locale Ns /LC_CTYPE +ロケール +.Em locale +のバイナリ +LC_CTYPE +ファイル +.El +.Sh 関連項目 +.Xr mbrune 3 , +.Xr setlocale 3 , +.Xr euc 4 , +.Xr utf2 4 +.Sh 注 +ANSI C +の +.Ev wchar_t +型は、 +.Ev rune_t +と同じです。美しさに劣る +ANSI C +プリミティブをシステムの土台としない故意の選択であることを強調するために +.Ev rune_t +が選ばれました。 +.Sh 歴史 +この関数は、 +.Bx 4.4 +で初めて登場しました。 +.Pp +.Fn setrunelocale +関数とその他の非 +ANSI +ルーン関数は、 +ANSI +マルチバイトとワイドキャラクタサポートのより確実な代替案としての +.Nm Bell Labs の Plan 9 +にヒントを得ました。 +.\"They were conceived at the San Diego 1993 Summer USENIX conference by +.\"Paul Borman of Krystal Technologies, Keith Bostic of CSRG and Andrew Hume +.\"of Bell Labs. +.Pp +すべての +ANSI +マルチバイトとワイドキャラクタのサポート関数は、 +ルーン関数を使用して作成されています。 diff --git a/ja_JP.eucJP/man/man3/scandir.3 b/ja_JP.eucJP/man/man3/scandir.3 new file mode 100644 index 0000000000..e07b56f527 --- /dev/null +++ b/ja_JP.eucJP/man/man3/scandir.3 @@ -0,0 +1,105 @@ +.\" Copyright (c) 1983, 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. +.\" +.\" @(#)scandir.3 8.1 (Berkeley) 6/4/93 +.\" +.Dd June 4, 1993 +.Dt SCANDIR 3 +.Os BSD 4.2 +.Sh 名称 +.Nm scandir , +.Nm alphasort +.Nd ディレクトリを走査する +.Sh 書式 +.Fd #include +.Fd #include +.Ft int +.Fn scandir "const char *dirname" "struct dirent ***namelist" "int \\*(lp*select\\*(rp\\*(lpstruct dirent *\\*(rp" "int \\*(lp*compar\\*(rp\\*(lpconst void *, const void *\\*(rp" +.Ft int +.Fn alphasort "const void *d1" "const void *d2" +.Sh 解説 +.Fn scandir +関数はディレクトリ +.Fa dirname +を読み取り、 +.Xr malloc 3 +を使用してディレクトリエントリを指すポインタの配列を作成します。 +そして配列内のエントリの数を返します。 +ディレクトリエントリの配列を指すポインタは、 +.Fa namelist +が参照する位置に保存されます。 +.Pp +.Fa select +パラメータは、どのエントリを配列に入れるかを選択するために +.Fn scandir +によって呼び出される、ユーザ定義サブルーチンを指すポインタです。 +選択ルーチンにはディレクトリエントリを指すポインタが渡されます。 +また、ディレクトリエントリを配列に入れる場合は非 +0 の値を返さなくてはなりません。 +.Fa select +が +NULL +の場合、すべてのディレクトリエントリが組み入れられます。 +.Pp +.Fa compar +パラメータは、ユーザ定義サブルーチンを指すポインタであり、 +このサブルーチンは完成した配列をソートするために +.Xr qsort 3 +に渡されます。このポインタが +NULL +の場合、配列はソートされません。 +.Pp +.Fn alphasort +関数は、 +.Fa compar +パラメータに使用できるルーチンで、配列をアルファベット順にソートします。 +.Pp +配列用に割当てられたメモリを +.Xr free 3 +で割当て解除できます。その場合、 +配列内の各ポインタを解放してから、配列自体を解放してください。 +.Sh 診断 +ディレクトリが読み取り用に開けない場合、または +.Xr malloc 3 +がすべてのデータ構造を保持するのに十分なメモリを割り当てできない場合は +\-1 を返します。 +.Sh 関連項目 +.Xr directory 3 , +.Xr malloc 3 , +.Xr qsort 3 , +.Xr dir 5 +.Sh 歴史 +.Fn scandir +と +.Fn alphasort +関数は +.Bx 4.2 +で登場しました。 diff --git a/ja_JP.eucJP/man/man3/scanf.3 b/ja_JP.eucJP/man/man3/scanf.3 new file mode 100644 index 0000000000..73ebd088d2 --- /dev/null +++ b/ja_JP.eucJP/man/man3/scanf.3 @@ -0,0 +1,479 @@ +.\" Copyright (c) 1990, 1991, 1993 +.\" 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 8.2 (Berkeley) 12/11/93 +.\" +.Dd December 11, 1993 +.Dt SCANF 3 +.Os +.Sh 名称 +.Nm scanf , +.Nm fscanf , +.Nm sscanf , +.Nm vscanf , +.Nm vsscanf , +.Nm vfscanf +.Nd 入力のフォーマット変換 +.Sh 書式 +.Fd #include +.Ft int +.Fn scanf "const char *format" ... +.Ft int +.Fn fscanf "FILE *stream" "const char *format" ... +.Ft int +.Fn sscanf "const char *str" "const char *format" ... +.Fd #include +.Ft int +.Fn vscanf "const char *format" "va_list ap" +.Ft int +.Fn vsscanf "const char *str" "const char *format" "va_list ap" +.Ft int +.Fn vfscanf "FILE *stream" "const char *format" "va_list ap" +.Sh 解説 +.Fn scanf +の関数ファミリは、後述する +.Fa format +に従って入力を走査します。このフォーマットには +.Em 変換指示子 +を含めることができます。このような変換の結果は、もし存在すれば +.Em ポインタ +引数を介して格納されます。 +.Fn scanf +関数は入力を標準入力ストリーム +.Em stdin +から読み取ります。 +.Fn fscanf +は入力をストリームポインタ +.Fa stream +から読み取ります。 +.Fn sscanf +は入力を +.Fa str +の指すキャラクタ文字列から読み取ります。 +.Fn vfscanf +関数は、 +.Xr vfprintf 3 +に類似しており、ポインタの可変引数リスト +( +.Xr stdarg 3 +を参照) +を使用して +ストリームポインタ +.Fa stream +から入力を読み取ります。 +.Fn vscanf +関数は標準入力から、 +.Fn vsscanf +関数は文字列から可変引数リストを走査します。 +これらの関数はそれぞれ +.Fn vprintf +関数と +.Fn vsprintf +関数に類似しています。 +連続する +.Em ポインタ +引数の各々は、各々の連続する変換指示子と +適切に対応している必要があります +( +ただし、後述の `抑制' を参照 +) +。 +変換指示子はすべて +.Cm % +文字 +( +パーセント符号 +) +で始まります。 +.Fa format +文字列には、他のキャラクタも含めることができます。 +.Fa format +文字列内の空白 +( +ブランクやタブ、改行など +) +は、入力に何も含まれていない場合を含む、任意の量の空白と一致します。 +その他のキャラクタはすべてそれ自身とだけ一致します。 +入力キャラクタがそのようなフォーマットキャラクタと +一致しなくなったときに走査は停止します。 +走査は、入力変換が行えないときにも停止します +( +下記参照 +) +。 +.Sh 変換 +変換の先頭となる +.Cm % +文字に続いて、以下にあげるいくつかの +.Em フラグ +文字をおくことができます。 +.Bl -tag -width indent +.It Cm * +割り当ての抑制。以降の変換は普段通りに行われますが、 +ポインタは使用されません。変換の結果は単に廃棄されます。 +.It Cm h +変換が +.Cm dioux +または +.Cm n +のどれかであり、次のポインタは +( +.Em int +ではなく +) +.Em short int +を指すポインタであることを示します。 +.It Cm l +変換が +.Cm dioux +または +.Cm n +のどれかであり、次のポインタが +( +.Em int +ではなく +) +.Em long int +を指すポインタであること、あるいは変換は +.Cm efg +のどれかであり、次のポインタは +( +.Em float +ではなく +) +.Em double +を指すポインタであることを示します。 +.It Cm L +変換が +.Cm efg +になり、次のポインタが +.Em long double +を指すポインタであることを示します +( +このタイプは実装されていません。 +.Cm L +フラグは現時点では無視されます +) +。 +.It Cm q +変換が +.Cm dioux +または +.Cm n +のどれかであり、次のポインタが +( +.Em int +ではなく +) +.Em long long int +を指すポインタであることを示します。 +.El +.Pp +これらのフラグに加えて、オプションとして +10 +進数で表される最大フィールド幅を +.Cm % +と変換の間に置くことも可能です。 +フィールド幅を指定しない場合、デフォルトの `無限' が使用されます +( +例外が +1 つあります。後述 +) +。 +フィールド幅を指定した場合、変換処理で最大でもその数のキャラクタが走査されます。 +変換が始まる前に、ほとんどの変換は空白をスキップします。 +この空白はフィールド幅のカウント対象にはなりません。 +.Pp +以下の変換を利用できます。 +.Bl -tag -width XXXX +.It Cm % +リテラルの +`%' +と一致します。すなわち、フォーマット文字列内の +`%\&%' +は、1 つの入力キャラクタ +`%' +と一致します。変換は行われず、割当ては行われません。 +.It Cm d +オプションの符号つき +10 +進数に一致します。次のポインタは +.Em int +を指すポインタである必要があります。 +.It Cm D +.Cm ld +と同等です。これは後方互換性のためにだけ存在しています。 +.It Cm i +オプションの符号つき整数に一致します。次のポインタは +.Em int +を指すポインタである必要があります。整数が +.Ql 0x +または +.Ql 0X +で始まる場合、整数を基底 +16 +で読み取ります。 +.Ql 0 +で始まる場合、基底 +8 +で読み取ります。それ以外の場合は、基底 +10 +です。基底に対応するキャラクタだけが使用されます。 +.It Cm o +8 +進数の整数と一致します。次のポインタは +.Em unsigned int +を指すポインタである必要があります。 +.It Cm O +.Cm lo +と同等です。これは後方互換性のために存在しています。 +.It Cm u +オプションの符号つき +10 +進整数と一致します。次のポインタは +.Em unsigned int +を指すポインタである必要があります。 +.It Cm x +オプションの符号つき +16 +進整数に一致します。次のポインタは +.Em unsigned int +を指すポインタである必要があります。 +.It Cm X +.Cm lx +と同等です。これは +.St -ansiC +違反ですが、以前の +.Ux +システムとは後方互換性があります。 +.It Cm f +オプションの符号つき浮動小数点数と一致します。次のポインタは +.Em float +を指すポインタである必要があります。 +.It Cm e +.Cm f +と同等です。 +.It Cm g +.Cm f +と同等です。 +.It Cm E +.Cm lf +と同等です。これは +.St -ansiC +違反ですが、以前の +.Ux +システムとは後方互換性があります。 +.It Cm F +.Cm lf +と同等です。これは後方互換性のためにだけ存在します。 +.It Cm s +非空白文字のシーケンスと一致します。次のポインタは +.Em char +を指すポインタである必要があり、配列はすべてのシーケンス +と終端の +.Dv NUL +文字を受け入れるのに十分なだけ大きい必要があります。 +入力文字列は、空白、または最大フィールド幅のどちらかが +最初に発生した場所で停止します。 +.It Cm c +.Em width +個 +( +デフォルト +1 +) +のキャラクタのシーケンスに一致します。次のポインタは +.Em char +を指すポインタである必要があり、 +すべてのキャラクタに対して十分な余地がある必要があります +( +終端の +.Dv NUL +は追加されません +) +。 +通常行われる先頭の空白スキップは抑制されます。 +最初の空白をスキップするには、 +フォーマット内に明示的なスペースを使用してください。 +.It Cm \&[ +指定された受け入れ文字集合からなる、 +空でない文字列と一致します。次のポインタは、 +.Em char +を指すポインタである必要があり、 +文字列内のすべてのキャラクタに加えて終端の +.Dv NUL +文字を入れる十分な余地がある必要があります。 +通常行われる先頭の空白スキップは抑制されます。 +文字列は、特定の集合内の +( +または集合外の +) +文字で構成されます。この集合は、開き角括弧 +.Cm [ +文字と閉じ角括弧 +.Cm ] +文字の間のキャラクタによって定義されます。 +集合は、開き角括弧の直後の文字が曲折アクセント記号 +.Cm ^ +である場合、これらの文字を +.Em 除外 +します。 +集合内に閉じ角括弧を入れるには、閉じ角括弧を +開き角括弧または曲折アクセント記号の直後の文字にします。 +その他の位置に置くと集合を終了させます。 +ハイフン文字 +.Cm - +も特殊です。 +他の +2 +つの文字間に置かれた場合、 +ハイフンは間に入るすべての文字を集合に追加します。 +ハイフンを入れるためには、 +ハイフンを最後の閉じ角括弧の直前の文字にします。 +たとえば、 +.Ql [^]0-9-] +は、`閉じ角括弧、0 から 9、およびハイフン以外のすべて' +の集合を意味します。文字列は、集合内にない +( +または曲折アクセント記号がある集合に含まれる +) +文字が出現するか、またはフィールド幅が不足するときに終了します。 +.It Cm p +( +.Xr printf 3 +で +.Ql %p +で印字された +) +ポインタの値と一致します。次のポインタは +.Em void +を指すポインタである必要があります。 +.It Cm n +何も予期しません。その代わり、入力以降消費された +キャラクタの個数が次のポインタを介して保存されます。 +次のポインタは +.Em int +を指すポインタである必要があります。これは変換では +.Em ありません。 +ただし +.Cm * +フラグで抑制できます。 +.El +.Pp +後方互換性のために、他の変換キャラクタ +( +.Ql \e0 +を除く +) +は +.Ql %d +であるかのように、または大文字の場合は +.Ql %ld +であるかのように扱われ、 +.Ql %\e0 +の変換はただちに +.Dv EOF +を戻します。 +.Cm F +と +.Cm X +の変換は、将来 +.Tn ANSI +C +標準を遵守するように変更される予定なので、 +その後では、これらの変換はそれぞれ +.Cm f +と +.Cm x +のように動作するでしょう。 +.Pp +.Sh 戻り値 +これらの関数は、割り当てられた入力項目数を返します。 +一致が成功しなかった場合、この数は +準備されたものよりも少なく、または +0 +になることさえあります。 +0 +は、利用できる入力があったものの、 +変換は割り当てられなかったことを示します。通常、これは +.Ql %d +変換に対するアルファベット文字等の様な、無効な入力文字のためです。 +ファイルの終りの様に、 +なんらかの変換が発生する前に入力処理が失敗した場合は、値 +.Dv EOF +が返されます。変換が開始した後で、エラーまたはファイルの終りが +発生した場合、正常に完了した変換の数が返されます。 +.Sh 関連項目 +.Xr getc 3 , +.Xr printf 3 , +.Xr strtod 3 , +.Xr strtol 3 , +.Xr strtoul 3 +.Sh 規格 +関数 +.Fn fscanf , +.Fn scanf +および +.Fn sscanf +は +.St -ansiC +に準拠しています。 +.Sh 歴史 +関数 +.Fn vscanf , +.Fn vsscanf +および +.Fn vfscanf +はこのリリースで新しく取り入られたものです。 +.Sh バグ +変換 +.Cm %F +と +.Cm %X +の現在の状況は不都合な状態にあります。 +.Pp +すべての後方互換フォーマットは、将来取り除かれます。 +.Pp +数値文字列は +512 +文字に切り捨てられます。たとえば、 +.Cm %f +と +.Cm %d +は事実上 +.Cm %512f +と +.Cm %512d +です。 diff --git a/ja_JP.eucJP/man/man3/setbuf.3 b/ja_JP.eucJP/man/man3/setbuf.3 new file mode 100644 index 0000000000..46e202c4b6 --- /dev/null +++ b/ja_JP.eucJP/man/man3/setbuf.3 @@ -0,0 +1,208 @@ +.\" Copyright (c) 1980, 1991, 1993 +.\" 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. +.\" +.\" @(#)setbuf.3 8.1 (Berkeley) 6/4/93 +.\" +.Dd June 4, 1993 +.Dt SETBUF 3 +.Os BSD 4 +.Sh 名称 +.Nm setbuf , +.Nm setbuffer , +.Nm setlinebuf , +.Nm setvbuf +.Nd ストリームバッファリング操作 +.Sh 書式 +.Fd #include +.Ft void +.Fn setbuf "FILE *stream" "char *buf" +.Ft void +.Fn setbuffer "FILE *stream" "char *buf" "int size" +.Ft int +.Fn setlinebuf "FILE *stream" +.Ft int +.Fn setvbuf "FILE *stream" "char *buf" "int mode" "size_t size" +.Sh 解説 +利用できる +3 タイプのバッファリングは、バッファリングなし、ブロックバッファリング、 +および行バッファリングです。 +出力ストリームがバッファリングなしの場合、情報は書き込まれると +ただちに宛先ファイルや端末に表示されます。出力ストリームが +ブロックバッファリングの場合、多数のキャラクタが蓄積されブロックとして +書き込まれます。出力ストリームが行バッファリングの場合、改行が +出力されるか、または端末デバイスにアタッチされた任意のストリーム +( +通常は +stdin +) +から入力が読み込まれるまで、キャラクタが蓄えられます。関数 +.Xr fflush 3 +を使用して早めのブロックアウトを強制することもできます +( +.Xr fclose 3 +を参照 +) +。 +.Pp +通常、すべてのファイルがブロックバッファリングされます。 +ファイルに対して最初の入出力操作が発生したとき、 +.Xr malloc 3 +が呼び出されて最適なサイズのバッファが獲得されます。 +( +.Em stdout +が通常行うように +) +ストリームが端末を参照する場合は行バッファリングです。 +標準エラーストリーム +.Em stderr +は必ずバッファリングなしです。 +.Pp +.Fn setvbuf +関数は、ストリームのバッファリング動作を変更するのに使用できます。 +.Fa mode +パラメータは次の +3 つのマクロのどれかでなくてはなりません。 +.Bl -tag -width _IOFBF -offset indent +.It Dv _IONBF +バッファリングなし +.It Dv _IOLBF +行バッファリング +.It Dv _IOFBF +完全バッファリング +.El +.Pp +.Fa size +パラメータは、最適サイズのバッファをいつも通りに遅延割当てさせるために +0 +に設定できます。このパラメータが +0 +でない場合、バッファリングされていないファイルを除けば、 +.Fa buf +引数は少なくとも長さが +.Fa size +バイトのバッファを指さなくてはなりません。 +このバッファが現在のバッファの代わりに使用されます +( +.Fa size +引数がゼロでないものの、 +.Fa buf +が +.Dv NULL +の場合、指定サイズのバッファがただちに割り振られ、 +クローズ時に解放されます。これは +ANSI C +の拡張です。移植可能コードはサイズが +0 +の +.Dv NULL +バッファを使用するはずです +) +。 +.Pp +.Fn setvbuf +関数はいつでも使用できますが、ストリームが +``アクティブ''な場合に、 +( +たとえば、入力の切り捨てや出力のフラッシュ等の +) +奇妙な副作用を持つことがあります。 +移植可能なアプリケーションは、なんらかの入出力が実行される前に、 +指定された任意のストリームに対してこの関数を一度だけ呼び出すべきです。 +.Pp +他の +3 +つの呼び出しは、実際には、 +.Fn setvbuf +呼び出しの別名にすぎません。戻り値がないことを除いて、 +.Fn setbuf +関数は以下の呼び出しと厳密に同じです。 +.Pp +.Dl "setvbuf(stream, buf, buf ? _IOFBF : _IONBF, BUFSIZ);" +.Pp +.Fn setbuffer +関数は、バッファのサイズを呼び出し元が決め、デフォルトの +.Dv BUFSIZ +で決定されるのではないこと以外は同じです。 +.Fn setlinebuf +関数は、次の呼び出しと厳密に同じです。 +.Pp +.Dl "setvbuf(stream, (char *)NULL, _IOLBF, 0);" +.Sh 戻り値 +.Fn setvbuf +関数は正常終了すると +0 +を返します。要求が受け入れられない場合は +.Dv EOF +を返します +( +ストリームはこの場合でも依然として機能していることに +注意してください +) +。 +.Pp +.Fn setlinebuf +関数は、同等の +.Fn setvbuf +呼び出しが返したはずの値を返します。 +.Sh 関連項目 +.Xr fclose 3 , +.Xr fopen 3 , +.Xr fread 3 , +.Xr malloc 3 , +.Xr printf 3 , +.Xr puts 3 +.Sh 規格 +.Fn setbuf +関数と +.Fn setvbuf +関数は +.St -ansiC +に準拠しています。 +.Sh バグ +.Fn setbuffer +関数と +.Fn setlinebuf +関数は、 +.Bx 4.2 +より前のバージョンの +.Bx +へ移植可能ではありません。 +.Bx 4.2 +システムと +.Bx 4.3 +システムでは、 +.Fn setbuf +は、最適ではないバッファサイズを必ず使用するので、 +避けてください。 diff --git a/ja_JP.eucJP/man/man3/setjmp.3 b/ja_JP.eucJP/man/man3/setjmp.3 new file mode 100644 index 0000000000..d506aff365 --- /dev/null +++ b/ja_JP.eucJP/man/man3/setjmp.3 @@ -0,0 +1,181 @@ +.\" Copyright (c) 1990, 1991, 1993 +.\" 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. +.\" +.\" @(#)setjmp.3 8.1 (Berkeley) 6/4/93 +.\" +.Dd June 4, 1993 +.Dt SETJMP 3 +.Os BSD 4 +.Sh 名称 +.Nm sigsetjmp , +.Nm siglongjmp , +.Nm setjmp , +.Nm longjmp , +.Nm _setjmp , +.Nm _longjmp , +.Nm longjmperror +.Nd 非局所分岐 +.Sh 書式 +.Fd #include +.Ft int +.Fn sigsetjmp "sigjmp_buf env" "int savemask" +.Ft void +.Fn siglongjmp "sigjmp_buf env" "int val" +.Ft int +.Fn setjmp "jmp_buf env" +.Ft void +.Fn longjmp "jmp_buf env" "int val" +.Ft int +.Fn _setjmp "jmp_buf env" +.Ft void +.Fn _longjmp "jmp_buf env" "int val" +.Ft void +.Fn longjmperror void +.Sh 解説 +.Fn sigsetjmp , +.Fn setjmp +および +.Fn _setjmp +の各関数は、呼び出し環境を +.Fa env +に保存します。これらの関数はそれぞれ +0 +を返します。 +.Pp +対応する +.Fn longjmp +関数は、各自に最も近い +.Fn setjmp +関数の起動によって保存された環境を復元します。 +.Fn longjmp +関数はそれから復帰するので、対応する +.Fn setjmp +呼び出しの起動が +0 +ではなく、 +.Fa val +によって指定された値を返したばかりであるかのように +プログラムの実行は継続します。 +.Pp +呼び出しのペアはお互いに混合できます。すなわち、 +.Fn sigsetjmp +と +.Fn siglongjmp +および +.Fn setjmp +との +.Fn longjmp +の各組み合わせは、同じプログラム内で使用できますが、 +個別の呼び出しでは使用できない可能性があります。たとえば、 +.Fn setjmp +への +.Fa env +引数は +.Fn siglongjmp +に渡されない可能性があります。 +.Pp +.Fn longjmp +ルーチンは、 +.Fn setjmp +ルーチンを呼び出したルーチンが返った後には +呼び出されないことがあります。 +.Pp +アクセス可能なすべてのオブジェクトは、 +.Fn longjmp +ルーチンが呼び出されたときの値を持ちます。ただし、 +自動ストレージの存続期間に +.Em volatile +型でなく、かつ +.Fn setjmp +呼び出しと +.Fn longjmp +呼び出しの間に変化したオブジェクトの値が確定しないことは除きます。 +.Pp +.Fn setjmp Ns / Ns Fn longjmp +のペアはシグナルマスクを保存および復元しますが、 +.Fn _setjmp Ns / Ns Fn _longjmp +のペアはレジスタセットとスタックのみを保存および復元します +( +.Fn sigprocmask 2 +を参照 +) +。 +.Pp +.Fn sigsetjmp Ns / Ns Fn siglongjmp +関数のペアは、引数 +.Fa savemask +が非 +0 +の場合、シグナルマスクを保存および復元します。 +それ以外の場合は、レジスタセットとスタックのみが保存されます。 +.Sh エラー +.Fa env +の内容が破壊されている場合、または既に復帰した環境に対応している場合、 +.Fn longjmp +ルーチンは、ルーチン +.Fn longjmperror 3 +を呼び出します。 +.Fn longjmperror +が返った場合、プログラムはアボートされます +( +.Xr abort 3 +を参照 +) +。 +.Fn longjmperror +のデフォルトバージョンは +.Dq Li longjmp botch +メッセージを標準エラー出力に表示して復帰します。 +ユーザプログラムがより優雅に脱出することを望むなら、 +独自バージョンの +.Fn longjmperror +を書くべきです。 +.Sh 関連項目 +.Xr sigaction 2 , +.Xr sigaltstack 2 , +.Xr signal 3 +.Sh 規格 +.Fn setjmp +関数と +.Fn longjmp +関数は +.St -ansiC +に準拠しています。 +.Fn sigsetjmp +関数と +.Fn siglongjmp +関数は +.St -p1003.1-88 +に準拠しています。 diff --git a/ja_JP.eucJP/man/man3/setlocale.3 b/ja_JP.eucJP/man/man3/setlocale.3 new file mode 100644 index 0000000000..17619761da --- /dev/null +++ b/ja_JP.eucJP/man/man3/setlocale.3 @@ -0,0 +1,336 @@ +.\" Copyright (c) 1993 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" This code is derived from software contributed to Berkeley by +.\" Donn Seeley at BSDI. +.\" +.\" 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. +.\" +.\" @(#)setlocale.3 8.1 (Berkeley) 6/9/93 +.\" +.Dd June 9, 1993 +.Dt SETLOCALE 3 +.Os +.Sh 名称 +.Nm setlocale , +.Nm localeconv +.Nd C 用の自然言語をフォーマットする +.Sh 書式 +.Fd #include +.Ft char * +.Fn setlocale "int category" "const char *locale" +.Ft struct lconv * +.Fn localeconv "void" +.Sh 解説 +.Fn setlocale +関数は、特定のルーチンのセットに関して、 +C +ライブラリにとっての +自然言語フォーマットスタイルの概念を設定します。 +このような各スタイル +は +.Sq ロケール +と呼ばれ、 +C +文字列として渡される適切な名前を使用して呼び出されます。 +.Fn localeconv +ルーチンは、現在のロケールの +数値フォーマット用パラメータを返します。 +.Pp +.Fn setlocale +関数は、ルーチンに関する複数のカテゴリを識別します。 +以下は、カテゴリとカテゴリが選択したルーチンのセットです。 +.Pp +.Bl -tag -width LC_MONETARY +.It Dv LC_ALL +ロケール全体を一般的に設定します。 +.It Dv LC_COLLATE +文字列照合ルーチン用にロケールを設定します。これは +.Fn strcoll +と +.Fn strxfrm +でのアルファベット順を制御します。 +.It Dv LC_CTYPE +.Xr ctype 3 , +.Xr mbrune 3 , +.Xr multibyte 3 +および +.Xr rune 3 +の各関数のロケールを設定します。 +これは、大文字と小文字、アルファベットと非アルファベット文字 +などの識別を制御します。実際の作業は +.Fn setrunelocale +関数によって行われます。 +.It Dv LC_MESSAGES +メッセージカタログのロケールを設定します。 +.Xr catopen 3 +関数を参照してください。 +.It Dv LC_MONETARY +通貨値のフォーマット用ロケールを設定します。これは +.Fn localeconv +関数に影響を及ぼします。 +.It Dv LC_NUMERIC +数字をフォーマットするためのロケールを設定します。これは、 +.Fn printf +と +.Fn scanf +のような関数の浮動小数点入出力の小数点フォーマットを +制御します。 +.Fn localeconv +によって返される値も制御します。 +.It Dv LC_TIME +.Fn strftime +関数を使用して日付と時刻をフォーマットするための +ロケールを設定します。 +.El +.Pp +デフォルトでは +3 +つのロケールだけが定義されています。空の文字列 +.Li "\&""\|"" +はネイティブの環境を表記します。そして +.Li "\&""C"" +および +.Li "\&""POSIX"" +ロケール、これは +C +言語環境を表記します。 +.Fa locale +引数が +.Dv NULL +の場合、 +.Fn setlocale +は現在のロケールを戻します。デフォルトでは、 +C +プログラムは +.Li "\&""C"" +ロケールで開始します。ロケールを設定する唯一のライブラリ内関数は +.Fn setlocale +です。 +ロケールは他のルーチンの副作用として変更されることはありません。 +.Pp +.Fn localeconv +関数は、数字、特に通貨値のフォーマット用パラメータを +提供する構造体を指すポインタを返します。 +.Bd -literal -offset indent +struct lconv { + char *decimal_point; + char *thousands_sep; + char *grouping; + char *int_curr_symbol; + char *currency_symbol; + char *mon_decimal_point; + char *mon_thousands_sep; + char *mon_grouping; + char *positive_sign; + char *negative_sign; + char int_frac_digits; + char frac_digits; + char p_cs_precedes; + char p_sep_by_space; + char n_cs_precedes; + char n_sep_by_space; + char p_sign_posn; + char n_sign_posn; +}; +.Ed +.Pp +個々のフィールドには次の意味があります。 +.Pp +.Bl -tag -width mon_decimal_point +.It Fa decimal_point +小数点文字。通貨値は除きます。 +.It Fa thousands_sep +小数点の前の数字のグループ間の分離記号。通貨値は除きます。 +.It Fa grouping +数字のグループのサイズ。通貨値は除きます。 +これは、整数のベクトルを指すポインタです。各整数のサイズは +.Va char +であり、低い位の数字から高い位の数字 +( +右から左 +) +までのグループのサイズを表します。リストは、 +0 +または +.Dv CHAR_MAX +で終了できます。リストが +0 +で終了する場合、 +0 +の前の最後のグループサイズは、すべての数字を埋めるために反復されます。 +リストが +.Dv CHAR_MAX +で終了される場合、それ以上のグループ化は実行されません。 +.It Fa int_curr_symbol +標準化された国際通貨シンボル +.It Fa currency_symbol +ローカルな通貨シンボル +.It Fa mon_decimal_point +通貨値に対する小数点文字 +.It Fa mon_thousands_sep +通貨値内の数字グループについての分離記号 +.It Fa mon_grouping +.Fa grouping +に類似していますが、通貨用 +.It Fa positive_sign +非負の通貨値を表記するのに使用される文字。 +通常は空の文字列 +.It Fa negative_sign +負の通貨値を表現するのに使用される文字。 +通常はマイナス符号 +.It Fa int_frac_digits +国際スタイルの通貨値における小数点以下の桁数 +.It Fa frac_digits +ローカルスタイルの通貨値における小数点以下の桁数 +.It Fa p_cs_precedes +非負の値に対して通貨値の前に通貨シンボルが置かれる場合は +1 +、通貨シンボルが通貨値の後に続く場合は +0 +.It Fa p_sep_by_space +非負の値について通貨シンボルと通貨値の間に +空白が挿入されている場合は +1 、そうでない場合は +0 +.It Fa n_cs_precedes +負の値について +.Fa p_cs_precedes +と同様 +.It Fa n_sep_by_space +負の値について +.Fa p_sep_by_space +と同様 +.It Fa p_sign_posn +非負の量および +.Fa currency_symbol +に関する +.Fa positive_sign +の位置。コードは次のとおり。 +.Bl -tag -width 3n -compact +.It Li 0 +文字列全体を囲む丸括弧 +.It Li 1 +文字列の前 +.It Li 2 +文字列の後 +.It Li 3 +.Fa currency_symbol +の直前 +.It Li 4 +.Fa currency_symbol +の直後 +.El +.It Fa n_sign_posn +負の通貨値について +.Fa p_sign_posn +と同様 +.El +.Pp +前述した場合を除いて、フィールドの値としての空の文字列は、 +結果の長さがゼロであるか、または現在のロケール内にはない値で +あることを示します。 +同様に +.Dv CHAR_MAX +の結果は利用できない値を表記します。 +.Sh 戻り値 +.Fn setlocale +関数は、指定の +.Fa category +と +.Fa locale +の組み合わせが意味をなさない場合は +.Dv NULL +を返してロケールを変更するのに失敗します。 +.Fn localeconv +関数は、後の +.Fn setlocale +または +.Fn localeconv +への呼び出しで変更される可能性のある静的オブジェクトを指す +ポインタを返します。 +.Sh ファイル +.Bl -tag -width /usr/share/locale/locale/category -compact +.It Pa $PATH_LOCALE/ Ns Em locale/category +.It Pa /usr/share/locale/ Ns Em locale/category +ロケール +.Em locale +とカテゴリ +.Em category +用のロケールファイル +.El +.Sh 関連項目 +.Xr colldef 1 , +.Xr mklocale 1 , +.Xr catopen 3 , +.Xr ctype 3 , +.Xr mbrune 3 , +.Xr multibyte 3 , +.Xr rune 3 , +.Xr strcoll 3 , +.Xr strxfrm 3 , +.Xr euc 4 , +.Xr utf2 4 +.Sh 規格 +.Fn setlocale +関数と +.Fn localeconv +関数は +.St -ansiC +に準拠しています。 +.Sh 歴史 +.Fn setlocale +関数と +.Fn localeconv +関数は最初に +.Bx 4.4 +に登場しました。 +.Sh バグ +現時点では、 +.Dv LC_COLLATE , +.Dv LC_CTYPE +および +.Dv LC_TIME +の各カテゴリ以外では、 +.Li "\&""C"" +と +.Li "\&""POSIX"" +ロケールだけしかサポートされていません。 +.Pp +.Fn localeconv +における整然としない通貨サポートにも関わらず、規格は、 +一般化された通貨フォーマットのための関数を組み入れていません。 +.Pp +われわれがリアルタイムの通貨変換機能を持つまでは、 +.Dv LC_MONETARY +の使用は間違った結果を導く可能性があります。 +.Dv LC_NUMERIC +と +.Dv LC_TIME +は個人的な選択肢であり、他のカテゴリでおおい隠すことはしないでください。 diff --git a/ja_JP.eucJP/man/man3/setmode.3 b/ja_JP.eucJP/man/man3/setmode.3 new file mode 100644 index 0000000000..0c35f2ef03 --- /dev/null +++ b/ja_JP.eucJP/man/man3/setmode.3 @@ -0,0 +1,116 @@ +.\" Copyright (c) 1989, 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. +.\" +.\" @(#)setmode.3 8.2 (Berkeley) 4/28/95 +.\" +.Dd April 28, 1995 +.Dt SETMODE 3 +.Os +.Sh 名称 +.Nm getmode , +.Nm setmode +.Nd モードビットを更新する +.Sh 書式 +.Fd #include +.Ft mode_t +.Fn getmode "const void *set" "mode_t mode" +.Ft void * +.Fn setmode "const char *mode_str" +.Sh 解説 +.Fn getmode +関数は、 +.Fa set +が指す値によって変更された様にファイルパーミッションビット +.Fa mode +のコピーを返します。モードビットだけが変更されるのに対し、 +ファイルモードの他の部分を調査できます。 +.Pp +.Fn setmode +関数は、 +.Xr chmod 1 +で述べた様に絶対値 +(8 +進数 +) +またはシンボリック値を引数として取り、 +.Fn getmode +に与えられるモード値を指すポインタを返します。 +ファイル作成マスクには相対的なシンボリック値もあるので、 +.Fn setmode +は +.Xr umask 2 +を呼び出すことがあります。これが生じた場合、ファイル作成マスクは +.Fn setmode +が復帰する前に復元されます。 +呼び出しプログラムがファイル作成マスクの値を +.Fn setmode +を呼び出した後で変更する場合、将来のファイルモードを正しく更新するために +.Fn getmode +を呼ぶなら、 +.Fn setmode +をもう一度呼び出す必要があります。 +.Pp +.Fn setmode +に渡されたモードが無効な場合、または戻り値に関する +メモリを割り当てできない場合、 +.Fn setmode +は +.Dv NULL +を返します。 +.Pp +.Fn setmode +から返された値は +.Fn malloc +から得られ、プログラムがその値に対する処理を終えた時、 +通常は +.Fn getmode +の呼び出しの後に、 +.Fn free +でシステムに返す必要があります。 +.Sh エラー +.Fn setmode +関数は、処理に失敗して +errno +をライブラリルーチン +.Xr malloc 3 +で指定されたエラーのどれかに設定することがあります。 +.Sh 関連項目 +.Xr chmod 1 , +.Xr stat 2 , +.Xr umask 2 , +.Xr malloc 3 +.Sh 歴史 +.Fn getmode +関数と +.Fn setmode +関数は +.Bx 4.4 +で最初に登場しました。 diff --git a/ja_JP.eucJP/man/man3/setproctitle.3 b/ja_JP.eucJP/man/man3/setproctitle.3 new file mode 100644 index 0000000000..134051e77b --- /dev/null +++ b/ja_JP.eucJP/man/man3/setproctitle.3 @@ -0,0 +1,103 @@ +.\" Copyright (c) 1995 Peter Wemm +.\" All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, is permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice immediately at the beginning of the file, without modification, +.\" 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. This work was done expressly for inclusion into FreeBSD. Other use +.\" is permitted provided this notation is included. +.\" 4. Absolutely no warranty of function or purpose is made by the author +.\" Peter Wemm. +.\" 5. Modifications may be freely made to this file providing the above +.\" conditions are met. +.\" +.\" $Id: setproctitle.3,v 1.1.1.1 1999-12-09 16:25:55 kuriyama Exp $ +.\" +.\" The following requests are required for all man pages. +.Dd December 16, 1995 +.Os FreeBSD +.Dt SETPROCTITLE 3 +.Sh 名称 +.Nm setproctitle +.Nd +.Xr ps 1 +用のプロセスタイトルを設定する +.Sh 書式 +.Fd #include +.Fd #include +.Ft void +.Fn setproctitle "const char *fmt" "..." +.Pp +Link with +.Va -lutil +on the +.Xr cc 1 +command line. +.Sh 解説 +.Fn setproctitle +ライブラリルーチンは、 +.Xr ps 1 +コマンドに現れるプロセスタイトル +を設定します。 +.Pp +タイトルは実行可能モジュールの名前に、 +.Va fmt +で指定される引数の +.Xr printf 3 +スタイルの拡張の結果が続いたもので設定されます。 +.Pp +.Va fmt +が NULL の場合、プロセスタイトルは実行可能モジュールの名前にリセット +されるだけです。 +.Sh 例 +デーモンにタイトルを設定してそのアクティビティを示す方法は次のとおりです。 +.Bd -literal -offset indent +setproctitle("talking to %s", inet_ntoa(addr)); +.Ed +.Sh 関連項目 +.Xr ps 1 , +.Xr w 1 , +.Xr kvm 3 , +.Xr kvm_getargv 3 , +.Xr printf 3 +.Sh 規格 +.Fn setproctitle +は、黙示的には標準ではありません。 +.Xr ps 1 +コマンド行が変化するようにする他の方法 +(argv[0] ストリング上のコピーを含む)も黙示的に +移植不可能です。システム付属の +.Fn setproctitle +が存在する場合は、これを使用する方が賢明です。 +.Pp +不都合なことに、 +.Fn setproctitle +の他のバージョンを呼び出す他の規約がある +可能性があります。ただし、作者はまだどれも見つけていません。これは主導的な +慣行であると信じられています。 +.Pp +実現は、 +.Tn NetBSD +と +.Tn BSD/OS +も含めて、実現システムは他のシステムとの +互換性があると考えられます。 +.Sh 歴史 +.Fn setproctitle +は +.Fx 2.2 +で最初に現れました。 +他のオペレーティングシステムも同じような機能を持っています。 +.Sh 作者 +.An Peter Wemm Aq peter@FreeBSD.org +は、 +.An Eric Allman Aq eric@sendmail.org +による +.Sy "Sendmail 8.7.3" +ソースコードからアイデアを取りました。 diff --git a/ja_JP.eucJP/man/man3/setruid.3 b/ja_JP.eucJP/man/man3/setruid.3 new file mode 100644 index 0000000000..b559b159e4 --- /dev/null +++ b/ja_JP.eucJP/man/man3/setruid.3 @@ -0,0 +1,78 @@ +.\" Copyright (c) 1983, 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. +.\" +.\" @(#)setruid.3 8.1 (Berkeley) 6/2/93 +.\" +.Dd June 2, 1993 +.Dt SETRUID 3 +.Os BSD 4.2 +.Sh 名称 +.Nm setruid , +.Nm setrgid +.Nd ユーザとグループ ID を設定する +.Sh 書式 +.Fd #include +.Ft int +.Fn setruid "uid_t ruid" +.Ft int +.Fn setrgid "gid_t rgid" +.Sh 解説 +.Fn setruid +関数 +.Pq Fn setrgid +は、現在のプロセスの実際のユーザ ID (グループ ID) を +設定します。 +.Sh 戻り値 +処理が成功すると、これらの関数は 0 を返します。 +そうでない場合は \-1 が返されます。 +.Pp +ユーザがスーパーユーザでない場合、または指定された uid +が実際のすなわち有効な ID でない場合、これらの関数は +\-1 を返します。 +.Pp +これらの呼び出しの使用は移植可能ではありません。 +これらを使用するのはお勧めできません。将来除去される予定だからです。 +.Sh 関連項目 +.Xr getgid 2 , +.Xr getuid 2 , +.Xr setegid 2 , +.Xr seteuid 2 , +.Xr setgid 2 , +.Xr setuid 2 +.Sh 歴史 +.Fn setruid +と +.Fn setrgid +システムコールは +.Bx 4.2 +で現れ、 +.Bx 4.4 +で落とされました。 diff --git a/ja_JP.eucJP/man/man3/siginterrupt.3 b/ja_JP.eucJP/man/man3/siginterrupt.3 new file mode 100644 index 0000000000..aeffc51ca9 --- /dev/null +++ b/ja_JP.eucJP/man/man3/siginterrupt.3 @@ -0,0 +1,112 @@ +.\" Copyright (c) 1985, 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. +.\" +.\" @(#)siginterrupt.3 8.1 (Berkeley) 6/4/93 +.\" +.Dd June 4, 1993 +.Dt SIGINTERRUPT 3 +.Os BSD 4.3 +.Sh 名称 +.Nm siginterrupt +.Nd 信号がシステムコールを中断できるようにする +.Sh 書式 +.Fd #include +.Ft int +.Fn siginterrupt "int sig" "int flag" +.Sh 解説 +.Fn siginterrupt +関数を使用して、システムコールが指定の信号によって割り込まれたときに、 +システムコール再開始の動作を変更します。 +フラグが偽 (0) の場合、システムコールは、指定の信号によって割り込みされ、 +しかもデータがまだ転送されていない場合に再開始されます。 +システムコールの再開始は、 +.Bx 4.2 +以降のデフォルトの動作であり、 +.Tn FreeBSD +での +.Xr signal 3 +のデフォルトの +動作です。 +.Pp +フラグが真 (1) の場合、 +システムコールの再開始は無効になります。 +システムコールが指定の信号によって割り込みされ、 +しかもデータが転送されていない場合、 +システムコールは \-1 で返り、グローバル変数 +.Va errno +は +.Dv EINTR +に設定されます。 +データの転送を開始した中断されたシステムコールは、 +実際に転送されたデータの量を返します。 +システムコール割り込みは、 +.Bx 4.1 +と +.At V +システムで見つかった信号動作です。 +.Pp +新しい +.Bx 4.2 +信号処理意味論はどちらにしても変更されていません。 +最も著しいことに、信号ハンドラは、後続の +.Xr sigaction 2 +呼び出しによって明示的に変更されるまで、そして +.Xr sigaction 2 +で文書化したように信号マスクが動作するまで、 +必ずインストールされたままになります。 +プログラムは、プログラムの実行の間、必要なだけ頻繁に再起動可能な +システムコール操作と割り込み可能なシステムコール操作の間で切り替えできます。 +.Pp +信号ハンドラの実行の間に +.Fn siginterrupt 3 +を呼び出すと、捕捉される次の信号で +新しい処置が行われます。 +.Sh 注 +このライブラリルーチンは、 +.Bx 4.2 +では利用できない +.Xr sigaction 2 +システムコールの拡張を使用しています。 +ですから、後方互換性が必要な場合、これは使用しないでください。 +.Sh 戻り値 +値 0 は、呼び出しが成功したことを示します。 +値 \-1 は無効な信号番号が与えられたことを示します。 +.Sh 関連項目 +.Xr sigaction 2 , +.Xr sigblock 2 , +.Xr sigpause 2 , +.Xr sigsetmask 2 , +.Xr signal 3 +.Sh 歴史 +.Fn siginterrupt +関数は +.Bx 4.3 +で現れました。 diff --git a/ja_JP.eucJP/man/man3/signal.3 b/ja_JP.eucJP/man/man3/signal.3 new file mode 100644 index 0000000000..0d0afddf25 --- /dev/null +++ b/ja_JP.eucJP/man/man3/signal.3 @@ -0,0 +1,233 @@ +.\" 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. +.\" +.\" @(#)signal.3 8.3 (Berkeley) 4/19/94 +.\" +.Dd April 19, 1994 +.Dt SIGNAL 3 +.Os BSD 4 +.Sh 名称 +.Nm signal +.Nd 単純化されたソフトウェア信号機能 +.Sh 書式 +.Fd #include +.\" The following is Quite Ugly, but syntactically correct. Don't try to +.\" fix it. +.Ft void \*(lp* +.Fn signal "int sig" "void \*(lp*func\*(rp\*(lpint\*(rp\*(rp\*(rp\*(lpint" + +or in FreeBSD's equivalent but easier to read typedef'd version: +.Ft typedef "void \*(lp*sig_t\*(rp \*(lpint\*(rp" +.Ft sig_t +.Fn signal "int sig" "sig_t func" +.Sh 解説 +この +.Fn signal +機能は、もっと一般的な +.Xr sigaction 2 +機能への単純化された +インタフェースです。 +.Pp +信号によって、そのドメイン外のプロセスの操作が可能になり、プロセスが +自身または自身のコピー(子プロセス)を操作できます。信号には次の2 つの +一般的なタイプがあります。プロセスを終了させるもの、 +およびそうではないものです。プログラムの終了を発生させる信号は、 +回復不可能なエラーの結果であることもありますし、「割り込み」キャラクタを +入力する端末のユーザの結果であることもあります。信号が使用されるのは、 +プロセスが停止されたときです。バックグラウンドにありながら制御端末に +アクセスする必要があるからです +( +.Xr tty 4 +を参照 +) +。信号がオプションで生成されるのは、 +プロセスが停止された後、再開されるとき、子プロセスのステータスが +変化したとき、または入力が制御端末で準備ができているときです。処置が +行われない場合、ほとんどの信号は信号を受け取るプロセスの終了という +結果になります。信号によっては、代わりにプロセスが +信号を受け取ってから停止させるものもありますし、プロセスが別の +要求をされていない場合は単に廃棄されるものもあります。 +.Dv SIGKILL +信号と +.Dv SIGSTOP +信号を除いて、 +.Fn signal +関数は、信号を捕捉、無視、または割り込み生成できるようにします。 +これらの信号はファイル +.Aq Pa signal.h +に +定義されています。 +.Bl -column SIGVTALARMXX "create core imagexxx" +.It Sy " 名前 " " デフォルト処置 " " 説明" +.It Dv SIGHUP No " プロセスの終了" " 端末ラインのハングアップ" +.It Dv SIGINT No " プロセスの終了" " プログラムに割り込む" +.It Dv SIGQUIT No " コアイメージ作成" " プログラムを終了する" +.It Dv SIGILL No " コアイメージ作成" " 不正命令" +.It Dv SIGTRAP No " コアイメージ作成" " トラップを追跡する" +.It Dv SIGABRT No " コアイメージ作成" Xr abort 2 +呼び出し ( 以前は +.Dv SIGIOT ) +.It Dv SIGEMT No " コアイメージ作成" " エミュレート命令が実行される" +.It Dv SIGFPE No " コアイメージ作成" " 浮動小数点例外" +.It Dv SIGKILL No " プロセスの終了" " プログラムを抹消する" +.It Dv SIGBUS No " コアイメージ作成" " バスエラー" +.It Dv SIGSEGV No " コアイメージ作成" " セグメント化侵犯" +.It Dv SIGSYS No " コアイメージ作成" " 不存在のシステムコールを呼び出す" +.It Dv SIGPIPE No " プロセスの終了" " リーダー(reader)のないパイプに書き込む" +.It Dv SIGALRM No " プロセスの終了" " リアルタイマが時間切れ" +.It Dv SIGTERM No " プロセスの終了" " ソフトウェア終了信号" +.It Dv SIGURG No " 信号の廃棄" " ソケット上に存在する緊急状況" +.It Dv SIGSTOP No " プロセスの停止" " 停止する(捕捉または無視できない)" +.It Dv SIGTSTP No " プロセスの停止" " キーボードから生成された信号を停止する" +.It Dv SIGCONT No " 信号を廃棄" " 停止の後も継続する" +.It Dv SIGCHLD No " 信号を廃棄" " 子ステータスが変化した" +.It Dv SIGTTIN No " プロセス停止" " 制御端末から試みられたバックグラウンド読み取り" +.It Dv SIGTTOU No " プロセス停止" " 制御端末について試みられたバックグラウンド書き込み" +.It Dv SIGIO No " 信号廃棄" Tn " " +記述子上で入出力が可能 +( +.Xr fcntl 2 +を参照) +.It Dv SIGXCPU No " プロセスの終了" " プロセス cpu 時間制限を超過 ( +.Xr setrlimit 2 +を参照) +.It Dv SIGXFSZ No " プロセスの終了" " ファイルサイズ制限を超過 ( +.Xr setrlimit 2 +を参照) +.It Dv SIGVTALRM No " プロセスの終了" " 仮想時間アラーム ( +.Xr setitimer 2 +を参照) +.It Dv SIGPROF No " プロセスの終了" " プロファイル化タイマアラーム ( +.Xr setitimer 2 +を参照) +.It Dv SIGWINCH No " 信号を廃棄" " ウィンドウサイズの変化" +.It Dv SIGINFO No " 信号を廃棄" " キーボードからのステータス要求" +.It Dv SIGUSR1 No " プロセスの終了" " ユーザ定義信号 1" +.It Dv SIGUSR2 No " プロセスの終了" " ユーザ定義信号 2" +.El +.Pp +.Fa sig +パラメータはどの信号が受信されたかを指定します。 +.Fa func +プロシージャは、 +ユーザが信号受信時に処置を選択できるようにします。上記にリストしたように +発生するよう信号のデフォルト処置を設定するには、 +.Fa func +は +.Dv SIG_DFL +である +必要があります。 +.Dv SIG_DFL +は、デフォルトの処置をリセットします。信号を +無視するためには、 +.Fa func +は +.Dv SIG_IGN +にする必要があります。これによって、 +後続の信号のインスタンスが無視され、中断中のインスタンスが廃棄されます。 +.Dv SIG_IGN +が使用されない場合は、それ以上に発生した信号は自動的にブロック +され、 +.Fa func +が呼び出されます。 +.Pp +取り扱われる信号は、関数が戻るときにはブロックされず、信号が発生したときに +プロセスは中断したところから継続します。 +.Bf -symbolic +以前の信号機能と違って、ハンドラ func() は信号が配信された後も +インストールされたままになります。 +.Ef +.Pp +システムコールによっては、呼び出しが実行中に信号が捕捉され、呼び出しが +完了前に終了された場合、呼び出しが自動的に再開されます +(ハンドラは +.Xr sigaction 2 +で +.Dv SA_RESTART +フラグを使用してインストールされます)。 +影響を +受けるシステムコールには、通信チャネル上または低速デバイス上および +.Xr ioctl 2 +または +.Xr wait 2 +の間の、 +.Xr read 2 , +.Xr write 2 , +.Xr sendto 2 , +.Xr recvfrom 2 , +.Xr sendmsg 2 , +および +.Xr recvmsg 2 +が含まれます。 +しかし、既にコミット済みの呼び出しは再開始されず、 +代わりに部分的な処理成功が返されます ( たとえば、短い読み取りカウント )。 +.Pp +信号ハンドラをインストールしたプロセスがフォークすると、子プロセスは信号を +継承します。 +捕捉されたすべての信号が、 +.Xr execve 2 +関数の呼び出しによって、デフォルトの処置にリセットされます。無視された信号は +無視されたままになります。 +.Sh 戻り値 +呼び出しが成功すると、直前の処置が返されます。 +そうでない場合、SIG_ERR が返され、グローバル変数 +.Va errno +が設定されてエラーを示します。 +.Sh エラー +.Fn signal +は次のうちの +1 つが発生すると処理失敗し、処置は取られません。 +.Bl -tag -width [EINVAL] +.It Bq Er EINVAL +.Em Sig +は有効な信号番号ではありません。 +.It Bq Er EINVAL +.Dv SIGKILL +または +.Dv SIGSTOP +についてのハンドラを無視または指定しようとする試みが行われます。 +.Sh 関連項目 +.Xr kill 1 , +.Xr kill 2 , +.Xr ptrace 2 , +.Xr sigaction 2 , +.Xr sigaltstack 2 , +.Xr sigprocmask 2 , +.Xr sigsuspend 2 , +.Xr fpsetmask 3 , +.Xr setjmp 3 , +.Xr tty 4 +.Sh 歴史 +この +.Nm signal +機能は +.Bx 4.0 +で現れました。 diff --git a/ja_JP.eucJP/man/man3/sigsetops.3 b/ja_JP.eucJP/man/man3/sigsetops.3 new file mode 100644 index 0000000000..cd236e86ce --- /dev/null +++ b/ja_JP.eucJP/man/man3/sigsetops.3 @@ -0,0 +1,108 @@ +.\" Copyright (c) 1983, 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. +.\" +.\" @(#)sigsetops.3 8.1 (Berkeley) 6/4/93 +.\" +.Dd June 4, 1993 +.Dt SIGSETOPS 3 +.Os +.Sh 名称 +.Nm sigemptyset , +.Nm sigfillset , +.Nm sigaddset , +.Nm sigdelset , +.Nm sigismember +.Nd 信号セットを操作 +.Sh 書式 +.Fd #include +.Ft int +.Fn sigemptyset "sigset_t *set" +.Ft int +.Fn sigfillset "sigset_t *set" +.Ft int +.Fn sigaddset "sigset_t *set" "int signo" +.Ft int +.Fn sigdelset "sigset_t *set" "int signo" +.Ft int +.Fn sigismember "const sigset_t *set" "int signo" +.Sh 解説 +これらの関数は、 +.Fa sigset_t +に保存された信号セットを操作します。 +.Fa sigset_t +型の各オブジェクトについて +.Fn sigemptyset +または +.Fn sigfillset +のどちらかを呼び出した後で、オブジェクトを他のように使用します。 +.Pp +.Fn sigemptyset +関数は信号セットを空に初期化します。 +.Pp +.Fn sigfillset +関数は、信号セットをすべての信号が含まれるように初期化します。 +.Pp +.Fn sigaddset +関数は、信号セットに、指定の信号 +.Fa signo +を追加します。 +.Pp +.Fn sigdelset +関数は、信号セットから、指定の信号 +.Fa signo +を削除します。 +.Pp +.Fn sigismember +関数は、指定の信号 +.Fa signo +が信号セットに含まれるかどうかを返します。 +.Pp +これらの関数は +インクルードファイル 内にマクロとして備えられています。 +(#undef +.Em 名前 +を使用して)名前が未定義であっても実際の関数は利用できます 。 +.Sh 戻り値 +.Fn sigismember +関数は、信号がセットのメンバである場合は +1 を返します。 +そうでない場合は 0 を返します。 +他の関数は 0 を返します。 +.Sh エラー +現時点ではエラーは検出されていません。 +.Sh 関連項目 +.Xr kill 2 , +.Xr sigaction 2 , +.Xr sigsuspend 2 +.Sh 規格 +これらの関数は、 +.St -p1003.1-88 +によって定義されています。 diff --git a/ja_JP.eucJP/man/man3/sin.3 b/ja_JP.eucJP/man/man3/sin.3 new file mode 100644 index 0000000000..eed96b21dc --- /dev/null +++ b/ja_JP.eucJP/man/man3/sin.3 @@ -0,0 +1,78 @@ +.\" Copyright (c) 1991 The Regents of the University of California. +.\" All rights reserved. +.\" +.\" @(#)sin.3 6.7 (Berkeley) 4/19/91 +.\" 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. +.\" +.\" from: @(#)sin.3 6.7 (Berkeley) 4/19/91 +.\" $Id: sin.3,v 1.1.1.1 1999-12-09 16:25:55 kuriyama Exp $ +.\" +.Dd April 19, 1991 +.Dt SIN 3 +.Os +.Sh 名称 +.Nm sin , +.Nm sinf +.Nd 正弦関数 +.Sh 書式 +.Fd #include +.Ft double +.Fn sin "double x" +.Ft float +.Fn sinf "float x" +.Sh 解説 +.Fn sin +関数と +.Fn sinf +関数は、 +.Fa x +(ラジアン単位)の正弦を計算します。 +引数の大きさがあまりに大きいと、少ししか意味がないか、 +まったく意味のない結果が出されることになります。 +.Sh 戻り値 +.Fn sin +関数と +.Fn sinf +関数は正弦値を返します。 +.Sh 関連項目 +.Xr acos 3 , +.Xr asin 3 , +.Xr atan 3 , +.Xr atan2 3 , +.Xr cos 3 , +.Xr cosh 3 , +.Xr math 3 , +.Xr sinh 3 , +.Xr tan 3 , +.Xr tanh 3 +.Sh 規格 +.Fn sin +関数は +.St -ansiC +に準拠しています。 diff --git a/ja_JP.eucJP/man/man3/sinh.3 b/ja_JP.eucJP/man/man3/sinh.3 new file mode 100644 index 0000000000..f0c6d4f875 --- /dev/null +++ b/ja_JP.eucJP/man/man3/sinh.3 @@ -0,0 +1,82 @@ +.\" 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. +.\" +.\" from: @(#)sinh.3 6.6 (Berkeley) 4/19/91 +.\" $Id: sinh.3,v 1.1.1.1 1999-12-09 16:25:55 kuriyama Exp $ +.Dd April 19, 1991 +.Dt SINH 3 +.Os +.Sh 名称 +.Nm sinh , +.Nm sinhf +.Nd 双曲線正弦関数 +.Sh 書式 +.Fd #include +.Ft double +.Fn sinh "double x" +.Ft float +.Fn sinhf "float x" +.Sh 解説 +.Fn sinh +関数と +.Fn sinhf +関数は +.Fa x +の双曲線正弦を計算します。 +.Sh 戻り値 +.Fn sinh +関数と +.Fn sinhf +関数は双曲線正弦値を返します。ただし、 +.Fa x +があまりに +大きい場合は除きます。この場合、グローバル変数 +.Va errno +が +.Er ERANGE +に +設定されます。 +.Sh 関連項目 +.Xr acos 3 , +.Xr asin 3 , +.Xr atan 3 , +.Xr atan2 3 , +.Xr cos 3 , +.Xr cosh 3 , +.Xr math 3 , +.Xr sin 3 , +.Xr tan 3 , +.Xr tanh 3 +.Sh 規格 +.Fn sinh +関数は +.St -ansiC +に準拠しています。 diff --git a/ja_JP.eucJP/man/man3/skey.3 b/ja_JP.eucJP/man/man3/skey.3 new file mode 100644 index 0000000000..326761fe05 --- /dev/null +++ b/ja_JP.eucJP/man/man3/skey.3 @@ -0,0 +1,156 @@ +.\" Copyright (c) 1996 +.\" David L. Nugent. 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 DAVID L. NUGENT 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 DAVID L. NUGENT 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: skey.3,v 1.1.1.1 1999-12-09 16:25:55 kuriyama Exp $ +.\" +.Dd December 22, 1996 +.Dt SKEY 3 +.Os +.Sh 名称 +.Nm skeylookup , +.Nm skeyverify , +.Nm skeychallenge , +.Nm skeyinfo , +.Nm skeyaccess , +.Nm skey_getpass , +.Nm skey_crypt +.Nd S/Key パスワード制御テーブルアクセス用のライブラリルーチン +.Sh 書式 +.Fd #include +.Fd #include +.Ft int +.Fn skeylookup "struct skey *mp" "const char *name" +.Ft int +.Fn skeyverify "struct skey *mp" "char *response" +.Ft int +.Fn skeychallenge "struct skey *mp" "const char *name" "char *challenge" +.Ft int +.Fn skeyinfo "struct skey *mp" "const char *name" "char *ss" +.Ft int +.Fn skeyaccess "char *user" "const char *port" "const char *host" "const char *addr" +.Ft char * +.Fn skey_getpass "const char *prompt" "struct passwd *pwd" "int pwok" +.Ft char * +.Fn skey_crypt "char *pp" "char *salt" "struct passwd *pwd" "int pwok" +.Sh 解説 +これらのルーチンは、コンピュータシステムへのアクセスに使用される +S/Key 一時パスワードシステムをサポートします。 +S/Key システム自体についての詳細は、 +.Xr skey 1 +を参照してください。 +.Pp +.Pp +.Fn skeylookup +は、一時のパスワードデータベースでエントリを検出します。 +処理が成功すると(指定の名前に対応するエントリが検出されると)、 +呼び出し元によって渡された skey 構造が埋められ 0 が返されます。 +ファイルの読み取り/書き込みポインタは検出されたレコードの先頭に配置されます。 +指定の名前に対応するエントリが見つからない場合は、 +ファイルの読み取り/書き込みポインタがファイルの末尾に配置され、 +ルーチンは 1 を返します。 +データベースが開けない場合、またはアクセスエラーが発生する場合、 +.Fn skeylookup +は -1 を返します。 +.Pp +.Fn skeyinfo +関数は、ユーザ「名」用の skey 情報をルックアップします。 +処理が成功すると、呼び出し元の skey 構造が埋められ、 +.Fn skeyinfo +は 0 を返します。 +オプションのチャレンジストリングバッファが与えられた場合は、それが更新されます。 +処理が失敗すると(たとえば、名前が未知の場合、または +データベースにアクセスできない場合)、-1 が返されます。 +.Pp +.Fn skeychallenge +は、「名前」についての skey チャレンジストリングを返します。 +処理が成功すると、呼び出し元の skey 構造が埋められ、関数は 0 を +返します。ファイル読み取り/書き込みポインタは +レコードの先頭に残されます。 +処理が成功しないと(すなわち、名前が見つからないと)、関数は +-1 を返し、データベースは閉じられます。 +.Pp +.Fn skeyverify +は、s/key チャレンジへの応答を検証します。 +この関数が 0 を返した場合、検証は成功であり、 +データベースはアップデートされています。 +1 が返された場合、検証は処理失敗し、データベースは変化しないままです。 +-1 が返された場合、何らかの種類のエラーがデータベースについて発生しており、 +データベースは変化しないままです。 +s/key データベースは必ずこの呼び出しによって閉じられます。 +.Pp +.Fn skey_getpass +関数を使用して、正規のパスワードまたは s/key パスワードを +読み取ることができます。 +使用するプロンプトは、関数に渡されます。ユーザが +検証できる完全な(安全な) struct passwd と一緒にです。 +.Fn skey_getpass +は、ユーザのパスワードを取り出そうとする最初の試みにおいて標準ライブラリ +getpass を使用し、それがブランクの場合、エコーバックして S/Key パスワード +を取り出します。 +いずれの場合でも、入力したストリングは呼び出し元に +返されます。 +.Pp +.Fn skey_crypt +は、標準ライブラリ +.Xr crypt 3 +用のラッパー関数です。 +これは、指定の s/key パスワードまたは正規のパスワードのどちらかが +OK の場合、暗号化された UNIX パスワードを返します。 +.Fn skey_crypt +は、最初に skey 方式によって指定パスワードの確認を試み、 +それが確認できる場合は、ユーザが正しい UNIX パスワードを実際に +入力したかのように、passwd 構造から暗号化されたパスワードを返します。 +s/key +パスワード検証が機能しない場合、 +パスワードは通常の方法で暗号化され、結果は呼び出し元に渡されます。 +passwd 構造ポインタが NULL の場合、 +.Fn skey_crypt +は、NULL でないストリングを返します。このストリングは有効な +UNIX パスワードとは言えません(すなわち、「:」の入ったストリングです)。 +.Pp +.Fn skeyaccess +関数は、ユーザ名、グループメンバ、端末ポート、ホスト名、および +ネットワークの組み合わせについて、従来の UNIX (S/Key でない) +パスワードが使用できるかどうかを判定します。UNIX パスワードが使用できる場合、 +.Fn skeyaccess +は、ゼロでない値を返します。UNIX パスワードが使用できない場合、 +0 を返します。 +この関数が使用する skey.access 構成ファイルのレイアウトと構造の詳細については、 +.Xr skey.access 5 +を参照してください。 +.Sh 戻り値 +上記を参照。 +.Sh 関連項目 +.Xr skey 1 , +.Xr skey.access 5 +.Sh バグ +複数のプロセスからの同時アクセスを防止するために +s/key データベースについては助言のロックは行われません。 +これはファイル内でキーが追加または更新されるときは、通常、 +問題ではありませんが、キーが除去されるときは問題がある可能性があります。 +.Sh 作者 +.An Phil Karn , +.An Neil M. Haller , +.An John S. Walden , +.An Scott Chasin diff --git a/ja_JP.eucJP/man/man3/sleep.3 b/ja_JP.eucJP/man/man3/sleep.3 new file mode 100644 index 0000000000..d3f7e143cf --- /dev/null +++ b/ja_JP.eucJP/man/man3/sleep.3 @@ -0,0 +1,83 @@ +.\" Copyright (c) 1986, 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. +.\" +.\" @(#)sleep.3 8.1 (Berkeley) 6/4/93 +.\" $Id: sleep.3,v 1.1.1.1 1999-12-09 16:25:55 kuriyama Exp $ +.\" +.Dd Feb 13, 1998 +.Dt SLEEP 3 +.Os +.Sh 名称 +.Nm sleep +.Nd 秒単位で測定される間隔についてプロセス実行を延期する +.Sh 書式 +.Fd #include +.Ft unsigned int +.Fn sleep "unsigned int seconds" +.Sh 解説 +.Fn sleep +関数は、 +.Fa seconds +秒が経過するか、または信号がプロセスに配信されその +処置が信号捕捉関数を起動するかプロセスを終了するまで、呼び出しプロセスの +実行を延期します。 +システムアクティビティは、不確定の量だけスリープを長くする可能性があります。 +.Pp +この関数は、 +.Fa seconds +秒だけ停止することによって、または信号が発生するまで、 +.Xr nanosleep 2 +を使用して実現されています。したがって、ここでは、スリープは +プロセスタイマの状態に何の影響もなく、SIGALRM +の特別な処理もありません。 +.Sh 戻り値 +要求された時間が経過したために +.Fn sleep +関数が戻った場合、返される値は +0 です。信号の配信のために +.Fn sleep +関数が戻った場合、返される値は +スリープでない時間量(秒単位) +になります(これは要求された時間から実際にスリープした +時間を減算したものです)。 +.Sh 関連項目 +.Xr nanosleep 2 , +.Xr usleep 3 +.Sh 規格 +.Fn sleep +関数は +.St -p1003.1-90 +に準拠しています。 +.Sh 歴史 +.Fn sleep +関数は +.At v7 +で現れました。 diff --git a/ja_JP.eucJP/man/man3/sqrt.3 b/ja_JP.eucJP/man/man3/sqrt.3 new file mode 100644 index 0000000000..ede25d8d75 --- /dev/null +++ b/ja_JP.eucJP/man/man3/sqrt.3 @@ -0,0 +1,133 @@ +.\" Copyright (c) 1985, 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. +.\" +.\" from: @(#)sqrt.3 6.4 (Berkeley) 5/6/91 +.\" $Id: sqrt.3,v 1.1.1.1 1999-12-09 16:25:55 kuriyama Exp $ +.\" +.Dd May 6, 1991 +.Dt SQRT 3 +.Os +.Sh 名称 +.Nm cbrt , +.Nm cbrtf , +.Nm sqrt , +.Nm sqrtf +.Nd 立方根関数と平方根関数 +.Sh 書式 +.Fd #include +.Ft double +.Fn cbrt "double x" +.Ft float +.Fn cbrtf "float x" +.Ft double +.Fn sqrt "double x" +.Ft float +.Fn sqrtf "float x" +.Sh 解説 +.Fn cbrt +関数と +.Fn cbrtf +関数は +.Ar x +の立方根を計算します。 +.Pp +.Fn sqrt +関数と +.Fn sqrtf +関数は、 +.Ar x +の負でない平方根を計算します。 +.Sh 戻り値 +.Fn cbrt +関数と +.Fn cbrtf +関数は、要求された立方根を返します。 +.Fn sqrt +関数と +.Fn sqrtf +関数は、エラーが発生した場合を除いて、要求された平方根を返します。 +.Tn VAX +または +.Tn Tahoe +プロセッサは、負の +.Fa x +の +.Fn sqrt +を取ろうとするとエラーが発生します。この場合、 +グローバル変数 +.Va errno +が +.Dv EDOM +に設定され、予備のオペランド障害が生成されます。 +.Sh エラー (切り捨てなどによるもの) +.Fn cbrt +関数は、 +0.7 +.Em ulp +まで正確です。 +.Pp +.Tn VAX +上の +.Fn sqrt +関数は +0.501 +.Em ulp +内まで正確です。 +.Tn IEEE +754 に準拠するマシン上の +.\" .Fn sqrt +sqrt は、実施中の丸めモードに従って正確に丸められます。エラー +は、デフォルトモード(四捨五入)で +.Em ulp +の半分未満です。 +.Em ulp +は、実行された +最後の場所の単位 +( +.Em U Ns nit +in the +.Em L Ns ast +.Em P Ns lace +) +です。 +.Sh 関連項目 +.Xr math 3 +.Pp +.Sh 規格 +.Nm sqrt +関数は +.St -ansiC +に準拠しています。 +.Sh 歴史 +.Fn cbrt +関数は +.Bx 4.3 +で現れました。 diff --git a/ja_JP.eucJP/man/man3/stdarg.3 b/ja_JP.eucJP/man/man3/stdarg.3 new file mode 100644 index 0000000000..9d966856e7 --- /dev/null +++ b/ja_JP.eucJP/man/man3/stdarg.3 @@ -0,0 +1,200 @@ +.\" Copyright (c) 1990, 1991, 1993 +.\" 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 8.1 (Berkeley) 6/5/93 +.\" $Id: stdarg.3,v 1.1.1.1 1999-12-09 16:25:55 kuriyama Exp $ +.\" +.Dd June 5, 1993 +.Dt STDARG 3 +.Os +.Sh 名称 +.Nm stdarg +.Nd 変数引数リスト +.Sh 書式 +.Fd #include +.Ft void +.Fn va_start "va_list ap" last +.Ft type +.Fn va_arg "va_list ap" type +.Ft void +.Fn va_end "va_list ap" +.Sh 解説 +関数はさまざまな型のさまざまな数の引数で呼び出せます。 +インクルードファイル +.Aq Pa stdarg.h +は、型 +.Pq Em va_list +を宣言し、呼び出される関数には数字と型が +未知の引数リストをステップするために +3 つのマクロを定義します。 +.Pp +呼び出される関数は、 +.Em va_list +型のオブジェクトを宣言する必要があります。 +これは、マクロ +.Fn va_start +、 +.Fn va_arg +、および +.Fn va_end +によって使用されます。 +.Pp +.Fn va_start +マクロは、 +.Fn va_arg +と +.Fn va_end +が後に使用する +.Fa ap +を初期化し、 +最初に呼び出す必要があります。 +.Pp +パラメータ +.Fa last +は変数引数リストの前の最後のパラメータの名前です。 +すなわち、呼び出し関数が型を認識している最後のパラメータです。 +.Pp +このパラメータのアドレスは +.Fn va_start +マクロで使用されるので、 +レジスタ変数または関数または配列型として宣言してはなりません。 +.Pp +.Fn va_start +マクロは値を返しません。 +.Pp +.Fn va_arg +マクロは、呼び出しの次の引数の型と値がある式に展開されます。 +パラメータ +.Fa ap +は、 +.Fn va_start +によって初期化される +.Em va_list Fa ap +です。 +.Fn va_arg +の呼び出しごとに +.Fa ap +は修正され、次の呼び出しが次の引数を返します。 +パラメータ +.Fa type +は、指定型のオブジェクトを指すポインタの型が * を +.Fa type +に追加するだけで得られるように指定された型名です。 +.Pp +次の引数がない場合、または +.Fa type +が(デフォルトの引数生成に従って生成されたような) +実際の次の引数の型と互換性がない場合、 +ランダムなエラーが発生します。 +.Pp +.Fn va_start +マクロの後の最初の +.Fn va_arg +マクロの使用によって、 +.Fa last +の後の引数が返されます。 +連続的な呼び出しによって、残りの引数の値が返されます。 +.Pp +.Fn va_end +マクロは、変数引数リストが +.Fn va_start +によって初期化される関数の正常な +戻りを取り扱います。 +.Pp +.Fn va_end +マクロは値を返しません。 +.Sh 例 +関数 +.Em foo +は、形式キャラクタのストリングを取り上げ、型を基礎にして各形式 +キャラクタに対応する引数を印刷します。 +.Bd -literal -offset indent +void foo(char *fmt, ...) +{ + va_list ap; + int d; + char c, *p, *s; + + va_start(ap, fmt); + while (*fmt) + switch(*fmt++) { + case 's': /* ストリング */ + s = va_arg(ap, char *); + printf("string %s\en", s); + break; + case 'd': /* 整数 */ + d = va_arg(ap, int); + printf("int %d\en", d); + break; + case 'c': /* キャラクタ */ + /* 注意: キャラクタは整数を生成する。 */ + c = va_arg(ap, int); + printf("char %c\en", c); + break; + } + va_end(ap); +} +.Ed +.Sh 規格 +.Fn va_start +、 +.Fn va_arg +、および +.Fn va_end +の各マクロは +.St -ansiC +に準拠しています。 +.Sh 互換性 +これらのマクロは、置き換えられる歴史的なマクロと互換性がありま +.Em せん +。 +後方互換バージョンはインクルードファイル +.Aq Pa varargs.h +の中にあります。 +.Sh バグ +.Em varargs +マクロと違って、 +.Nm stdarg +マクロでは、プログラマは、固定した引数のない +関数を作成することができません。この問題は、主に +.Em varargs +コードを +.Nm stdarg +コードに変換するときに作業を生じさせますが、 +.Xr vfprintf 3 +のように、 +.Em va_list +引数を取る関数にすべての引数を渡そうとする各種の関数についても困難を +生じさせます。 diff --git a/ja_JP.eucJP/man/man3/stdio.3 b/ja_JP.eucJP/man/man3/stdio.3 new file mode 100644 index 0000000000..95e14b079e --- /dev/null +++ b/ja_JP.eucJP/man/man3/stdio.3 @@ -0,0 +1,293 @@ +.\" Copyright (c) 1990, 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. +.\" +.\" @(#)stdio.3 8.7 (Berkeley) 4/19/94 +.\" +.Dd April 19, 1994 +.Dt STDIO 3 +.Os BSD 4 +.Sh 名称 +.Nm stdio +.Nd 標準I/Oライブラリ関数 +.Sh 書式 +.Fd #include +.Fd FILE *stdin; +.Fd FILE *stdout; +.Fd FILE *stderr; +.Sh 解説 +標準 +.Tn I/O +ライブラリは、簡単で効率的なバッファされたストリーム +.Tn I/O +インタフェースを提供します。 +入力と出力は論理的データストリームにマップされ、 +物理的な +.Tn I/O +特性値は隠されます。関数およびマクロは下に示す通りですが、 +それぞれに関する個別のマニュアルページにさらに詳しい説明があります。 +.Pp +ファイルを +.Em 開く +と外部ファイル(物理的デバイスである場合もある)には +ストリームが結合されますが、その際には新規ファイルが +作成されることもあります。既存のファイルを作成すると、そのファイルの以前の +内容は廃棄されます。 +ファイルが位置決定要求(端末ではなく、ディスクファイルというような)を +サポートする場合は、そのファイルをアペンドモードで開かない限り、 +ストリームに結合された +.Em ファイル位置指示子 +がファイルの先頭(バイト 0)に置かれます。アペンドモードを使った場合は、 +位置指示子はファイルの最後に置かれます。 +位置指示子は以降の読み取り、書込み、位置決定の +要求によって維持されます。すべての入力はあたかもキャラクタが +.Xr fgetc 3 +関数の連続的な呼び出しによって読み取られたかのようにして行われ、すべての +出力はすべてのキャラクタが +.Xr fputc 3 +関数の連続的な呼び出しによって +書込まれたかのようにして行われます。 +.Pp +ファイルは、そのファイルを +.Em 閉じる +ことによってストリームとの結合が解除されます。 +出力ストリームは、ファイルとの結合が解除される前にフラッシュされます +(書込まれなかったバッファ内容はホスト環境に送られます)。 +.Dv FILE +オブジェクトへのポインタの値は、ファイルを閉じた後は +不定(くず)になります。 +.Pp +ファイルは、同じプログラムまたは別のプログラムを実行することにより後で +再び開くこともでき、その内容は再生利用されるかまたは修正されます +(スタート時にファイルが再度配置できる場合)。メインの関数が元の呼び出し元に +返るか、または +.Xr exit 3 +関数が呼び出された場合は、プログラムを終了する前にすべての開いたファイルを +閉じます(従って、すべての出力ストリームはフラッシュされます)。 +プログラムを終了するその他の方法ではファイルを適切に閉じない +場合があり、従ってバッファされた出力が失われる場合があります。特に、 +.Xr _exit 2 +は stdio ファイルをフラッシュしません。信号による exit も同様です。 +.Xr abort 3 +は POSIX が要求するようにバッファをフラッシュしますが、以前の +実装ではこれを行っていません。 +.Pp +本実装では、 +.Dq テキスト +と +.Dq バイナリ +のストリームを区別しません。 +その結果、すべてのストリームはバイナリになります。 +翻訳は行われず、すべてのストリームには余分のパディングは現れません。 +.Pp +プログラムのスタートアップ時には、次の3 つのストリームが +事前定義され、それらを明示的に開く必要はありません。 +.Bl -bullet -compact -offset indent +.It +.Em standard input +(通常入力読み取り用) +.It +.Em standard output +(通常出力書込み用) +.It +.Em standard error +(診断出力書込み用) +.El +これらのストリームは、 +.Em stdin +、 +.Em stdout +、そして +.Em stderr +と略記されます。 +初期には、標準エラーストリームはバッファされていません。標準の入力および +出力ストリームは、そのストリームが +.Xr isatty 3 +関数により決定されるような形で +インタラクティブデバイスまたは +.Dq 端末 +デバイスを参照しない限りにおいて、完全にバッファされます。 +実際に、端末デバイスを参照する新規に +開かれた +.Em すべての +ストリームは、デフォルトでラインにバッファされ、このような +ストリームへの未決の出力は、入力ストリームが読み込まれたときは常に自動的に +書込まれます。 +これは、 +.Dq 真の読み込み +に対してのみ当てはまることに +注意してください。読み込み要求がバッファされた既存のデータで間に合う +場合は、自動的なフラッシュは起きません。この場合、または出力端末にラインの +一部をプリントした後で大量の計算が行われる場合は、出力が出てくるように先に +進んで計算を続ける前に、標準出力を +.Xr fflush 3 +で処理する必要があります。 +その代わりに、これらのデフォルトを +.Xr setvbuf 3 +関数で修正することもできます。 +.Pp +.Nm stdio +ライブラリはライブラリ +.Nm libc +の一部であり、 +ルーチンは Cコンパイラによって必要に応じて自動的にロードされます。 +以下のマニュアルの +.Tn 書式 +部分では、どのインクルードファイルを使えばよいか、関数に対する +コンパイラの宣言はどのようになるか、どの外部変数に関心を持つべきかを +示します。 +.Pp +以下のものはマクロとして定義されています。これらの名称は、現在の定義を +.Dv #undef +を使って削除してからでないと再使用することはできません: +.Dv BUFSIZ , +.Dv EOF , +.Dv FILENAME_MAX , +.Dv FOPEN_MAX , +.Dv L_cuserid , +.Dv L_ctermid , +.Dv L_tmpnam, +.Dv NULL , +.Dv P_tmpdir, +.Dv SEEK_CUR , +.Dv SEEK_END , +.Dv SEEK_SET , +.Dv TMP_MAX , +.Dv clearerr , +.Dv feof , +.Dv ferror , +.Dv fileno , +.Dv fropen , +.Dv fwopen , +.Dv getc , +.Dv getchar , +.Dv putc , +.Dv putchar , +.Dv stderr , +.Dv stdin , +.Dv stdout , +.Dv vfscanf +。 +マクロ関数 +.Fn clearerr , +.Fn feof , +.Fn ferror , +.Fn fileno , +.Fn getc , +.Fn getchar , +.Fn putc , +および +.Fn putchar +には関数バージョンが存在し、 +マクロ定義が明示的に削除された場合にはそれが使われます。 +.Sh 参照 +.Xr close 2 , +.Xr open 2 , +.Xr read 2 , +.Xr write 2 +.Sh バグ +標準のバッファされた関数は、他のライブラリおよび +システム関数のあるもの、特に +.Xr vfork 2 +とはうまくインタラクトできません。 +.Sh 規格 +.Nm stdio +ライブラリは、 +.St -ansiC +に準拠しています。 +.Sh 関数一覧 +.Bl -column "Description" +.Sy 関数 説明 +asprintf フォーマットされた出力の変換 +clearerr ストリームステータスのチェックとリセット +fclose ストリームを閉じる +fdopen ストリームを開く関数 +feof ストリームステータスのチェックとリセット +ferror ストリームステータスのチェックとリセット +fflush ストリームのフラッシュ +fgetc 入力ストリームから次のキャラクタまたはワードを取得 +fgetln ストリームから1 行を取得 +fgetpos ストリームの再配置 +fgets ストリームから1 行を取得 +fileno ストリームステータスのチェックとリセット +fopen ストリームを開く関数 +fprintf フォーマットされた出力の変換 +fpurge ストリームのフラッシュ +fputc 1 キャラクタまたは 1 ワードをストリームに出力 +fputs 1 行をストリームに出力 +fread バイナリストリームの入力/出力 +freopen ストリームを開く関数 +fropen ストリームを開く +fscanf 入力フォーマット変換 +fseek ストリームの再配置 +fsetpos ストリームの再配置 +ftell ストリームの再配置 +funopen ストリームを開く +fwopen ストリームを開く +fwrite バイナリストリームの入力/出力 +getc 入力ストリームから次のキャラクタまたはワードを取得 +getchar 入力ストリームから次のキャラクタまたはワードを取得 +gets ストリームから 1 行を取得 +getw 入力ストリームから次のキャラクタまたはワードを取得 +mkdtemp ユニークなテンポラリファイルを作成 +mkstemp ユニークなテンポラリファイルを作成 +mktemp ユニークなテンポラリファイルを作成 +perror システムエラーメッセージ +printf フォーマットされた出力変換 +putc 1 キャラクタまたはワードをストリームに出力 +putchar 1 キャラクタまたはワードをストリームに出力 +puts 1 行をストリームに出力 +putw 1 キャラクタまたはワードをストリームに出力 +remove ディレクトリエントリの削除 +rewind ストリームの再配置 +scanf 入力フォーマット変換 +setbuf ストリームのバッファリング操作 +setbuffer ストリームのバッファリング操作 +setlinebuf ストリームのバッファリング操作 +setvbuf ストリームのバッファリング操作 +snprintf フォーマットされた出力変換 +sprintf フォーマットされた出力変換 +sscanf 入力フォーマット変換 +strerror システムエラーメッセージ +sys_errlist システムエラーメッセージ +sys_nerr システムエラーメッセージ +tempnam テンポラリファイルルーチン +tmpfile テンポラリファイルルーチン +tmpnam テンポラリファイルルーチン +ungetc 入力ストリームからのキャラクタの取得を元に戻す +vasprintf フォーマットされた出力変換 +vfprintf フォーマットされた出力変換 +vfscanf 入力フォーマット変換 +vprintf フォーマットされた出力変換 +vscanf 入力フォーマット変換 +vsnprintf フォーマットされた出力変換 +vsprintf フォーマットされた出力変換 +vsscanf 入力フォーマット変換 +.El diff --git a/ja_JP.eucJP/man/man3/strcasecmp.3 b/ja_JP.eucJP/man/man3/strcasecmp.3 new file mode 100644 index 0000000000..7a89319fa8 --- /dev/null +++ b/ja_JP.eucJP/man/man3/strcasecmp.3 @@ -0,0 +1,88 @@ +.\" Copyright (c) 1990, 1991, 1993 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" This code is derived from software contributed to Berkeley by +.\" Chris Torek. +.\" 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. +.\" +.\" @(#)strcasecmp.3 8.1 (Berkeley) 6/9/93 +.\" +.\" jpman %Id% +.\" +.Dd June 9, 1993 +.Dt STRCASECMP 3 +.Os +.Sh 名称 +.Nm strcasecmp , +.Nm strncasecmp +.Nd 大文字小文字を無視した文字列の比較 +.Sh 書式 +.Fd #include +.Ft int +.Fn strcasecmp "const char *s1" "const char *s2" +.Ft int +.Fn strncasecmp "const char *s1" "const char *s2" "size_t len" +.Sh 解説 +.Fn strcasecmp +および +.Fn strncasecmp +関数は、ナル文字で終了する文字列 +.Fa s1 +および +.Fa s2 +を比較して、それぞれの文字を小文字に変換した後に +.Fa s1 +が +.Fa s2 +よりも辞書学的に大きいか、等しいか、あるいは小さいかに応じて、 +それぞれ、0 より大きい、0 に等しい、 +あるいは 0 より小さい整数を返します。 +文字列自体は修正されません。比較は、 +.Sq Li \e200 +が +.Ql \e0 +よりも大きくなるように、符号なしキャラクタを使って行います。 +.Pp +.Fn strncasecmp +は、最大で +.Fa len +個の文字を比較します。 +.Sh 参照 +.Xr bcmp 3 , +.Xr memcmp 3 , +.Xr strcmp 3 , +.Xr strcoll 3 , +.Xr strxfrm 3 +.Sh 歴史 +.Fn strcasecmp +および +.Fn strncasecmp +関数は、最初に +.Bx 4.4 +に現れました。 diff --git a/ja_JP.eucJP/man/man3/strcat.3 b/ja_JP.eucJP/man/man3/strcat.3 new file mode 100644 index 0000000000..becf9d0c77 --- /dev/null +++ b/ja_JP.eucJP/man/man3/strcat.3 @@ -0,0 +1,93 @@ +.\" Copyright (c) 1990, 1991, 1993 +.\" 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. +.\" +.\" @(#)strcat.3 8.1 (Berkeley) 6/4/93 +.\" +.\" jpman %Id% +.\" +.Dd June 4, 1993 +.Dt STRCAT 3 +.Os +.Sh 名称 +.Nm strcat +.Nd 文字列の連結 +.Sh 書式 +.Fd #include +.Ft char * +.Fn strcat "char *s" "const char *append" +.Ft char * +.Fn strncat "char *s" "const char *append" "size_t count" +.Sh 解説 +.Fn strcat +および +.Fn strncat +関数は、ナル文字で終了する文字列 +.Fa append +をナル文字で終了する文字列 +.Fa s +の終わりに追加し、次に終端の +.Ql \e0 +を追加します。文字列 +.Fa s +は、結果を保持するのに十分なスペースを持っていなければなりません。 +.Pp +.Fn strncat +関数は、 +.Fa append +から +.Fa count +を超えない数の文字を追加し、次に終端の +.Ql \e0 +を追加します。 +.Sh 戻り値 +.Fn strcat +および +.Fn strncat +関数は、ポインタ +.Fa s +を返します。 +.Sh 参照 +.Xr bcopy 3 , +.Xr memccpy 3 , +.Xr memcpy 3 , +.Xr memmove 3 , +.Xr strcpy 3 +.Sh 規格 +.Fn strcat +および +.Fn strncat +関数は、 +.St -ansiC +準拠しています。 diff --git a/ja_JP.eucJP/man/man3/strchr.3 b/ja_JP.eucJP/man/man3/strchr.3 new file mode 100644 index 0000000000..b3b8567885 --- /dev/null +++ b/ja_JP.eucJP/man/man3/strchr.3 @@ -0,0 +1,85 @@ +.\" Copyright (c) 1990, 1991, 1993 +.\" 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. +.\" +.\" @(#)strchr.3 8.2 (Berkeley) 4/19/94 +.\" +.\" jpman %Id% +.\" +.Dd April 19, 1994 +.Dt STRCHR 3 +.Os +.Sh 名称 +.Nm strchr +.Nd 文字列中の文字を検索 +.Sh 書式 +.Fd #include +.Ft char * +.Fn strchr "const char *s" "int c" +.Sh 解説 +.Fn strchr +関数は、 +.Ar s +によって指される文字列の中で最初に出会う文字 +.Ar c +を見つけます。終端のナル文字は、文字列の一部とみなします。 +.Fa c +が +.Ql \e0 +である場合は、 +.Fn strchr +は終端の +.Ql \e0 +を見つけます。 +.Sh 戻り値 +関数 +.Fn strchr +は、見つけた文字へのポインタか、 +または文字が文字列中に見つからない場合はヌルを返します。 +.Sh 参照 +.Xr index 3 , +.Xr memchr 3 , +.Xr rindex 3 , +.Xr strcspn 3 , +.Xr strpbrk 3 , +.Xr strrchr 3 , +.Xr strsep 3 , +.Xr strspn 3 , +.Xr strstr 3 , +.Xr strtok 3 +.Sh 規格 +.Fn strchr +関数は、 +.St -ansiC +に準拠しています。 diff --git a/ja_JP.eucJP/man/man3/strcmp.3 b/ja_JP.eucJP/man/man3/strcmp.3 new file mode 100644 index 0000000000..2c9ca9ed4d --- /dev/null +++ b/ja_JP.eucJP/man/man3/strcmp.3 @@ -0,0 +1,94 @@ +.\" Copyright (c) 1990, 1991, 1993 +.\" 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. +.\" +.\" @(#)strcmp.3 8.1 (Berkeley) 6/4/93 +.\" +.\" jpman %Id% +,\" +.Dd June 4, 1993 +.Dt STRCMP 3 +.Os +.Sh 名称 +.Nm strcmp , +.Nm strncmp , +.Nd 文字列の比較 +.Sh 書式 +.Fd #include +.Ft int +.Fn strcmp "const char *s1" "const char *s2" +.Ft int +.Fn strncmp "const char *s1" "const char *s2" "size_t len" +.Sh 解説 +.Fn strcmp +および +.Fn strncmp +関数は、ナル文字で終了する文字列 +.Fa s1 +および +.Fa s2 +を辞書学的に比較します。 +.Sh 戻り値 +.Fn strcmp +および +.Fn strncmp +は、 +.Fa s1 +が +.Fa s2 +よりも大きいか、等しいか、あるいは小さいかに応じて、 +それぞれ 0 よりも大きい、0 に等しい、 +あるいは 0 よりも小さい整数を返します。比較は、 +.Ql \e200 +が +.Ql \e0 +よりも大きくなるように、符号なしキャラクタを使って行います。 +.Pp +.Fn strncmp +は、 +.Fa len +を超えない数の文字を比較します。 +.Sh 参照 +.Xr bcmp 3 , +.Xr memcmp 3 , +.Xr strcasecmp 3 , +.Xr strcoll 3 , +.Xr strxfrm 3 +.Sh 規格 +.Fn strcmp +および +.Fn strncmp +関数は、 +.St -ansiC +に準拠しています。 diff --git a/ja_JP.eucJP/man/man3/strcoll.3 b/ja_JP.eucJP/man/man3/strcoll.3 new file mode 100644 index 0000000000..4752a36326 --- /dev/null +++ b/ja_JP.eucJP/man/man3/strcoll.3 @@ -0,0 +1,73 @@ +.\" Copyright (c) 1990, 1991, 1993 +.\" 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. +.\" +.\" @(#)strcoll.3 8.1 (Berkeley) 6/4/93 +.\" +.\" jpman %Id% +.\" +.Dd June 4, 1993 +.Dt STRCOLL 3 +.Os +.Sh 名称 +.Nm strcoll +.Nd 現在の照合に従って文字列を比較 +.Sh 書式 +.Fd #include +.Ft int +.Fn strcoll "const char *s1" "const char *s2" +.Sh 解説 +.Fn strcoll +関数は、ナル文字で終了する文字列 +.Fa s1 +と +.Fa s2 +を現在のロケールの照合とするものがあれば、 +それに従って辞書学的に比較し、ない場合には +.Fa strcmp +を呼び出して、 +.Fa s1 +が +.Fa s2 +よりも大きいか、等しいか、小さいかによってそれぞれ、 +0 よりも大きい、または等しい、または小さい整数を返します。 +.Sh 参照 +.Xr setlocale 3 , +.Xr strcmp 3 , +.Xr strxfrm 3 +.Sh 規格 +.Fn strcoll +関数は、 +.St -ansiC +に準拠しています。 diff --git a/ja_JP.eucJP/man/man3/strcpy.3 b/ja_JP.eucJP/man/man3/strcpy.3 new file mode 100644 index 0000000000..349c4f895a --- /dev/null +++ b/ja_JP.eucJP/man/man3/strcpy.3 @@ -0,0 +1,118 @@ +.\" Copyright (c) 1990, 1991, 1993 +.\" 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. +.\" +.\" @(#)strcpy.3 8.1 (Berkeley) 6/4/93 +.\" +.\" jpman %Id% +.\" +.Dd June 4, 1993 +.Dt STRCPY 3 +.Os BSD 4 +.Sh 名称 +.Nm strcpy +.Nd 文字列のコピー +.Sh 書式 +.Fd #include +.Ft char * +.Fn strcpy "char *dst" "const char *src" +.Ft char * +.Fn strncpy "char *dst" "const char *src" "size_t len" +.Sh 解説 +.Fn strcpy +および +.Fn strncpy +関数は、文字列 +.Fa src +を +.Fa dst +にコピーします (終端の +.Ql \e0 +文字を含めて)。 +.Pp +.Fn strncpy +は、 +.Fa len +個以上の文字は +.Fa dst +にコピーせず、 +.Fa src +の長さが +.Fa len +文字以下の場合には +.Ql \e0 +文字を追加します。また、 +.Fa src +の長さが +.Fa len +文字以上である場合は、 +.Fa dst +を終端しません。 +.Sh 戻り値 +.Fn strcpy +および +.Fn strncpy +関数は、 +.Fa dst +を返します。 +.Sh 例 +次の行は、 +.Dq Li chararray +を +.Dq Li abc\e0\e0\e0 +に設定します : +.Bd -literal -offset indent +(void)strncpy(chararray, "abc", 6). +.Ed +.Pp +次の行はは、 +.Dq Li chararray +を +.Dq Li abcdef +に設定します : +.Bd -literal -offset indent +(void)strncpy(chararray, "abcdefgh", 6); +.Ed +.Sh 参照 +.Xr bcopy 3 , +.Xr memccpy 3 , +.Xr memcpy 3 , +.Xr memmove 3 +.Sh 規格 +.Fn strcpy +および +.Fn strncpy +関数は、 +.St -ansiC +に準拠しています。 diff --git a/ja_JP.eucJP/man/man3/strcspn.3 b/ja_JP.eucJP/man/man3/strcspn.3 new file mode 100644 index 0000000000..053a8e0b7f --- /dev/null +++ b/ja_JP.eucJP/man/man3/strcspn.3 @@ -0,0 +1,79 @@ +.\" Copyright (c) 1990, 1991, 1993 +.\" 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. +.\" +.\" @(#)strcspn.3 8.1 (Berkeley) 6/4/93 +.\" +.\" jpman %Id% +.\" +.Dd June 4, 1993 +.Dt STRCSPN 3 +.Os +.Sh 名称 +.Nm strcspn +.Nd 文字列の補集合をスパン +.Sh 書式 +.Fd #include +.Ft size_t +.Fn strcspn "const char *s" "const char *charset" +.Sh 解説 +.Fn strcspn +関数は、ナル文字で終了する文字列 +.Fa s +の文字が文字列 +.Fa charset +の中に現れるまで、その文字列の最初の部分をスパンします +.Fa ( charset +の補集合をスパンします)。 +.Pp +.Sh 戻り値 +.Fn strcspn +関数はスパンされた文字の数を返します。 +.Pp +.Sh 参照 +.Xr index 3 , +.Xr memchr 3 , +.Xr rindex 3 , +.Xr strchr 3 , +.Xr strpbrk 3 , +.Xr strrchr 3 , +.Xr strsep 3 , +.Xr strspn 3 , +.Xr strstr 3 , +.Xr strtok 3 +.Sh 規格 +.Fn strcspn +関数は +.St -ansiC +に準拠しています。 diff --git a/ja_JP.eucJP/man/man3/strdup.3 b/ja_JP.eucJP/man/man3/strdup.3 new file mode 100644 index 0000000000..7ebaaebf3c --- /dev/null +++ b/ja_JP.eucJP/man/man3/strdup.3 @@ -0,0 +1,64 @@ +.\" Copyright (c) 1990, 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. +.\" +.\" @(#)strdup.3 8.1 (Berkeley) 6/9/93 +.\" $Id: strdup.3,v 1.1.1.1 1999-12-09 16:25:54 kuriyama Exp $ +.\" +.\" jpman %Id% +.\" +.Dd June 9, 1993 +.Dt STRDUP 3 +.Os +.Sh 名称 +.Nm strdup +.Nd 文字列のコピーを保存 +.Sh 書式 +.Fd #include +.Ft char * +.Fn strdup "const char *str" +.Sh 解説 +.Fn strdup +関数は、文字列 +.Fa str +のコピーのために十分なメモリを割り振り、コピーを行い、 +コピーへのポインタを返します。ポインタはその後に関数 +.Xr free 3 +の引数として使うことができます。 +.Pp +十分なメモリが使用できない場合は、ヌルを返します。 +.Sh 参照 +.Xr free 3 , +.Xr malloc 3 +.Sh 歴史 +.Fn strdup +関数は最初に +.Bx 4.4 +に現れました。 diff --git a/ja_JP.eucJP/man/man3/strerror.3 b/ja_JP.eucJP/man/man3/strerror.3 new file mode 100644 index 0000000000..498d70194f --- /dev/null +++ b/ja_JP.eucJP/man/man3/strerror.3 @@ -0,0 +1,116 @@ +.\" Copyright (c) 1980, 1991, 1993 +.\" 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. +.\" +.\" @(#)strerror.3 8.1 (Berkeley) 6/9/93 +.\" +.\" jpman %Id% +.\" +.Dd June 9, 1993 +.Dt STRERROR 3 +.Os BSD 4 +.Sh 名称 +.Nm perror , +.Nm strerror , +.Nm sys_errlist , +.Nm sys_nerr +.Nd システムのエラーメッセージ +.Sh 書式 +.Fd #include +.Ft void +.Fn perror "const char *string" +.Vt extern const char * const sys_errlist[]; +.Vt extern const int sys_nerr; +.Fd #include +.Ft char * +.Fn strerror "int errnum" +.Sh 解説 +.Fn strerror +および +.Fn perror +関数は、エラー番号に対応するエラーメッセージ文字列を探し出します。 +.Pp +.Fn strerror +関数は、エラー番号の引数 +.Fa errnum +を受け取って、それに対応するメッセージ文字列へのポインタを返します。 +.Pp +.Fn perror +関数は、大域変数 +.Va errno +.Pq Xr intro 2 +の現在の値に対応するエラーメッセージを探して、 +それに改行をつけて標準エラーファイル記述子に書込みます。引数 +.Fa string +が非ヌルであり、ナル文字を指さない場合は、 +この文字列はメッセージ文字列の前にコロンとスペース +.Pq Ql \&:\ \& +で区切って追加されます。 +それ以外の場合は、エラーメッセージ文字列のみが印字されます。 +.Pp +.Fa errnum +がエラー番号として認識できない場合は、 +エラーメッセージ文字列は +.Dq Li "Unknown error:\0 +の後に 10 進数のエラー番号が続いたものとなります。 +.Pp +メッセージ文字列には、外部配列 +.Va sys_errlist +を使って直接アクセスすることができます。外部値 +.Va sys_nerr +には +.Va sys_errlist +の中にあるメッセージのカウントが入っています。 +これらの変数を使用することには賛成できません。代りに、 +.Fn strerror +を使った方がよいでしょう。 +.Sh 参照 +.Xr intro 2 , +.Xr psignal 3 +.Sh 歴史 +.Fn strerror +および +.Fn perror +関数は、最初に +.Bx 4.4 +に現れました。 +.Sh バグ +認識できないエラー番号に対しては、 +.Fn strerror +関数はその結果を静的バッファに返し、 +それは以降の呼び出しによって上書きされる可能性があります。 +.Pp +.Va sys_errlist +変数を使用している好ましくないプログラムは、 +その変数を一貫性なく宣言するために失敗することがしばしばあります。 diff --git a/ja_JP.eucJP/man/man3/strftime.3 b/ja_JP.eucJP/man/man3/strftime.3 new file mode 100644 index 0000000000..e42eee81bd --- /dev/null +++ b/ja_JP.eucJP/man/man3/strftime.3 @@ -0,0 +1,240 @@ +.\" Copyright (c) 1989, 1991, 1993 +.\" 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. +.\" +.\" @(#)strftime.3 8.1 (Berkeley) 6/4/93 +.\" +.\" jpman %Id% +.\" +.Dd October 4, 1997 +.Dt STRFTIME 3 +.Os +.Sh 名称 +.Nm strftime +.Nd 日付と時間をフォーマット +.Sh 書式 +.Fd #include +.Ft size_t +.Fn strftime "char *buf" "size_t maxsize" "const char *format" "const struct tm *timeptr" +.Sh 解説 +.Fn strftime +関数は、 +.Fa timeptr +からの情報を +.Fa format +によって指される文字列に従ってバッファ +.Fa buf +にフォーマットします。 +.Pp +.Fa format +文字列は、ゼロ以上の変換仕様および通常の文字から構成されます。 +すべての通常文字は、直接バッファにコピーされます。 +変換仕様は、パーセント記号 +.Dq Ql % +ともう 1 つの文字から構成されます。 +.Pp +配列には +.Fa maxsize +個を超えない文字が置かれます。 +結果として生じる文字の総数が終端のナル文字を含めて +.Fa maxsize +を超えない場合は、 +.Fn strftime +は終端のナルを数えないで配列中の文字数を返します。 +それ以外の場合はゼロを返し、バッファの内容は不定になります。 +.Pp +変換仕様は、以下に示すような形で展開した後バッファにコピーされます : +.Bl -tag -width "xxxx" +.It Cm \&%A +全国標準の完全な曜日名で置き換えられます。 +.It Cm %a +全国標準の省略した曜日名で置き換えられます。 +ここで、略称は最初の 3 文字です。 +.It Cm \&%B +全国標準の完全な月名で置き換えられます。 +.It Cm %b +全国標準の省略した月名で置き換えられます。 +ここで、略称は最初の 3 文字です。 +.It Cm \&%C +(西暦年 / 100) の 10 進数で置き換えられます。 +1 桁の数字の前には 0 が付きます。 +.It Cm %c +全国標準の時刻と日付で置き換えられます +(フォーマットは +.Xr asctime 3 +によって作られるものと同じです)。 +.It Cm \&%D +.Dq Li %m/%d/%y +と同等です。 +.It Cm %d +日を示す 10 進数 (01-31) で置き換えられます。 +.It Cm \&%E* +POSIX の地域拡張です。 +%Ec %EC %Ex %Ey %EY +%Od %Oe %OH %OI %Om %OM +%OS %Ou %OU %OV %Ow %OW %Oy +というシーケンスは、代替的な表現を与えるものと見なされます。 +.It Cm %e +日を示す 10 進数 (1-31) で置き換えられます。 +1 桁の数字の前には空白が付きます。 +.It Cm \&%G +百年紀付きの年の 10 進数で置き換えられます。 +この年は、週の大部分を含んだものとなります +(月曜日を週の最初の日として)。 +.It Cm %g +.Dq Li %G +と同じ年ですが、百年紀なしの 10 進数 (00-99) で置き換えられます。 +.It Cm \&%H +(24 時間時計で) 時間を示す 10 進数 (00-23) で置き換えられます。 +.It Cm %h +%b と同じです。 +.It Cm \&%I +(12 時間時計で) 時間を示す 10 進数 (01-12) で置き換えられます。 +.It Cm %j +1 年の日を示す 10 進数 (001-366) で置き換えられます。 +.It Cm %k +(24 時間時計で) 時間を示す 10 進数 (0-23) で置き換えられます。 +1 桁の数字の前には空白が付きます。 +.It Cm %l +(12 時間時計で) 時間を示す 10 進数 (1-12) で置き換えられます。 +1 桁の数字の前には空白が付きます。 +.It Cm \&%M +分を示す 10 進数 (00-59) で置き換えられます。 +.It Cm %m +月を示す 10 進数 (01-12) で置き換えられます。 +.It Cm %n +改行で置き換えられます。 +.It Cm \&%O* +%E* と同じです。 +.It Cm %p +全国標準の "午前" または "午後" 表示の +いずれか該当する表示で置き換えられます。 +.It Cm \&%R +.Dq Li %H:%M +と同等です。 +.It Cm %r +.Dq Li %I:%M:%S %p +と同等です。 +.It Cm \&%S +秒を示す 10 進数 (00-60) で置き換えられます。 +.It Cm %s +世界標準時基準時点からの秒数で置き換えられます +.Xr (mktime 3 +参照) 。 +.It Cm \&%T +.Dq Li %H:%M:%S +と同等です。 +.It Cm %t +タブで置き換えられます。 +.It Cm \&%U +1 年のうちの週数 (日曜日を週の最初の日として) を示す +10 進数 (00-53) で置き換えられます。 +.It Cm %u +1 週のうちの日 (月曜日を週の最初の日として) を示す +10 進数 (1-7) で置き換えられます。 +.It Cm \&%V +1 年のうちの週数 (月曜日を週の最初の日として) を示す +10 進数 (01-53) で置き換えられます。 +新年の 1 月 1 日を含む週に 4 日以上の日がある場合は、 +その週が第 1 週となります。 +それ以外の場合は、その週は前年の最後の週となり、 +その次の週が第 1 週となります。 +.It Cm %v +.Dq Li %e-%b-%Y +と同等です。 +.It Cm \&%W +1 年のうちの週数 (月曜日を週の最初の日として) を示す +10 進数 (00-53) で置き換えられます。 +.It Cm %w +1 週のうちの日 (日曜日を週の最初の日として) を示す +10 進数 (0-6) で置き換えられます。 +.It Cm \&%X +全国標準の時刻で置き換えられます。 +.It Cm %x +全国標準の日付で置き換えられます。 +.It Cm \&%Y +百年紀付きの年を示す 10 進数で置き換えられます。 +.It Cm %y +百年紀なしの年を示す 10 進数 (00-99) で置き換えられます。 +.It Cm \&%Z +時間帯名で置き換えられます。 +.It Cm %+ +全国標準の日付と時刻を示すもので置き換えられます +(フォーマットは +.Xr date 1 +によって作成されるものと同じです)。 +.It Cm %% +.Ql % +で置き換えられます。 +.El +.Sh 参照 +.Xr date 1 , +.Xr printf 1 , +.Xr ctime 3 , +.Xr printf 3 , +.Xr strptime 3 +.Sh 規格 +.Fn strftime +関数は、 +.Ql %C , +.Ql %D , +.Ql %E* , +.Ql %e , +.Ql %G , +.Ql %g , +.Ql %h , +.Ql %k , +.Ql %l , +.Ql %n , +.Ql %O* , +.Ql \&%R , +.Ql %r , +.Ql %s , +.Ql \&%T , +.Ql %t , +.Ql %u , +.Ql \&%V , +.Ql %+ +などを含む多くの拡張を含めて、 +.St -ansiC +に準拠しています。 + +.Ql %G , +.Ql %g , +および +.Ql \&%V +の置き換えにおける特殊な週数および年数は、 +ISO 8601: 1988 に定義されています。 +.Sh バグ +月の象に関する変換仕様は備えていません。 diff --git a/ja_JP.eucJP/man/man3/string.3 b/ja_JP.eucJP/man/man3/string.3 new file mode 100644 index 0000000000..6386da510e --- /dev/null +++ b/ja_JP.eucJP/man/man3/string.3 @@ -0,0 +1,156 @@ +.\" Copyright (c) 1990, 1991, 1993 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" This code is derived from software contributed to Berkeley by +.\" Chris Torek. +.\" 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. +.\" +.\" @(#)string.3 8.2 (Berkeley) 12/11/93 +.\" $Id: string.3,v 1.1.1.1 1999-12-09 16:25:54 kuriyama Exp $ +.\" +.\" jpman %Id% +.\" +.Dd December 11, 1993 +.Dt STRING 3 +.Os BSD 4 +.Sh 名称 +.Nm strcat , +.Nm strncat , +.Nm strchr , +.Nm strrchr , +.Nm strcmp , +.Nm strncmp , +.Nm strcasecmp, +.Nm strncasecmp , +.Nm strcpy , +.Nm strncpy , +.Nm strerror , +.Nm strlen , +.Nm strpbrk , +.Nm strsep, +.Nm strspn , +.Nm strcspn , +.Nm strstr , +.Nm strtok , +.Nm index , +.Nm rindex +.Nd 文字列に特有の関数 +.Sh 書式 +.Fd #include +.Ft char * +.Fn strcat "char *s" "const char * append" +.Ft char * +.Fn strncat "char *s" "const char *append" "size_t count" +.Ft char * +.Fn strchr "const char *s" "int c" +.Ft char * +.Fn strrchr "const char *s" "int c" +.Ft int +.Fn strcmp "const char *s1" "const char *s2" +.Ft int +.Fn strncmp "const char *s1" "const char *s2" "size_t count" +.Ft int +.Fn strcasecmp "const char *s1" "const char *s2" +.Ft int +.Fn strncasecmp "const char *s1" "const char *s2" "size_t count" +.Ft char * +.Fn strcpy "char *dst" "const char *src" +.Ft char * +.Fn strncpy "char *dst" "const char *src" "size_t count" +.Ft char * +.Fn strerror "int errno" +.Ft size_t +.Fn strlen "const char *s" +.Ft char * +.Fn strpbrk "const char *s" "const char *charset" +.Ft char * +.Fn strsep "char **stringp" "const char *delim" +.Ft size_t +.Fn strspn "const char *s" "const char *charset" +.Ft size_t +.Fn strcspn "const char *s" "const char *charset" +.Ft char * +.Fn strstr "const char *big" "const char *little" +.Ft char * +.Fn strtok "char *s" "const char *delim" +.Ft char * +.Fn index "const char *s" "int c" +.Ft char * +.Fn rindex "const char *s" "int c" +.Sh 解説 +これらの文字列関数は、ヌルバイトで終了する文字列を操作します。 +.Pp +詳しくは、個々の関数についてのマニュアルページを参照してください。 +可変長の汎用オブジェクトをバイト文字列 +(ヌルバイトのチェックなしに) として操作することについては、 +.Xr bstring 3 +を参照してください。 +.Pp +個々のマニュアルページに記されたものを除いては、 +文字列関数はサイズの制限についての検査は行いません。 +.Sh 参照 +.Xr bstring 3 , +.Xr index 3 , +.Xr rindex 3 , +.Xr strcasecmp 3 , +.Xr strcat 3 , +.Xr strchr 3 , +.Xr strcmp 3 , +.Xr strcpy 3 , +.Xr strcspn 3 , +.Xr strerror 3 , +.Xr strlen 3 , +.Xr strpbrk 3 , +.Xr strrchr 3 , +.Xr strsep 3 , +.Xr strspn 3 , +.Xr strstr 3 , +.Xr strtok 3 +.Sh 規格 +.Fn strcat , +.Fn strncat , +.Fn strchr , +.Fn strrchr , +.Fn strcmp , +.Fn strncmp , +.Fn strcpy , +.Fn strncpy , +.Fn strerror , +.Fn strlen , +.Fn strpbrk , +.Fn strsep , +.Fn strspn , +.Fn strcspn , +.Fn strstr , +および +.Fn strtok +関数は、 +.St -ansiC +に +準拠しています。 diff --git a/ja_JP.eucJP/man/man3/stringlist.3 b/ja_JP.eucJP/man/man3/stringlist.3 new file mode 100644 index 0000000000..902da99a32 --- /dev/null +++ b/ja_JP.eucJP/man/man3/stringlist.3 @@ -0,0 +1,117 @@ +.\" $NetBSD: stringlist.3,v 1.2 1997/04/09 08:59:25 kleink Exp $ +.\" +.\" Copyright (c) 1997 The NetBSD Foundation, Inc. +.\" All rights reserved. +.\" +.\" This file was contributed to The NetBSD Foundation by Luke Mewburn. +.\" +.\" 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 NetBSD +.\" Foundation, Inc. and its contributors. +.\" 4. Neither the name of The NetBSD Foundation 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 NETBSD FOUNDATION, INC. 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. +.\" +.\" jpman %Id$ +.\" +.Dd February 24, 1997 +.Os NetBSD 1.3 +.Dt STRINGLIST 3 +.Sh 名称 +.Nm stringlist , +.Nm sl_init , +.Nm sl_add , +.Nm sl_free , +.Nm sl_find +.Nd 文字列リスト操作関数 +.Sh 書式 +.Fd #include +.Ft StringList * +.Fn sl_init +.Ft void +.Fn sl_add "StringList *sl" "char *item" +.Ft void +.Fn sl_free "StringList *sl" "int freeall" +.Ft char * +.Fn sl_find "StringList *sl" "char *item" +.Sh 解説 +.Nm +関数は、必要に応じて自動的に展開する文字列の一覧である +文字列リストを操作します。 +.Pp +.Ar StringList +構造は、次のような定義を持ちます : +.Bd -literal -offset indent +typedef struct _stringlist { + char **sl_str; + size_t sl_max; + size_t sl_cur; +} StringList; +.Ed +.Pp +.Bl -tag -width "sl_str" -offset indent +.It Ar sl_str +一覧が入っている配列の基底ポインタです。 +.It Ar sl_max +.Ar sl_str +のサイズ。 +.It Ar sl_cur +現在の要素の +.Ar sl_str +におけるオフセット。 +.El +.Pp +以下のような文字列リスト操作関数が使用できます : +.Bl -tag -width "sl_init()" +.It Fn sl_init +文字列リストを作成します。 +.Ar StringList +へのポインタを +返します。 +.It Fn sl_free +.Ar sl +および +.Ar sl->sl_str +配列が占有するメモリを解放します。 +.Ar freeall +が非ゼロの場合は、 +.Ar sl->sl_str +の中の項目も解放されます。 +.It Fn sl_add +.Ar sl->sl_str +のサイズを拡張して、 +.Ar item +を +.Ar sl->sl_str +の +.Ar sl->sl_cur +の位置に追加します。 +.It Fn sl_find +.Ar sl +の中の +.Ar item +を探し、見つからない場合はヌルを返します。 +.Sh 参照 +.Xr free 3 , +.Xr malloc 3 diff --git a/ja_JP.eucJP/man/man3/strlen.3 b/ja_JP.eucJP/man/man3/strlen.3 new file mode 100644 index 0000000000..ef6137eab7 --- /dev/null +++ b/ja_JP.eucJP/man/man3/strlen.3 @@ -0,0 +1,64 @@ +.\" Copyright (c) 1990, 1991, 1993 +.\" 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. +.\" +.\" @(#)strlen.3 8.1 (Berkeley) 6/4/93 +.\" +.\" jpman %Id% +.\" +.Dd June 4, 1993 +.Dt STRLEN 3 +.Os +.Sh 名称 +.Nm strlen +.Nd 文字列の長さを測定 +.Sh 書式 +.Fd #include +.Ft size_t +.Fn strlen "const char *s" +.Sh 解説 +.Fn strlen +関数は、文字列 +.Fa s +の長さを計算します。 +.Sh 戻り値 +.Fn strlen +関数は、終端のナル文字以前の文字数を返します。 +.Sh 参照 +.Xr string 3 +.Sh 規格 +.Fn strlen +関数は、 +.St -ansiC +に準拠しています。 diff --git a/ja_JP.eucJP/man/man3/strmode.3 b/ja_JP.eucJP/man/man3/strmode.3 new file mode 100644 index 0000000000..079b628660 --- /dev/null +++ b/ja_JP.eucJP/man/man3/strmode.3 @@ -0,0 +1,162 @@ +.\" Copyright (c) 1990, 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. +.\" +.\" @(#)strmode.3 8.3 (Berkeley) 7/28/94 +.\" +.\" jpman %Id% +.\" +.Dd July 28, 1994 +.Dt STRMODE 3 +.Os +.Sh 名称 +.Nm strmode +.Nd inode ステータス情報をシンボル文字列に変換 +.Sh 書式 +.Fd #include +.Ft void +.Fn strmode "mode_t mode" "char *bp" +.Sh 解説 +.Fn strmode +関数は、ファイル +.Fa mode +(inode に結合されるタイプと許可の情報については、 +.Xr stat 2 +を参照) をシンボル文字列に変換し、それを +.Fa bp +で参照される場所に保存します。 +保存されるこの文字列は、長さが 11 文字で最後にナル文字が付きます。 +.Pp +最初の文字は inode タイプで、次のいずれかになります : +.Pp +.Bl -tag -width flag -offset indent -compact +.It \- +通常ファイル +.It b +ブロック型特殊ファイル +.It c +キャラクタ型特殊ファイル +.It d +ディレクトリ +.It l +シンボリックリンク +.It p +fifo +.It s +ソケット +.It w +whiteout +.It ? +未知の inode タイプ +.El +.Pp +次に続く 9 つの文字は、3 文字毎に 3 つの許可セットをコード化します。 +最初の 3 つの文字はファイル所有者のための許可で、 +2 番目の 3 文字はファイルが所属するグループのためのもの、 +そして 3 番目の 3 文字は +``その他'' またはデフォルトのユーザーセット用です。 +.Pp +許可チェックは、できる限り明確に限定して行われます。 +最初の許可セットでファイルの所有者に対して +読み取り許可が拒否された場合は、 +ファイルの所有者はそのファイルを読み取ることができません。 +このことは、その所有者がファイルのグループに入っており、 +そのグループ許可によって読み取り許可が与えられている場合、 +または読み取りを許可する ``その他'' の許可が +与えられている場合でも当てはまります。 +.Pp +3 文字セットの最初の文字が ``r'' である場合は、 +そのファイルはそのユーザーセットに対して読み取り可能です。 +文字がダッシュ ``\-'' 場合は、読み取りできません。 +.Pp +3 文字セットの 2 番目の文字が ``w'' である場合は、 +そのファイルはそのユーザーセットに対して書込み可能です。 +文字がダッシュ ``\-'' である場合は、書込みできません。 +.Pp +3 番目の文字は、次の該当する文字です : +.Bl -tag -width xxxx +.It S +キャラクタが所有者許可の一部であり、 +ファイルが実行可能ではないか、 +またはディレクトリが所有者によって検索可能ではなく、 +set-user-id ビットが設定されている場合。 +.It S +キャラクタがグループ許可の一部であり、 +ファイルが実行可能ではないか、 +またはディレクトリがグループによって検索可能ではなく、 +set-group-id ビットが設定されている場合。 +.It T +キャラクタがその他の許可の一部であり、 +ファイルが実行可能ではないか、 +またはディレクトリがその他のものによって検索可能ではなく、 +``sticky'' +.Pq Dv S_ISVTX +ビットが設定されている場合。 +.It s +キャラクタが所有者許可の一部であり、 +ファイルが実行可能であるか、 +またはディレクトリが所有者によって検索可能であり、 +set-user-id ビットが設定されている場合。 +.It s +キャラクタがグループ許可の一部であり、 +ファイルが実行可能であるか、 +またはディレクトリがグループによって検索可能であり、 +set-group-id ビットが設定されている場合。 +.It t +キャラクタがその他の許可の一部であり、 +ファイルが実行可能であるか、 +またはディレクトリがその他のものによって検索可能であり、 +``sticky'' +.Pq Dv S_ISVTX +ビットが設定されている場合。 +.It x +ファイルが実行可能であるか、またはディレクトリが検索可能。 +.It \- +上のいずれにも該当しない。 +.El +.Pp +最後の文字は +inode に結合された別のアクセス制御方法が何かある場合は、 +プラス記号 ``+'' です。 +それ以外の場合は、文字はスペースになります。 +.Sh 戻り値 +.Fn strmode +関数は、常に 0 を返します。 +.Sh 参照 +.Xr chmod 1 , +.Xr find 1 , +.Xr stat 2 , +.Xr getmode 3 , +.Xr setmode 3 +.Sh 歴史 +.Fn strmode +関数は最初 +.Bx 4.4 +に現れました。 diff --git a/ja_JP.eucJP/man/man3/strpbrk.3 b/ja_JP.eucJP/man/man3/strpbrk.3 new file mode 100644 index 0000000000..7e7df1563a --- /dev/null +++ b/ja_JP.eucJP/man/man3/strpbrk.3 @@ -0,0 +1,78 @@ +.\" Copyright (c) 1990, 1991, 1993 +.\" 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. +.\" +.\" @(#)strpbrk.3 8.1 (Berkeley) 6/4/93 +.\" +.Dd June 4, 1993 +.Dt STRPBRK 3 +.Os +.Sh 名称 +.Nm strpbrk +.Nd 複数の文字について文字列の中の位置を探す +.Sh 書式 +.Fd #include +.Ft char * +.Fn strpbrk "const char *s" "const char *charset" +.Sh 解説 +.Fn strpbrk +関数は、文字列 +.Fa charset +のうちのいずれかの文字が、 +ヌルで終端された文字列 +.Fa s +の中に最初に出現する位置を探し、 +その文字へのポインタを返します。 +.Fa s +の中に +.Fa charset +のどの文字も出現しない場合は、 +.Fn strpbrk +は NULL を返します。 +.Sh 参照 +.Xr index 3 , +.Xr memchr 3 , +.Xr rindex 3 , +.Xr strchr 3 , +.Xr strcspn 3 , +.Xr strrchr 3 , +.Xr strsep 3 , +.Xr strspn 3 , +.Xr strstr 3 , +.Xr strtok 3 +.Sh 規格 +.Fn strpbrk +関数は、 +.St -ansiC +に準拠しています。 diff --git a/ja_JP.eucJP/man/man3/strptime.3 b/ja_JP.eucJP/man/man3/strptime.3 new file mode 100644 index 0000000000..2a99e4471f --- /dev/null +++ b/ja_JP.eucJP/man/man3/strptime.3 @@ -0,0 +1,88 @@ +.\" +.\" Copyright (c) 1997 Joerg Wunsch +.\" +.\" 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 DEVELOPERS ``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 DEVELOPERS 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: strptime.3,v 1.1.1.1 1999-12-09 16:25:54 kuriyama Exp $ +.\" " +.Dd May 8, 1997 +.Dt STRPTIME 3 +.Os +.Sh 名称 +.Nm strptime +.Nd 日付および時刻を表す文字列を解釈する +.Sh 書式 +.Fd #include +.Ft char * +.Fn strptime "const char *buf" "const char *format" "struct tm *timeptr" +.Sh 解説 +.Fn strptime +関数は、バッファ +.Fa buf +中の文字列を +.Fa format +で示される文字列に従って解釈し、 +.Fa timeptr +が指す構造体の要素に入れます。 +したがって、これは +.Xr strftime 3 +の逆方向の操作と考えることができます。 +.Pp +.Fa format +文字列は、ゼロ以上の変換則と通常文字からなります。 +すべての通常文字は、バッファと厳密にマッチされます。 +そして、フォーマット文字列の空白文字は +バッファ中の任意の数の空白文字とマッチします。 +すべての変換則は、 +.Xr strftime 3 +に記述したものと同じです。 +.Sh 戻り値 +成功して終了した場合、 +.Fn strptime +は +.Fa format +中の変換則を満足させるためには要求されなかった、 +.Fa buf +中の最初の文字へのポインタを返します。 +変換が一つでも失敗した場合は +.Dv NULL +を返します。 +.Sh 参照 +.Xr date 1 , +.Xr scanf 3 , +.Xr strftime 3 +.Sh 作者 +.Fn strptime +関数は、 +Powerdog Industries +によって寄贈されました。 +.Pp +このマニュアルページは、 +.ie t J\(:org Wunsch +.el Joerg Wunsch +によって書かれました。 +.Sh 歴史 +.Fn strptime +関数は、 +.Fx 3.0 +に現れました。 diff --git a/ja_JP.eucJP/man/man3/strrchr.3 b/ja_JP.eucJP/man/man3/strrchr.3 new file mode 100644 index 0000000000..5255c192e3 --- /dev/null +++ b/ja_JP.eucJP/man/man3/strrchr.3 @@ -0,0 +1,86 @@ +.\" Copyright (c) 1990, 1991, 1993 +.\" 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. +.\" +.\" @(#)strrchr.3 8.1 (Berkeley) 6/4/93 +.\" +.Dd June 4, 1993 +.Dt STRRCHR 3 +.Os +.Sh 名称 +.Nm strrchr +.Nd 文字列中での文字の位置を探す +.Sh 書式 +.Fd #include +.Ft char * +.Fn strrchr "const char *s" "int c" +.Sh 解説 +.Fn strrchr +関数は、文字列 +.Fa s +中の (char に変換された) +.Fa c +が最後に出現する位置を探します。 +.Fa c +が +.Ql \e0 +のときは +.Fn strrchr +は終端の +.Ql \e0 +の位置を示します。 +.Sh 戻り値 +.Fn strrchr +関数は該当する文字へのポインタを返します。 +また、 +.Fa s +中のどこにも +.Fa c +が出現しない場合は null ポインタを返します。 +.Sh 参照 +.Xr index 3 , +.Xr memchr 3 , +.Xr rindex 3 , +.Xr strchr 3 , +.Xr strcspn 3 , +.Xr strpbrk 3 , +.Xr strsep 3 , +.Xr strspn 3 , +.Xr strstr 3 , +.Xr strtok 3 +.Sh 規格 +.Fn strrchr +関数は、 +.St -ansiC +に準拠しています。 diff --git a/ja_JP.eucJP/man/man3/strsep.3 b/ja_JP.eucJP/man/man3/strsep.3 new file mode 100644 index 0000000000..b42a4122bc --- /dev/null +++ b/ja_JP.eucJP/man/man3/strsep.3 @@ -0,0 +1,110 @@ +.\" Copyright (c) 1990, 1991, 1993 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" This code is derived from software contributed to Berkeley by +.\" Chris Torek. +.\" +.\" 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. +.\" +.\" @(#)strsep.3 8.1 (Berkeley) 6/9/93 +.\" +.Dd June 9, 1993 +.Dt STRSEP 3 +.Os +.Sh 名称 +.Nm strsep +.Nd 文字列の分割 +.Sh 書式 +.Fd #include +.Ft char * +.Fn strsep "char **stringp" "const char *delim" +.Sh 解説 +.Fn strsep +関数は、 +.Fa *stringp +により参照される文字列の中で、文字列 +.Fa delim +中のいずれかの文字 ( または終端の +.Ql \e0 +) のうちで最初に出現する文字の位置をを探し、その箇所を +.Ql \e0 +で置き換えます。 +区切り文字 ( または文字列の末尾に達した場合は +.Dv NULL +) の次の文字の位置は、 +.Fa *stringp +に格納されます。 +.Fa *stringp +の元の値は戻り値となります。 +.Pp +「空」のフィールド、すなわち、 +2 つの隣接する区切り文字によって生じたフィールドは、 +.Fa *stringp +の中に返されたポインタが参照する位置を +.Ql \e0 +と比較することで検出可能です。 +.Pp +.Fa *stringp +が最初から +.Dv NULL +である場合は、 +.Fn strsep +は +.Dv NULL +を返します。 +.Sh 例 +以下では、 +空白文字によって区切られたトークンで構成されている文字列を、 +引数ベクタへと解釈するために +.Fn strsep +を使っています。 +.Bd -literal -offset indent +char **ap, *argv[10], *inputstring; + +for (ap = argv; (*ap = strsep(&inputstring, " \et")) != NULL;) + if (**ap != '\e0') + if (++ap >= &argv[10]) + break; +.Ed +.Sh 歴史 +.Fn strsep +関数は、 +.Fn strtok +関数を置き換えるものとして考えられています。 +.Fn strtok +関数は移植性の点では好ましいのですが ( +.St -ansiC +に準拠しています ) 、 +空のフィールドを扱う、すなわち、 +2 つの隣接する区切り文字によって区切られたフィールドを検出するとか、 +一回で複数の文字列に対して使用する、といったことができません。 +.Fn strsep +関数は、最初に +.Bx 4.4 +に現れました。 diff --git a/ja_JP.eucJP/man/man3/strspn.3 b/ja_JP.eucJP/man/man3/strspn.3 new file mode 100644 index 0000000000..a7834864b6 --- /dev/null +++ b/ja_JP.eucJP/man/man3/strspn.3 @@ -0,0 +1,76 @@ +.\" Copyright (c) 1990, 1991, 1993 +.\" 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. +.\" +.\" @(#)strspn.3 8.1 (Berkeley) 6/4/93 +.\" +.Dd June 4, 1993 +.Dt STRSPN 3 +.Os +.Sh 名称 +.Nm strspn +.Nd 文字列を測る +.Sh 書式 +.Fd #include +.Ft size_t +.Fn strspn "const char *s" "const char *charset" +.Sh 解説 +.Fn strspn +関数は、ヌルで終端された文字列 +.Fa s +について、 +.Fa s +から取り出した文字が +.Fa charset +中に存在する +最初の区間の長さを測ります。 +.Sh 戻り値 +.Fn strspn +関数は、測定された文字数を返します。 +.Sh 参照 +.Xr index 3 , +.Xr memchr 3 , +.Xr rindex 3 , +.Xr strchr 3 , +.Xr strcspn 3 , +.Xr strpbrk 3 , +.Xr strrchr 3 , +.Xr strsep 3 , +.Xr strstr 3 , +.Xr strtok 3 +.Sh 規格 +.Fn strspn +関数は、 +.St -ansiC +に準拠しています。 diff --git a/ja_JP.eucJP/man/man3/strstr.3 b/ja_JP.eucJP/man/man3/strstr.3 new file mode 100644 index 0000000000..65fd592343 --- /dev/null +++ b/ja_JP.eucJP/man/man3/strstr.3 @@ -0,0 +1,88 @@ +.\" Copyright (c) 1990, 1991, 1993 +.\" 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. +.\" +.\" @(#)strstr.3 8.1 (Berkeley) 6/4/93 +.\" +.Dd June 4, 1993 +.Dt STRSTR 3 +.Os +.Sh 名称 +.Nm strstr +.Nd 文字列中の部分文字列の位置を探す +.Sh 書式 +.Fd #include +.Ft char * +.Fn strstr "const char *big" "const char *little" +.Sh 解説 +.Fn strstr +関数は、ヌルで終端された文字列 +.Fa big +中で、 +ヌルで終端された文字列 +.Fa little +が最初に出現する位置を探します。 +.Fa little +が空の文字列のとき、 +.Fn strstr +は +.Fa big +を返します。 +.Fa little +が +.Fa big +の中に現れないとき、 +.Fn strstr +は NULL を返します。 +それ以外のときは、 +.Fn strstr +は最初に出現した +.Fa little +の最初の文字へのポインタを返します。 +.Sh 参照 +.Xr index 3 , +.Xr memchr 3 , +.Xr rindex 3 , +.Xr strchr 3 , +.Xr strcspn 3 , +.Xr strpbrk 3 , +.Xr strrchr 3 , +.Xr strsep 3 , +.Xr strspn 3 , +.Xr strtok 3 +.Sh 規格 +.Fn strstr +関数は、 +.St -ansiC +に準拠しています。 diff --git a/ja_JP.eucJP/man/man3/strtod.3 b/ja_JP.eucJP/man/man3/strtod.3 new file mode 100644 index 0000000000..b5cd209713 --- /dev/null +++ b/ja_JP.eucJP/man/man3/strtod.3 @@ -0,0 +1,136 @@ +.\" Copyright (c) 1990, 1991, 1993 +.\" 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. +.\" +.\" @(#)strtod.3 8.1 (Berkeley) 6/4/93 +.\" +.Dd June 4, 1993 +.Dt STRTOD 3 +.Os +.Sh 名称 +.Nm strtod +.Nd +.Tn ASCII +文字列を double に変換 +.Sh 書式 +.Fd #include +.Ft double +.Fn strtod "const char *nptr" "char **endptr" +.Sh 解説 +.Fn strtod +関数は、 +.Fa nptr +が指す文字列の最初の部分を +.Em double +による表現に変換します。 +.Pp +文字列に想定される形は、 +オプションのプラス (``+'') またはマイナス (``\-'') 記号、 +続いて数字の並び ( これはオプションで小数点文字を含みます ) 、 +オプションで指数が続くというものです。 +指数は、 ``E'' または ``e'' に +オプションでプラスまたはマイナス記号が続いて、 +さらに数字の並びが続くという形です。 +.Pp +文字列の先頭の空白文字 ( +.Xr isspace 3 +関数により定義されるような) はスキップします。 +.Sh 戻り値 +.Fn strtod +関数は、どんなときでも変換された値を返します。 +.Pp +.Fa endptr +が +.Dv NULL +でない場合は、変換に使われた最後の文字の次の文字へのポインタが、 +.Fa endptr +により参照される場所に格納されます。 +.Pp +変換が行われなかった場合はゼロが返され、 +.Fa nptr +の値は +.Fa endptr +によって参照される場所に格納されます。 +.Pp +正しい値がオーバーフローとなると思われるときは、 +( その値の符号にしたがって ) プラスまたはマイナスの +.Dv HUGE_VAL +が返され、 +.Dv ERANGE +が +.Va errno +に保存されます。 +正しい値がアンダーフローとなると思われるときは、 +ゼロが返され、 +.Dv ERANGE +が +.Va errno +に保存されます。 +.Sh エラー +.Bl -tag -width [ERANGE] +.It Bq Er ERANGE +オーバーフローまたはアンダーフローが起きました。 +.Sh 参照 +.Xr atof 3 , +.Xr atoi 3 , +.Xr atol 3 , +.Xr strtol 3 , +.Xr strtoul 3 +.Sh 規格 +.Fn strtod +関数は、 +.St -ansiC +に準拠しています。 +.Sh 作者 +このソフトウェアの作者は +.An David M. Gay +です。 +.Pp +Copyright (c) 1991 by AT&T. +.Pp +本ソフトウェアのコピーや修正版、またはそれらを含むソフトウェア +のすべてのコピー、およびそのようなソフトウェアのサポートドキュメント +のすべてのコピーにこの注意書き全体が含まれていることを条件として、この +ソフトウェアを無料であらゆる目的に使用し、コピーし、修正し、 +配布することをここに許諾します。 +.Pp +本ソフトウェアは、いかなる明示的または暗黙的な保証なしに、 +「そのままの形」で提供されています。 +特に、作者あるいは AT&T は、 +本ソフトウェアの商品性または特定の目的に対する適合性に関する +説明または保証を一切行いません。 +.Pp +.Fn strtod +およびそれに付随する関数のソースコードの無料 +コピー入手については、ベンダーに連絡してください。 diff --git a/ja_JP.eucJP/man/man3/strtok.3 b/ja_JP.eucJP/man/man3/strtok.3 new file mode 100644 index 0000000000..cfa908a6b6 --- /dev/null +++ b/ja_JP.eucJP/man/man3/strtok.3 @@ -0,0 +1,168 @@ +.\" Copyright (c) 1998 Softweyr LLC. All rights reserved. +.\" +.\" strtok_r, from Berkeley strtok +.\" Oct 13, 1998 by Wes Peters +.\" +.\" Copyright (c) 1988, 1991, 1993 +.\" 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 +.\" notices, this list of conditions and the following disclaimer. +.\" +.\" 2. Redistributions in binary form must reproduce the above +.\" copyright notices, 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 Softweyr LLC, the +.\" University of California, Berkeley, and its contributors. +.\" +.\" 4. Neither the name of Softweyr LLC, 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 SOFTWEYR LLC, 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 SOFTWEYR LLC, 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. +.\" +.\" @(#)strtok.3 8.2 (Berkeley) 2/3/94 +.\" +.Dd November 27, 1998 +.Dt STRTOK 3 +.Os FreeBSD 3.0 +.Sh 名称 +.Nm strtok, strtok_r +.Nd 文字列のトークン +.Sh 書式 +.Fd #include +.Ft char * +.Fn strtok "char *str" "const char *sep" +.Ft char * +.Fn strtok_r "char *str" "const char *sep" "char **last" +.Sh 解説 +.Bf -symbolic +このインタフェースは strsep(3) によって置き換えられました。 +.Ef +.Pp +.Fn strtok +関数は、ヌルで終端された文字列 +.Fa str +の中の連続するトークンを分割するために用いられます。 +これらのトークンは、その文字列内で +.Fa sep +の中の文字の少なくとも 1 つによって区分されています。 +最初に +.Fn strtok +を呼び出すときには、 +.Fa str +を指定する必要があります。 +同じ文字列からさらにトークンを取得するために +続いて呼び出すときには、 +代りにヌルポインタを渡す必要があります。 +セパレータ文字列 +.Fa sep +は毎回与えなければなりませんが、 +呼び出しのたびに変更しても構いません。 +.Pp +.Fn strtok_r +関数は +.Fn strtok +の再入可能なバージョンです。 +コンテキストポインタ +.Fa last +は、呼び出し毎に与えなければなりません。 +.Fn strtok_r +は、別々のコンテキストポインタが使われている限りでは、 +お互いの内部で 2 つのパースループをネストするためにも使えます。 +.Pp +.Fn strtok +および +.Fn strtok_r +関数は、そのトークン自体を +.Dv NUL +文字で置き換えた後、 +文字列の次のトークンの先頭へのポインタを返します。 +トークンがなくなっると、ヌルポインタを返します。 +.Sh 例 +次の例では、別々のコンテキストを使って 2 つの文字列を +パースするために +.Fn strtok_r +を使っています: +.Bd -literal +char test[80], blah[80]; +char *sep = "\\/:;=-"; +char *word, *phrase, *brkt, *brkb; + +strcpy(test, "This;is.a:test:of=the/string\\tokenizer-function."); + +for (word = strtok_r(test, sep, &brkt); + word; + word = strtok_r(NULL, sep, &brkt)) +{ + strcpy(blah, "blah:blat:blab:blag"); + + for (phrase = strtok_r(blah, sep, &brkb); + phrase; + phrase = strtok_r(NULL, sep, &brkb)) + { + printf("So far we're at %s:%s\n", word, phrase); + } +} +.Ed +.Sh 参照 +.Xr index 3 , +.Xr memchr 3 , +.Xr rindex 3 , +.Xr strchr 3 , +.Xr strcspn 3 , +.Xr strpbrk 3 , +.Xr strrchr 3 , +.Xr strsep 3 , +.Xr strspn 3 , +.Xr strstr 3 +.Sh 規格 +.Fn strtok +関数は、 +.St -ansiC +に準拠しています。 +.Sh バグ +System V の +.Fn strtok +は、区切り文字のみからなる文字列を渡された場合は、 +次の開始点を変更しません。 +異なる ( または空の ) 区切り文字列を使った +.Fn strtok +の呼び出しで、 +.Dv NULL +以外の値を返せるようにするためです。 +この実装では常に次の開始点を変更するので、 +そのような呼び出しが続く時は常に +.Dv NULL +を返すことになります。 +.Sh 作者 +.An Wes Peters, Softweyr LLC: Aq wes@softweyr.com +.br +.Fx 3.0 +での実装に基づきます。 diff --git a/ja_JP.eucJP/man/man3/strtol.3 b/ja_JP.eucJP/man/man3/strtol.3 new file mode 100644 index 0000000000..ae2466dc63 --- /dev/null +++ b/ja_JP.eucJP/man/man3/strtol.3 @@ -0,0 +1,169 @@ +.\" Copyright (c) 1990, 1991, 1993 +.\" 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. +.\" +.\" @(#)strtol.3 8.1 (Berkeley) 6/4/93 +.\" +.Dd June 4, 1993 +.Dt STRTOL 3 +.Os +.Sh 名称 +.Nm strtol, strtoq +.Nd 文字列の数値を long または quad_t 整数に変換 +.Sh 書式 +.Fd #include +.Fd #include +.Ft long +.Fn strtol "const char *nptr" "char **endptr" "int base" + +.Fd #include +.Fd #include +.Fd #include +.Ft quad_t +.Fn strtoq "const char *nptr" "char **endptr" "int base" +.Sh 解説 +.Fn strtol +関数は、 +.Fa nptr +にある文字列を +.Em long +値に変換します。 +.Fn strtoq +関数は、 +.Fa nptr +にある文字列を +.Em quad_t +値に変換します。 +変換は与えられた +.Fa base +に従って行われます。 +この +.Fa base +の値は 2 から 36 の間か、 +または特別な値である 0 でなければなりません。 +.Pp +文字列は、任意の数の空白文字 ( +.Xr isspace 3 +により決められるような ) で始まり、 +オプションで一つの +.Ql + +または +.Ql - +記号がそれに続きます。 +.Fa base +がゼロか 16 のときは、文字列は接頭辞 +.Ql 0x +を含むことができ、数字は基数を 16 として読み取られます。 +そうでないときの、ゼロの +.Fa base +では、その次の文字が +.Ql 0 +でなければ +10 ( 10 進数 ) と見なされ、 +.Ql 0 +であれば +8 ( 8 進数) と見なされます。 +.Pp +文字列の残りは、 +与えられた基数では有効な数字ではない最初の文字のところで中止するという +わかりやすいやり方で +.Em long +値に変換されます。 +( 10 以上の基数では、大文字または小文字の +.Ql A +は 10 を、 +.Ql B +は 11 を表し、 +.Ql Z +は 35 を表します。 ) +.Pp +.Fa endptr +が nil ではない場合は、 +.Fn strtol +は最初の無効な文字のアドレスを +.Fa *endptr +に格納します。 +数字が全くなかった場合は、 +.Fn strtol +は +.Fa nptr +の元の値を +.Fa *endptr +に格納します。 +( 従って、戻ったときに +.Fa *nptr +が +.Ql \e0 +ではなく、 +.Fa **endptr +が +.Ql \e0 +である場合は、文字列全体が +有効だったことになります。 ) +.Sh 戻り値 +.Fn strtol +関数は、値がアンダーフローやオーバーフローを起こさない限り、 +変換の結果を返します。 +アンダーフローが起こった場合は、 +.Fn strtol +は +.Dv LONG_MIN +を返します。オーバーフローが起こった場合は、 +.Fn strtol +は +.Dv LONG_MAX +を返します。いずれの場合も、 +.Va errno +は +.Er ERANGE +に設定されます。 +.Sh エラー +.Bl -tag -width [ERANGE] +.It Bq Er ERANGE +与えられた文字列が値域を超えました。 +変換された値は固定されています。 +.El +.Sh 参照 +.Xr atof 3 , +.Xr atoi 3 , +.Xr atol 3 , +.Xr strtod 3 , +.Xr strtoul 3 +.Sh 規格 +.Fn strtol +関数は、 +.St -ansiC +に準拠しています。 +.Sh バグ +現在のロケールを無視します。 diff --git a/ja_JP.eucJP/man/man3/strtoul.3 b/ja_JP.eucJP/man/man3/strtoul.3 new file mode 100644 index 0000000000..ec04a3ae03 --- /dev/null +++ b/ja_JP.eucJP/man/man3/strtoul.3 @@ -0,0 +1,163 @@ +.\" Copyright (c) 1990, 1991, 1993 +.\" 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. +.\" +.\" @(#)strtoul.3 8.1 (Berkeley) 6/4/93 +.\" +.Dd June 4, 1993 +.Dt STRTOUL 3 +.Os +.Sh 名称 +.Nm strtoul, strtouq +.Nd 文字列を unsigned long 値または uquad_t 値に変換 +.Sh 書式 +.Fd #include +.Fd #include +.Ft unsigned long +.Fn strtoul "const char *nptr" "char **endptr" "int base" + +.Fd #include +.Fd #include +.Fd #include +.Ft u_quad_t +.Fn strtouq "const char *nptr" "char **endptr" "int base" +.Sh 解説 +.Fn strtoul +関数は、 +.Fa nptr +にある文字列を +.Em unsigned long +値に +変換します。 +.Fn strtouq +関数は、 +.Fa nptr +にある文字列を +.Em u_quad_t +値に変換します。 +変換は与えられた +.Fa base +に従って行われます。 +この +.Fa base +の値は 2 から 36 の間か、 +または特別な値である 0 でなければなりません。 +.Pp +文字列は、任意の数の空白文字 ( +.Xr isspace 3 +により決められるような ) で始まり、 +オプションで一つの +.Ql + +または +.Ql - +記号が続きます。 +.Fa base +がゼロか 16 のとき、文字列は接頭辞 +.Ql 0x +を含むことができ、数字は基数を 16 として読み取られます。 +そうでないときの、ゼロの +.Fa base +では、その次の文字が +.Ql 0 +でなければ +10 ( 10 進数 ) と見なされ、 +.Ql 0 +であれば +8 ( 8 進数 ) と見なされます。 +.Pp +文字列の残りは、 +与えられた基数では有効な数字ではない最初の文字のところで中止するという +わかりやすいやり方で +.Em unsigned long +値に変換されます。 +( 10 以上の基数では、大文字または小文字の +.Ql A +は 10 を、 +.Ql B +は 11 を表し、 +.Ql Z +は 35 を表します。 ) +.Pp +.Fa endptr +が nil ではない場合は、 +.Fn strtoul +は最初の無効な文字のアドレスを +.Fa *endptr +に格納します。 +数字が全くなかった場合は、 +.Fn strtoul +は +.Fa nptr +の元の値を +.Fa *endptr +に格納します。 +( 従って、戻ったときに +.Fa *nptr +が +.Ql \e0 +ではなく、 +.Fa **endptr +が +.Ql \e0 +である場合は、文字列全体が +有効だったことになります。 ) +.Sh 戻り値 +.Fn strtoul +関数は、 +元の ( 否定されていない ) 値がオーバーフローを起こしそうにない限り、 +変換の結果、もしくは先頭にマイナス記号がある場合には変換結果の否定を返します。 +オーバーフローを起こす場合、 +.Fn strtoul +は +.Dv ULONG_MAX +を返し、 +.Va errno +を +.Er ERANGE +に設定します。 +.Sh エラー +.Bl -tag -width [ERANGE] +.It Bq Er ERANGE +与えられた文字列が値域を超えました。 +変換された値は固定されています。 +.El +.Sh 参照 +.Xr strtol 3 +.Sh 規格 +.Fn strtoul +関数は、 +.St -ansiC +に準拠しています。 +.Sh バグ +現在のロケールを無視します。 diff --git a/ja_JP.eucJP/man/man3/strxfrm.3 b/ja_JP.eucJP/man/man3/strxfrm.3 new file mode 100644 index 0000000000..e93f8390e9 --- /dev/null +++ b/ja_JP.eucJP/man/man3/strxfrm.3 @@ -0,0 +1,78 @@ +.\" Copyright (c) 1990, 1991, 1993 +.\" 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. +.\" +.\" @(#)strxfrm.3 8.1 (Berkeley) 6/4/93 +.\" +.Dd June 4, 1993 +.Dt STRXFRM 3 +.Os +.Sh 名称 +.Nm strxfrm +.Nd 文字列をロケールにしたがって変換する +.Sh 書式 +.Fd #include +.Ft size_t +.Fn strxfrm "char *dst" "const char *src" "size_t n" +.Sh 解説 +.Fn strxfrm +関数は、 +.Fa src +により示されたヌルで終端された文字列を、 +現在のロケール対照 (localle collation) がある場合には、 +それに従って変換し、 +結果の文字列の +.Fa n-1 +を超えない文字を +.Fa dst +にコピーし、それをナル文字で終端してから +結果の長さを返します。 +.Fn strxfrm +の後で +.Fn strcmp +を使って 2 つの文字列を比較することは、 +元の 2 つの文字列を +.Fn strcoll +を使って比較することと同じになります。 +.Sh バグ +この関数は、時によっては予測不可能な挙動を示します。 +.Sh 参照 +.Xr setlocale 3 , +.Xr strcmp 3 , +.Xr strcoll 3 +.Sh 規格 +.Fn strxfrm +関数は、 +.St -ansiC +に準拠しています。 diff --git a/ja_JP.eucJP/man/man3/stty.3 b/ja_JP.eucJP/man/man3/stty.3 new file mode 100644 index 0000000000..7ba35c9845 --- /dev/null +++ b/ja_JP.eucJP/man/man3/stty.3 @@ -0,0 +1,90 @@ +.\" Copyright (c) 1983, 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. +.\" +.\" @(#)stty.3 8.1 (Berkeley) 6/4/93 +.\" +.Dd June 4, 1993 +.Dt STTY 3 +.Os BSD 4.2 +.Sh 名称 +.Nm stty , +.Nm gtty +.Nd 端末状態の設定および取得 ( 現存しません ) +.Sh 書式 +.Fd #include +.Ft int +.Fn stty "int fd" "struct sgttyb *buf" +.Ft int +.Fn gtty "int fd" "struct sgttyb *buf" +.Sh 解説 +.Bf -symbolic +これらのインタフェースは、ioctl(2) によって置き換えられました。 +これらの関数は、互換ライブラリ libcompat から利用できます。 +.Ef +.Pp +.Fn stty +関数は、 +.Fa fd +に割り当てられた端末の状態を設定します。 +.Fn gtty +関数は、 +.Fa fd +に割り当てられた端末の状態を取得します。 +端末の状態を設定するには、 +その呼び出しは書込み許可を持っていなければなりません。 +.Pp +.Fn stty +の呼び出しは、実際は +.Ql ioctl(fd, TIOCSETP, buf) +であり、 +.Fn gtty +呼び出しは +.Ql ioctl(fd, TIOCGETP, buf) +です。この説明については、 +.Xr ioctl 2 +および +.Xr tty 4 +を参照してください。 +.Sh 診断 +呼び出しが成功した場合は 0 が返され、 +そうでない場合は \-1 が返され、グローバル変数 +.Va errno +に失敗の原因が入ります。 +.Sh 参照 +.Xr ioctl 2 , +.Xr tty 4 +.Sh 歴史 +.Fn stty +および +.Fn gtty +関数は、 +.Bx 4.2 +に現れました。 diff --git a/ja_JP.eucJP/man/man3/swab.3 b/ja_JP.eucJP/man/man3/swab.3 new file mode 100644 index 0000000000..a68d9d3ead --- /dev/null +++ b/ja_JP.eucJP/man/man3/swab.3 @@ -0,0 +1,66 @@ +.\" Copyright (c) 1990, 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. +.\" +.\" @(#)swab.3 8.1 (Berkeley) 6/4/93 +.\" +.Dd June 4, 1993 +.Dt SWAB 3 +.Os +.Sh 名称 +.Nm swab +.Nd 隣接するバイトを交換 +.Sh 書式 +.Fd #include +.Ft void +.Fn swab "const void *src" "void *dst" "size_t len" +.Sh 解説 +関数 +.Fn swab +は、 +.Fa src +で参照される場所から +.Fa dst +で参照される場所へ、 +隣接するバイトを交換しながら +.Fa len +バイトをコピーします。 +.Pp +引数 +.Fa len +は偶数でなければなりません。 +.Sh 参照 +.Xr bzero 3 , +.Xr memset 3 +.Sh 歴史 +.Fn swab +関数は、 +.At v7 +に現れました。 diff --git a/ja_JP.eucJP/man/man3/sysconf.3 b/ja_JP.eucJP/man/man3/sysconf.3 new file mode 100644 index 0000000000..65abee0fa1 --- /dev/null +++ b/ja_JP.eucJP/man/man3/sysconf.3 @@ -0,0 +1,191 @@ +.\" 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. +.\" +.\" @(#)sysconf.3 8.3 (Berkeley) 4/19/94 +.\" +.Dd April 19, 1994 +.Dt SYSCONF 3 +.Os BSD 4 +.Sh 名称 +.Nm sysconf +.Nd コンフィグレーション可能なシステム変数を取得 +.Sh 書式 +.Fd #include +.Ft long +.Fn sysconf "int name" +.Sh 解説 +このインタフェースは、 +.St -p1003.1-88 +により定義されたものです。 +.Xr sysctl 3 +を使えば、さらに一層完全なインタフェースを使用することができます。 +.Pp +.Fn sysconf +関数は、 +コンフィグレーション可能なシステムの制限 (system limit) +またはオプション変数の現在の値を、 +アプリケーションが調べるための方法を提供します。 +引数 +.Fa name +は、照会するシステム変数を指定します。 +それぞれの名前の値に対応するシンボリック定数は、 +インクルードファイル +.Li +の中にあります。 +.Pp +使用できる値は次の通りです: +.Pp +.Bl -tag -width "123456" +.Pp +.It Li _SC_ARG_MAX +.Xr execve 2 +の引数の最大バイト数。 +.It Li _SC_CHILD_MAX +1 ユーザー ID あたりの同時プロセスの最大数。 +.It Li _SC_CLK_TCK +1 秒あたりの tick 数で表した統計クロック (statistics clock) の頻度。 +.It Li _SC_NGROUPS_Max +追加可能なグループの最大数。 +.It Li _SC_OPEN_MAX +1 ユーザー ID 当たりのオープン可能なファイルの最大数。 +.It Li _SC_STREAM_MAX +1 つのプロセスが一度にオープンできるストリームの最大数の最小値。 +.It Li _SC_TZNAME_MAX +時間帯 (timezone) の名前としてサポートされるタイプの最大数の最小値。 +.It Li _SC_JOB_CONTROL +このシステムでジョブ制御が利用できるなら 1 を返し、 +利用できない場合は \-1 を返します。 +.It Li _SC_SAVED_IDS +保存された set-group および保存された set-user ID が +利用できる場合は 1 を返し、そうでない場合は \-1 を返します。 +.It Li _SC_VERSION +システムが準拠しようと試みる ISO/IEC 9945 (POSIX 1003.1) のバージョン。 +.It Li _SC_BC_BASE_MAX +.Xr bc 1 +ユーティリティにおける ibase/obase の最大値。 +.It Li _SC_BC_DIM_MAX +.Xr bc 1 +ユーティリティにおける最大配列サイズ。 +.It Li _SC_BC_SCALE_MAX +.Xr bc 1 +ユーティリティにおける最大スケール値。 +.It Li _SC_BC_STRING_MAX +.Xr bc 1 +ユーティリティにおける最大ストリング長。 +.It Li _SC_COLL_WEIGHTS_MAX +ロケール定義ファイルにおける LC_COLLATE 順序キーボードのエントリに +割り当てることができる重みの最大数。 +.It Li _SC_EXPR_NEST_MAX +.Xr expr 1 +ユーティリティでの括弧でネストできる式の最大数。 +.It Li _SC_LINE_MAX +テキスト処理ユーティリティの入力ラインのバイトで表した最大長さ。 +.It Li _SC_RE_DUP_MAX +インターバル表記を使うときに許される正規表現の繰り返し発生回数の最大数。 +.It Li _SC_2_VERSION +システムが準拠することを試みる POSIX 1003.2 のバージョン。 +.It Li _SC_2_C_BIND +システムの C 言語開発ファシリティで +C 言語構築オプション (C-Language Bindings Option) が +サポートされていれば 1 を返し、 +サポートされていなければ \-1 を返します。 +.It Li _SC_2_C_DEV +C 言語開発ユーティリティオプション +(C-Language Development Utilities Option) が +サポートされていれば 1 を返し、 +サポートされていなければ\-1 を返します。 +.It Li _SC_2_CHAR_TERM +POSIX 1003.2 に記述されている全操作が可能な端末タイプが、 +最低 1 つサポートされていれば 1 を返し、 +そうでなければ \-1 を返します。 +.It Li _SC_2_FORT_DEV +FORTRAN 開発ユーティリティオプション +(FORTRAN Development Utilities Option) が +サポートされていれば 1 を返し、 +サポートされていなければ \-1 を返します。 +.It Li _SC_2_FORT_RUN +FORTRAN ランタイムユーティリティオプション +(FORTRAN Runtime Utilities Option) が +サポートされていれば 1 を返し、 +サポートされていなければ \-1 を返します。 +.It Li _SC_2_LOCALEDEF +ロケールの作成がサポートしていれば 1 を返し、 +サポートされていなければ \-1 を返します。 +.It Li _SC_2_SW_DEV +ソフトウェア開発ユーティリティオプション +(Software Development Utilities Option) が +サポートされていれば 1 を返し、 +サポートされていなければ \-1 を返します。 +.It Li _SC_2_UPE +ユーザーポータビリティユーティリティオプション +(User Portability Utilities Option) が +サポートされていれば 1 を返し、 +サポートされていなければ \-1 を返します。 +.El +.Sh 戻り値 +.Fn sysconf +の呼び出しが成功しなかったときは \-1 が返され、 +.Va errno +が適切な値に設定されます。 +そうでないときは、 +変数がサポートされていない機能に関連づけられていると \-1 が返され、 +.Va errno +は修正されません。 +それ以外の場合は、現在の変数値が返されます。 +.Sh エラー +.Fn sysconf +関数が失敗して、ライブラリ関数 +.Xr sysctl 3 +について記されているエラーのいずれかに対応した +.Va errno +が設定されることがあります。 +さらに、次のようなエラーが報告されることがあります。 +.Bl -tag -width Er +.It Bq Er EINVAL +.Fa name +引数の値が無効です。 +.Sh 参照 +.Xr sysctl 3 +.Sh バグ +_SC_STREAM_MAX の値は最大値の最小値であり、 +ANSI C の FOPEN_MAX と同じであることが要求されているので、 +戻り値は極めて小さい誤解を招くような値になります。 +.Sh 規格 +.Fn sysconf +の返す値が、呼び出したプロセスが生存している間に変化する +可能性があることを除いては、この関数は +.St -p1003.1-88 +に準拠しています。 +.Sh 歴史 +.Fn sysconf +関数は、最初 +.Bx 4.4 +に現れました。 diff --git a/ja_JP.eucJP/man/man3/sysctl.3 b/ja_JP.eucJP/man/man3/sysctl.3 new file mode 100644 index 0000000000..9aa7bc7df4 --- /dev/null +++ b/ja_JP.eucJP/man/man3/sysctl.3 @@ -0,0 +1,888 @@ +.\" 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. +.\" +.\" @(#)sysctl.3 8.4 (Berkeley) 5/9/95 +.\" +.Dd May 9, 1995 +.Dt SYSCTL 3 +.Os +.Sh 名称 +.Nm sysctl , +.Nm sysctlbyname +.Nd システム情報を取得または設定 +.Sh 書式 +.Fd #include +.Fd #include +.Ft int +.Fn sysctl "int *name" "u_int namelen" "void *oldp" "size_t *oldlenp" "void *newp" "size_t newlen" +.Ft int +.Fn sysctlbyname "const char *name" "void *oldp" "size_t *oldlenp" "void *newp" "size_t newlen" +.Sh 解説 +.Fn sysctl +関数はシステム情報を取り出し、該当する特権のあるプロセスが +システム情報を設定できるようにします。 +.Fn sysctl +で利用できる情報は、整数、 +ストリング、およびテーブルで構成されます。情報は、 +.Xr sysctl 8 +ユーティリティ +を使用してコマンドインタフェースから取り出しおよび設定できます。 +.Pp +以降で明確に記載した場合を除いて、 +.Fn sysctl +は、要求されたデータの一貫した +スナップショットを返します。一貫性を保つために、メモリへの宛先バッファが +ロックされるので、データはブロックなしにコピーできます。 +.Fn sysctl +の呼び出しはデッドロックを回避するためにシリアル化されています。 +.Pp +状態は ``管理情報ベース'' (Management Information Base、MIB) +スタイルの名前を使用して記述され、 +.Fa name +にリストされます。 +.Fa name +は長さが +.Fa namelen +の整数の配列です。 +.Pp +.Fn sysctlbyname +関数は、名前の +ASCII +表現を受け入れ、整数の名前ベクトルを +内部的に検索します。それ以外は、標準の +.Fn sysctl +関数と同じように機能します。 +.Pp +情報は +.Fa oldp +で指定したバッファにコピーされます。バッファのサイズは、呼び +出しの前に +.Fa oldlenp +で指定した位置で与えられます。この位置は、呼び出しが +正常に完了した後およびエラーコード +ENOMEM +で返った後にコピーされるデータの +量を与えます。利用できるデータの量が指定のバッファサイズより大きい場合、 +呼び出しは、指定バッファにちょうど入る量のデータだけを与え、エラーコード +ENOMEM +で返ります。古い値が不要な場合は、 +.Fa oldp +と +.Fa oldlenp +を +NULL +に +設定してください。 +.Pp +利用できるデータのサイズを決定するには、 +.Fa oldp +に +NULL +パラメータを指定して +.Fn sysctl +を呼び出します。利用できるデータのサイズが、 +.Fa oldlenp +の指す位置に +返されます。操作によっては空間の量が頻繁に変化することがあります。 +そのような操作の場合、システムは量を切り上げようとします。返されたサイズ +が、その後まもなくデータを返す呼び出しに十分であるようにするためです。 +.Pp +新しい値を設定するため、 +.Fa newp +は、長さが +.Fa newlen +のバッファを指すように +設定されます。このバッファから、要求された値が取得されます。新しい値が +設定されないと、 +.Fa newp +は +NULL +に設定され、 +.Fa newlen +は +0 に設定されます。 +.Pp +一番上のレベルの名前は +.Pa +に +CTL_ +接頭語付きで定義されます。 +次のとおりです。次のレベルおよびそれ以下のレベルは、ここにリストする +インクルードファイル内にあり、以降の個別のセクションで説明します。 +.Pp +.Bl -column CTLXMACHDEPXXX "Next level namesXXXXXX" -offset indent +.It Sy Pa 名前 次のレベル名 解説 +.It CTL\_DEBUG sys/sysctl.h デバッグ +.It CTL\_VFS sys/mount.h ファイルシステム +.It CTL\_HW sys/sysctl.h 一般的な CPU、I/O +.It CTL\_KERN sys/sysctl.h カーネルの最高限界 +.It CTL\_MACHDEP sys/sysctl.h マシン依存 +.It CTL\_NET sys/socket.h ネットワーキング +.It CTL\_USER sys/sysctl.h ユーザレベル +.It CTL\_VM vm/vm_param.h 仮想メモリ +.El +.Pp +たとえば、システムで許容されるプロセスの最大数を取り出す方法は +次のとおりです。 +.Pp +.Bd -literal -offset indent -compact +int mib[2], maxproc; +size_t len; + +mib[0] = CTL_KERN; +mib[1] = KERN_MAXPROC; +len = sizeof(maxproc); +sysctl(mib, 2, &maxproc, &len, NULL, 0); +.Ed +.Pp +システムユーティリティの標準検索パスを取り出す方法は次のとおりです。 +.Pp +.Bd -literal -offset indent -compact +int mib[2]; +size_t len; +char *p; + +mib[0] = CTL_USER; +mib[1] = USER_CS_PATH; +sysctl(mib, 2, NULL, &len, NULL, 0); +p = malloc(len); +sysctl(mib, 2, p, &len, NULL, 0); +.Ed +.Sh CTL_DEBUG +デバッグ変数はシステムごとにさまざまです。デバッグ変数を追加または +削除するとき、それを認識するように +.Fn sysctl +をコンパイルし直す必要はありません。実行のたびに、 +.Fn sysctl +が、カーネルからデバッグ変数の +リストを取得し、その現在値を表示するからです。システムは +20 個の +.Ns ( Va struct ctldebug ) +変数を定義します。これらは +.Nm debug0 +から +.Nm debug19 +という +名前になります。これらは別個の変数として宣言されるので、対応変数の位置で +個別に初期化できます。ローダーは、変数が複数の場所で初期化されたときは +エラーを出して、同じ変数が複数に使用されるのを回避します。たとえば、変数 +.Nm dospecialcheck +をデバッグ変数としてエクスポートする場合には、次の宣言が +使用できます。 +.Bd -literal -offset indent -compact +int dospecialcheck = 1; +struct ctldebug debug5 = { "dospecialcheck", &dospecialcheck }; +.Ed +.Sh CTL_VFS +明瞭な第 +2 レベルの名称 +VFS_GENERIC +は、すべてのファイルシステムに関する +一般情報を取得するのに使用します。これの第 +3 レベルの識別子の +1 つは +VFS_MAXTYPENUM +で、最も大きいファイルシステムタイプの番号を与えます。別の +第 +3 レベルの識別子は +VFS_CONF +で、第 +4 レベルの識別子として与えられた +ファイルシステムタイプに関する構成を返します +( +使用法の例は +.Xr getvfsbyname 3 +を参照 +) +。残りの第 +2 レベルの識別子は、 +.Xr statfs 2 +呼び出しまたは +VFS_CONF +が +返すファイルシステムタイプ番号です。各ファイルシステムについて利用できる第 +3 レベルの識別子は、そのファイルシステムのマウント引数構造を定義する +ヘッダファイルで指定されます。 +.Sh CTL_HW +CTL_HW +レベルに関して利用できるストリングと整数については以下で詳しく +説明します。変更可能性の列は、適切な特権のあるプロセスが値を +変更できるかどうかを示します。 +.Bl -column "Second level nameXXXXXX" integerXXX -offset indent +.It Sy Pa 第 2 レベル名 タイプ 変更可能 +.It HW\_MACHINE ストリング いいえ +.It HW\_MODEL ストリング いいえ +.It HW\_NCPU 整数 いいえ +.It HW\_BYTEORDER 整数 いいえ +.It HW\_PHYSMEM 整数 いいえ +.It HW\_USERMEM 整数 いいえ +.It HW\_PAGESIZE 整数 いいえ +.It HW\_FLOATINGPOINT 整数 いいえ +.It HW\_MACHINE\_ARCH ストリング いいえ +.\".It HW\_DISKNAMES 整数 いいえ +.\".It HW\_DISKSTATS 整数 いいえ +.El +.Pp +.Bl -tag -width "123456" +.It Li HW_MACHINE +マシンクラス +.It Li HW_MODEL +マシンモデル +.It Li HW_NCPU +CPU +の数 +.ne 1i +.It Li HW_BYTEORDER +バイト順 +(4,321、または 1,234) +.It Li HW_PHYSMEM +物理メモリのバイト +.It Li HW_USERMEM +カーネルでないメモリのバイト +.It Li HW_PAGESIZE +ソフトウェアのページサイズ +.It Li HW_FLOATINGPOINT +浮動小数点サポートがハードウェアにある場合はゼロでない +.It Li HW_MACHINE_ARCH +マシンはアーキテクチャタイプに依存 +.\".It Fa HW_DISKNAMES +.\".It Fa HW_DISKSTATS +.El +.Sh CTL_KERN +CTL_KERN +レベルに関して利用できるストリングと整数の情報について以下に詳しく +説明します。変更可能性の列は、該当する特権のあるプロセスが値を +変更するかどうかを示します。現時点で利用できるデータのタイプは、 +プロセス情報、システム +vnode、開いたファイルのエントリ、 +ルーティングテーブルのエントリ、仮想メモリ統計、負荷平均履歴、および +クロックレート情報です。 +.Pp +.Bl -column "KERNXMAXFILESPERPROCXXX" "struct clockrateXXX" -offset indent +.It Sy Pa 第 2 レベル名 タイプ 変更可能 +.It KERN\_ARGMAX 整数 いいえ +.It KERN\_BOOTFILE ストリング はい +.It KERN\_BOOTTIME struct timeval いいえ +.It KERN\_CLOCKRATE struct clockinfo いいえ +.It KERN\_FILE struct file いいえ +.It KERN\_HOSTID 整数 はい +.It KERN\_HOSTNAME ストリング はい +.It KERN\_JOB\_CONTROL 整数 いいえ +.It KERN\_MAXFILES 整数 はい +.It KERN\_MAXFILESPERPROC 整数 はい +.It KERN\_MAXPROC 整数 いいえ +.It KERN\_MAXPROCPERUID 整数 はい +.It KERN\_MAXVNODES 整数 はい +.It KERN\_NGROUPS 整数 いいえ +.It KERN\_NISDOMAINNAME ストリング はい +.It KERN\_OSRELDATE 整数 いいえ +.It KERN\_OSRELEASE ストリング いいえ +.It KERN\_OSREV 整数 いいえ +.It KERN\_OSTYPE ストリング いいえ +.It KERN\_POSIX1 整数 いいえ +.It KERN\_PROC struct proc いいえ +.It KERN\_PROF node 適用不可 +.It KERN\_SAVED\_IDS 整数 いいえ +.It KERN\_SECURELVL 整数 累乗のみ +.It KERN\_UPDATEINTERVAL 整数 いいえ +.It KERN\_VERSION ストリング いいえ +.It KERN\_VNODE struct vnode いいえ +.El +.ne 1i +.Pp +.Bl -tag -width "123456" +.It Li KERN_ARGMAX +.Xr execve 2 +への引数の最大バイト数 +.It Li KERN_BOOTFILE +カーネルがロードされた元のファイルの完全なパス名 +.It Li KERN_BOOTTIME +.Va struct timeval +構造が返されます。この構造には、システムが起動された時刻が +入れられます。 +.It Li KERN_CLOCKRATE +.Va struct clockinfo +構造が返されます。この構造には、クロック、統計クロック、 +およびプロファイル化クロック頻度、マイクロ秒 +/hz +チック、およびねじれレート +が入れられます。 +.It Li KERN_FILE +ファイルテーブル全体を返します。返されたデータは、 +1 つの +.Va struct filehead +に +.Va struct file +の配列が続いたものになります。ファイルのサイズは、 +システム内のそのようなオブジェクトの現在の数で決まります。 +.It Li KERN_HOSTID +ホスト +ID +を取得または設定します。 +.It Li KERN_HOSTNAME +ホスト名を取得または設定します。 +.It Li KERN_JOB_CONTROL +このシステムで情報制御が利用できる場合は +1 を返します。そうでない場合は +0 を返します。 +.It Li KERN_MAXFILES +システムで開けるファイルの最大数 +.It Li KERN_MAXFILESPERPROC +1 つのプロセスについて開けるファイルの最大数。この制限が適用されるのは、 +開くという要求があった時点で、ゼロでない有効な +uid +のあるプロセスだけです。 +制限または有効な +uid +が変更されても、既に開かれているファイルは影響を受けません。 +.It Li KERN_MAXPROC +システム内で許される同時プロセスの最大数 +.It Li KERN_MAXPROCPERUID +1 つの有効な +uid +についてシステムが許容する同時プロセスの最大数。この限界が +適用されるのは、フォーク要求の時点で、ゼロでない有効な +uid +のあるプロセス +だけです。限界が変更されても、既に開始されているプロセスは影響を +受けません。 +.It Li KERN_MAXVNODES +システムで利用できる +vnode +の最大数 +.It Li KERN_NGROUPS +補充グループの最大数 +.It Li KERN_NISDOMAINNAME +現在の +YP/NIS +ドメインの名前 +.It Li KERN_OSRELDATE +システムのリリース日付。形式は +YYYYMM (1996 +年 +1 月は +199601 と +コード化されます +)。 +.It Li KERN_OSRELEASE +システムリリースストリング +.It Li KERN_OSREV +システム改訂ストリング +.It Li KERN_OSTYPE +システムタイプストリング +.It Li KERN_POSIX1 +システムが準拠しようとしている +ISO/IEC 9945 (POSIX 1003.1) +のバージョン +.It Li KERN_PROC +プロセステーブル全体またはそのサブセットを返します。 +.Va struct kinfo_proc +構造の配列が返され、配列のサイズはシステム内のそのようなオブジェクトの +現在の数で決まります。第 +3 レベルと第 +4 レベルは次のとおりです。 +.Bl -column "Third level nameXXXXXX" "Fourth level is:XXXXXX" -offset indent +.It Pa 第 3 レベル名 第 4 レベル名 +.It KERN\_PROC\_ALL なし +.It KERN\_PROC\_PID プロセス ID +.It KERN\_PROC\_PGRP プロセスグループ +.It KERN\_PROC\_TTY tty デバイス +.It KERN\_PROC\_UID ユーザ ID +.It KERN\_PROC\_RUID リアルユーザ ID +.El +.It Li KERN_PROF +カーネルに関するプロファイル化情報を返します。カーネルをプロファイル化用に +コンパイルしないと、 +KERN_PROF +値を取り出そうとしても、 +EOPNOTSUPP +で処理は失敗します。ストリング用の第 +3 レベル名および整数プロファイル化情報について +以下に詳しく説明します。 +( +変更可能性の列は、該当する特権のあるプロセスが値を +変更できるかどうかを示します。 +.Bl -column "GPROFXGMONPARAMXXX" "struct gmonparamXXX" -offset indent +.It Sy Pa 第 3 レベル名 タイプ 変更可能 +.It GPROF\_STATE 整数 はい +.It GPROF\_COUNT u_short[\|] はい +.It GPROF\_FROMS u_short[\|] はい +.It GPROF\_TOS struct tostruct はい +.It GPROF\_GMONPARAM struct gmonparam いいえ +.El +.Pp +変数は次のとおりです。 +.Bl -tag -width "123456" +.It Li GPROF_STATE +GMON_PROF_ON +または +GMON_PROF_OFF +を返して、プロファイル化が +進行中であるか、または停止しているかを示します。 +.It Li GPROF_COUNT +統計プログラムカウンタカウントの配列 +.It Li GPROF_FROMS +呼び出し点のプログラムカウントでインデックス処理された配列 +.It Li GPROF_TOS +呼び出しの宛先とそのカウントを記述する +.Va struct tostruct +の配列 +.It Li GPROF_GMONPARAM +上記の配列のサイズを指定する構造 +.El +.ne 1i +.It Li KERN_SAVED_IDS +保存された +set-group +および保存された +set-user ID +が利用できる場合は +1 を +返します。 +.It Li KERN_SECURELVL +システムのセキュリティレベル。このレベルは、該当する特権のあるプロセス +によって上げることができます。下げることはできません。 +.It Li KERN_VERSION +システムバージョンストリング +.It Li KERN_VNODE +vnode +テーブル全体を返します。 +vnode +テーブルは必ずしもシステムの一貫した +スナップショットではないことに注意してください。返されるデータは配列で +構成され、配列のサイズは、システム内のそのようなオブジェクトの現在の数で +決まります。配列の各要素に含まれるのは、 +vnode +のカーネルアドレス +.Va struct vnode * +に +vnode +自体 +.Va struct vnode +が続いたものです。 +.It Li KERN_UPDATEINTERVAL +.Xr update 4 +プロセス内の +.Xr sync 2 +呼び出しの間の間隔 +.El +.Sh CTL_MACHDEP +定義された変数の集合はアーキテクチャに依存します。次の変数が +i386 +アーキテクチャ用に定義されています。 +.Bl -column "CONSOLE_DEVICEXXX" "struct bootinfoXXX" -offset indent +.It Sy Pa 第 2 レベル名 タイプ 変更可能 +.It Li CPU\_CONSDEV dev_t いいえ +.It Li CPU\_ADJKERNTZ int はい +.It Li CPU\_DISRTCSET int はい +.It Li CPU\_BOOTINFO struct bootinfo いいえ +.It Li CPU\_WALLCLOCK int はい +.El +.Sh CTL_NET +CTL_NET +レベルに利用できるストリングと整数については以下に詳しく +説明します。変更可能性の列は、該当する特権のあるプロセスが値を +変更できるかどうかを示します。 +.Bl -column "Second level nameXXXXXX" "routing messagesXXX" -offset indent +.It Sy Pa 第 2 レベル名 タイプ 変更可能 +.It PF\_ROUTE ルーティングメッセージ いいえ +.It PF\_INET インターネット値 はい +.El +.Pp +.Bl -tag -width "123456" +.It Li PF_ROUTE +ルーティングテーブル全体またはそのサブセットを返します。データは、 +ルーティングメッセージのシーケンスとして返されます +( +ヘッダファイル、形式、 +および意味については +.Xr route 4 +を参照 +)。各メッセージの長さはメッセージヘッダ +に組み込まれています。 +.Pp +第 +3 レベル名はプロトコル番号で、現時点では必ず +0 です。第 +4 レベル名は +アドレスファミリで、これを +0 に設定するとすべてのアドレスファミリを +選択できます。第 +5 レベル名と第 +6 レベル名は次のとおりです。 +.Bl -column "Fifth level nameXXXXXX" "Sixth level is:XXX" -offset indent +.It Pa 第 5 レベル名 第 6 レベル +.It NET_RT_FLAGS rtflags +.It NET_RT_DUMP なし +.It NET_RT_IFLIST なし +.El +.It Li PF_INET +インターネットプロトコルに関する各種のグローバルな情報を取得または +設定します。第 +3 レベル名はプロトコルです。第 +4 レベル名は変数名です。 +現時点で定義されているプロトコルと名前は次のとおりです。 +.ne 1i +.Bl -column ProtocolXX VariableXX TypeXX ChangeableXX +.It Pa プロトコル 変数 タイプ 変更可能 +.It icmp bmcastecho 整数 はい +.It icmp maskrepl 整数 はい +.It ip forwarding 整数 はい +.It ip redirect 整数 はい +.It ip ttl 整数 はい +.It udp checksum 整数 はい +.El +.Pp +変数は次のとおりです。 +.Bl -tag -width "123456" +.It Li icmp.bmcastecho +ブロードキャストまたはマルチキャストのアドレスへの +ICMP +エコー要求が +応答される必要がある場合は +1 を返します。 +.It Li icmp.maskrepl +ICMP +ネットワークマスク要求が応答される必要がある場合は +1 を返します。 +.It Li ip.forwarding +IP +転送がホストについて有効なときは +1 を返します。つまり、ホストがルーター +として機能しているときです。 +.It Li ip.redirect +ICMP +再転送がホストによって送信できるときは +1 を返します。このオプション +は、ホストが +IP +パケットをルーティングしていない場合は無視されます。また、 +このオプションは通常、すべてのシステムで有効にしておく必要があります。 +.It Li ip.ttl +システムがソースになっている +IP +パケットの最大寿命 +( +ホップ数 +) +値。この値は +通常のトランスポートプロトコルに適用されます。 +ICMP +にではありません。 +.It Li udp.checksum +UDP +チェックサムが計算およびチェックされているときは +1 を返します。 +UDP +チェックサムは無効にしておくことを強くお勧めします。 +.El +.Sh CTL_USER +CTL_USER +レベルに利用できるストリングと整数について以下に詳しく説明します。 +変更可能性の列は、該当する特権のあるプロセスが値を変更できるかどうかを +示します。 +.Bl -column "USER_COLL_WEIGHTS_MAXXXX" "integerXXX" -offset indent +.It Sy Pa 第 2 レベル名 タイプ 変更可能 +.It USER\_BC\_BASE\_MAX 整数 なし +.It USER\_BC\_DIM\_MAX 整数 なし +.It USER\_BC\_SCALE\_MAX 整数 なし +.It USER\_BC\_STRING\_MAX 整数 なし +.It USER\_COLL\_WEIGHTS\_MAX 整数 なし +.It USER\_CS\_PATH ストリング なし +.It USER\_EXPR\_NEST\_MAX 整数 なし +.It USER\_LINE\_MAX 整数 なし +.It USER\_POSIX2\_CHAR\_TERM 整数 なし +.It USER\_POSIX2\_C\_BIND 整数 なし +.It USER\_POSIX2\_C\_DEV 整数 なし +.It USER\_POSIX2\_FORT\_DEV 整数 なし +.It USER\_POSIX2\_FORT\_RUN 整数 なし +.It USER\_POSIX2\_LOCALEDEF 整数 なし +.It USER\_POSIX2\_SW\_DEV 整数 なし +.It USER\_POSIX2\_UPE 整数 なし +.It USER\_POSIX2\_VERSION 整数 なし +.It USER\_RE\_DUP\_MAX 整数 なし +.It USER\_STREAM\_MAX 整数 なし +.It USER\_TZNAME\_MAX 整数 なし +.El +.Bl -tag -width "123456" +.Pp +.It Li USER_BC_BASE_MAX +.Xr bc 1 +ユーティリティ内の最大 +ibase/obase +値 +.It Li USER_BC_DIM_MAX +.Xr bc 1 +ユーティリティ内の最大配列サイズ +.It Li USER_BC_SCALE_MAX +.Xr bc 1 +ユーティリティ内の最大スケール値 +.It Li USER_BC_STRING_MAX +.Xr bc 1 +ユーティリティ内の最大ストリング長 +.It Li USER_COLL_WEIGHTS_MAX +ロケール定義ファイル内の +LC_COLLATE +順序キーワードのエントリに割り +当てできる重みの最大数 +.It Li USER_CS_PATH +すべての標準ユーティリティを検出する環境変数 +.Ev PATH +の値を返します。 +.It Li USER_EXPR_NEST_MAX +.Xr expr 1 +ユーティリティによって、丸括弧内にネストできる式の最大数 +.It Li USER_LINE_MAX +テキスト処理ユーティリティ入力行の最大長 +( +バイト単位 +) +.It Li USER_POSIX2_CHAR_TERM +POSIX 1003.2 +に記述されたすべての操作ができる少なくとも +1 つの端末タイプを +システムがサポートする場合は +1 を返します。そうでない場合は +0 を返します。 +.It Li USER_POSIX2_C_BIND +システムの +C +言語開発機能が、 +C +言語バインディングオプションをサポートする +場合は +1 を返します。そうでない場合は +0 を返します。 +.It Li USER_POSIX2_C_DEV +システムが +C +言語開発ユーティリティオプションをサポートする場合は +1 を +返します。そうでない場合は +0 を返します。 +.It Li USER_POSIX2_FORT_DEV +システムが +FORTRAN +開発ユーティリティオプションをサポートする場合は +1 を +返します。そうでない場合は +0 を返します。 +.It Li USER_POSIX2_FORT_RUN +システムが +FORTRAN +ランタイムユーティリティオプションをサポートする場合は +1 を返します。そうでない場合は +0 を返します。 +.It Li USER_POSIX2_LOCALEDEF +システムがロケールの作成をサポートする場合は +1 を返します。そうでない場合は +0 を返します。 +.It Li USER_POSIX2_SW_DEV +システムがソフトウェア開発ユーティリティオプションをサポートする場合は +1 を +返します。そうでない場合は +0 を返します。 +.It Li USER_POSIX2_UPE +システムがユーザポータビリティ・ユーティリティオプションをサポートする +場合は +1 を返します。そうでない場合は +0 を返します。 +.It Li USER_POSIX2_VERSION +システムが準拠しようとしている +POSIX 1003.2 +のバージョン +.It Li USER_RE_DUP_MAX +間隔表記を使用しているときに、許容される正規表現の反復発生の最大数 +.ne 1i +.It Li USER_STREAM_MAX +プロセスが同時に開いておけるストリームの最大数の最小 +.It Li USER_TZNAME_MAX +時間帯の名前についてサポートされるタイプの最大数の最小 +.El +.Sh CTL_VM +CTL_VM +レベルで利用できるストリングと整数について以下で詳しく説明します。 +変更可能性の列は、該当する特権のあるプロセスが値を変更できるかどうかを +示します。 +.Bl -column "Second level nameXXXXXX" "struct loadavgXXX" -offset indent +.It Sy Pa 第 2 レベル名 タイプ 変更可能 +.It VM\_LOADAVG struct loadavg いいえ +.It VM\_METER struct vmtotal いいえ +.It VM\_PAGEOUT\_ALGORITHM 整数 はい +.It VM\_SWAPPING\_ENABLED 整数 おそらく +.It VM\_V\_CACHE\_MAX 整数 はい +.It VM\_V\_CACHE\_MIN 整数 はい +.It VM\_V\_FREE\_MIN 整数 はい +.It VM\_V\_FREE\_RESERVED 整数 はい +.It VM\_V\_FREE\_TARGET 整数 はい +.It VM\_V\_INACTIVE\_TARGET 整数 はい +.It VM\_V\_PAGEOUT\_FREE\_MIN 整数 はい +.El +.Pp +.Bl -tag -width "123456" +.It Li VM_LOADAVG +負荷平均履歴を返します。返されたデータは +.Va struct loadavg +で構成されます。 +.It Li VM_METER +システム全体に渡る仮想メモリ統計を返します。返されたデータは +.Va struct vmtotal +で構成されます。 +.It Li VM_PAGEOUT_ALGORITHM +統計ベースの管理アルゴリズムが使用される場合は +0 です。 +近 LRU +( near-LRU ) +アルゴリズムが使用される場合は +1 です。 +.It Li VM_SWAPPING_ENABLED +プロセススワップが有効な場合は +1 です。無効な場合は +0 です。スワップを +無効にしてカーネルが構築された場合、この変数は永続的に +0 に設定されます。 +.It Li VM_V_CACHE_MAX +キャッシュ待ち行列の最大希望サイズ +.It Li VM_V_CACHE_MIN +キャッシュ待ち行列の最小希望サイズ。キャッシュ待ち行列のサイズがこの +値よりはるかに低いと、ページアウトデーモンが起動されます。 +.It Li VM_V_FREE_MIN +メモリを待っているプロセスが起動する前に、利用できるようになる必要のある +メモリの最小量 +( +キャッシュメモリ+空きメモリ +)。 +.It Li VM_V_FREE_RESERVED +空きページとキャッシュページがこの値より低いと、プロセスは +ページアウトデーモンを起動し、メモリを待機します。 +.It Li VM_V_FREE_TARGET +ページアウトデーモンが維持しようとする空きメモリの合計量 +( +キャッシュメモリを +含む +)。 +.It Li VM_V_INACTIVE_TARGET +ページアウトデーモンが、実行されるときに、到達する必要のあるアクティブ +でないページの希望数。アクティブでないページは、必要なときに、 +プロセスアドレス内に素早く挿入できます。 +.It Li VM_V_PAGEOUT_FREE_MIN +空きメモリとキャッシュメモリの量がこの値より低い場合、ページアウトデーモン +はデッドロックを避けるために "メモリ維持モード" に入ります。 +.El +.Sh 戻り値 +.Fn sysctl +と +.Fn sysctlbyname +は正常に完了したとき +0 を返します。そうでない +場合は +\-1 が返され、 +.Va errno +が適宜設定されます。 +.Sh エラー +次のエラーが報告される可能性があります。 +.Bl -tag -width Er +.It Bq Er EFAULT +バッファ +.Fa name、 +.Fa oldp、 +.Fa newp、または長さポインタ +.Fa oldlenp +に無効な +アドレスが含まれています。 +.It Bq Er EINVAL +.Fa name +配列が +2 未満であるか、または +CTL_MAXNAME +より大きくなっています。 +.It Bq Er EINVAL +NULL +でない +.Fa newp +が指定され、 +.Fa newlen +内の指定の長さが +大きすぎるかまたは小さすぎます。 +.It Bq Er ENOMEM +.Fa oldlenpis +が指す長さが短すぎて、要求された値を保持できません。 +.It Bq Er ENOTDIR +.Fa name +配列が、端の名前ではなく、中間の名前を指定しています。 +.It Bq Er EOPNOTSUPP +.Fa name +配列が未知の値を指定しています。 +.It Bq Er EPERM +読み取り専用値を設定しようとしました。 +.It Bq Er EPERM +該当する特権のないプロセスが値を設定しようとしました。 +.El +.Sh ファイル +.Bl -tag -width -compact +.It Pa +一番上のレベルの識別子の定義、 +2 番めのレベルのカーネルおよび +ハードウェア識別子、およびユーザレベル識別子 +.It Pa +第 +2 レベルのネットワーク識別子の定義 +.It Pa +第 +3 レベルのプロファイル化識別子についての定義 +.It Pa +第 +2 レベルの仮想メモリ識別子についての定義 +.It Pa +第 +3 レベルのインターネット識別子と第 +4 レベルの +IP +識別子についての定義 +.It Pa +第 +4 レベルの +ICMP +識別子についての定義 +.It Pa +第 +4 レベルの +UDP +識別子についての定義 +.El +.Sh 関連項目 +.Xr sysconf 3 , +.Xr sysctl 3 +.Sh 歴史 +.Fn sysctl +関数は +.Bx 4.4 +で最初に取り入れられました。 diff --git a/ja_JP.eucJP/man/man3/sysexits.3 b/ja_JP.eucJP/man/man3/sysexits.3 new file mode 100644 index 0000000000..d78755e985 --- /dev/null +++ b/ja_JP.eucJP/man/man3/sysexits.3 @@ -0,0 +1,151 @@ +.\" +.\" Copyright (c) 1996 Joerg Wunsch +.\" +.\" 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 DEVELOPERS ``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 DEVELOPERS 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: sysexits.3,v 1.1.1.1 1999-12-09 16:25:54 kuriyama Exp $ +.\" +.\" " +.Dd March 31, 1996 +.Os +.Dt SYSEXITS 3 +.Sh 名称 +.Nm sysexits +.Nd プログラムの望ましい終了コード +.Sh 書式 +.Fd #include +.Sh 解説 +.Xr style 9 +によれば、プログラムを終了するときに失敗の状態を示すために +任意の値を使って +.Xr exit 3 +を呼び出すのは、よいやり方ではありません。代りに、 +.Nm sysexits +からの事前に定義された終了コードを使うべきであり、そうすれば +プロセスの呼び出し者はソースコードを調べなくても失敗クラスをおおよそ +推定することができます。 +.Pp +無事に終了したことは、常にステータス +0 または +.Sy EX_OK +によって +示されます。任意のプログラムが常に返す可能性のあるその他の終了ステータスと +衝突する可能性を減らすために、エラー番号は +.Sy EX__BASE +から始まります。コード +の意味は、おおよそ次に示す通りです: +.Bl -tag -width "EX_UNAVAILABLEXX(XX)" +.It Sy EX_USAGE Pq 64 +コマンドが不正に使用されました。例えば、引数の +数の誤り、誤ったフラグ、パラメータの誤った構文など。 +.It Sy EX_DATAERR Pq 65 +入力データがどこかで不正です。これは、 +ユーザーデータのみに使用する必要があり、システムファイルには +使用すべきではありません。 +.It Sy EX_NOINPUT Pq 66 +入力ファイル (システムファイルではなく) が +存在しないか、または読み取り可能ではありません。これには、メーラーに +対する +.Dq \&No message +のようなエラーも含まれます (このようなエラーまで +捕えようとする場合)。 +.It Sy EX_NOUSER Pq 67 +ユーザーが指定したものは存在しません。これは、 +メールアドレスやリモートログインに使用することができます。 +.It Sy EX_NOHOST Pq 68 +ホストが指定したものは存在しません。これは、 +メールアドレスやネットワークリクエストに使用することができます。 +.It Sy EX_UNAVAILABLE Pq 69 +そのサービスは利用できません。これは、 +サポートプログラムやファイルが存在しない場合に起きます。これは、 +何かやりたいことができないで、その理由が分からないときの +キャッチコールメッセージとして使うこともできます。 +.It Sy EX_SOFTWARE Pq 70 +内部ソフトウェアエラーが検出されました。これは、 +できるだけオペレーティングシステム関連ではないエラーに限る必要があります。 +.It Sy EX_OSERR Pq 71 +オペレーティングシステムエラーが検出されました。 +これは、 +.Dq 分岐できない、 +.Dq パイプを作成できない +などのようなエラーに +使うよう意図されています。これには、 +passwd +ファイルに存在しないユーザーに +対して +getuid +を返すようなものも含まれます。 +.It Sy EX_OSFILE Pq 72 +システムファイルのどれか (例えば、 +.Pa /etc/passwd +、 +.Pa /var/run/utmp +など) が存在しないか、開けないか、または何らかの +エラー (例えば、構文エラー) があります。 +.It Sy EX_CANTCREAT Pq 73 +(ユーザー指定の) 出力ファイルが作成できません。 +.It Sy EX_IOERR Pq 74 +いずれかのファイルに対して +I/O +操作中にエラーが起きました。 +.It Sy EX_TEMPFAIL Pq 75 +一時的な失敗で、本当のエラーではないことを +示します。 +sendmail +では、これはメーラーが (例えば) 接続を確立できず、 +リクエストは後で再試行する必要があることを意味します。 +.It Sy EX_PROTOCOL Pq 76 +リモートシステムがプロトコル交換の +間に「可能でない」何かを返しました。 +.It Sy EX_NOPERM Pq 77 +その操作を実行するために十分な許可を +持っていません。これは、ファイルシステムの問題のためではなく、より高い +レベルの許可のために意図されています。ファイルシステムに対しては、 +.Sy EX_NOINPUT +または +.Sy EX_CANTCREAT +を使用すべきです。 +.It Sy EX_CONFIG Pq 78 +何かがコンフィグレーションされていない、または +コンフィグレーションが間違っている状態にあります。 +.El +.Pp +シンボリックな表現のエラーに対応する数値が、参照を容易にするために +括弧内に示してあります。 +.Sh 参照 +.Xr exit 3 , +.Xr style 9 . +.Sh 歴史 +.Nm sysexits +ファイルは、 +.Bx 4.3 +以降のどこかで現れました。 +.Sh 作者 +このマニュアルページは、 +.Pa +の中のコメント以後に +.ie t J\(:org Wunsch +.el Joerg Wunsch +によって書かれました。 +.Sh バグ +適切な終了値の選択が、しばしばあいまいになります。 diff --git a/ja_JP.eucJP/man/man3/syslog.3 b/ja_JP.eucJP/man/man3/syslog.3 new file mode 100644 index 0000000000..febf85bf46 --- /dev/null +++ b/ja_JP.eucJP/man/man3/syslog.3 @@ -0,0 +1,279 @@ +.\" Copyright (c) 1985, 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. +.\" +.\" @(#)syslog.3 8.1 (Berkeley) 6/4/93 +.\" +.Dd June 4, 1993 +.Dt SYSLOG 3 +.Os BSD 4.2 +.Sh 名称 +.Nm syslog , +.Nm vsyslog , +.Nm openlog , +.Nm closelog , +.Nm setlogmask +.Nd システムログの制御 +.Sh 書式 +.Fd #include +.Fd #include +.Ft void +.Fn syslog "int priority" "const char *message" "..." +.Ft void +.Fn vsyslog "int priority" "const char *message" "va_list args" +.Ft void +.Fn openlog "const char *ident" "int logopt" "int facility" +.Ft void +.Fn closelog void +.Ft int +.Fn setlogmask "int maskpri" +.Sh 解説 +.Fn syslog +関数は、システムのメッセージロガーにメッセージを書込みます。 +そのメッセージは、次に状況に応じてシステムコンソール、ログファイル、 +ログインしたユーザーなどに書込まれたり、他のマシンに転送されます +( +.Xr syslogd 8 +参照) +。 +.Pp +メッセージは、 +.Ql %m +が現在のエラーメッセージにより置き換えられることを除けば、 +.Xr printf 3 +フォーマットストリングと同じものになります +(グローバル変数 +errno +によって示されるものと同じ。 +.Xr strerror 3 +参照) +。 +何もない場合は、末尾に改行が追加されます。 +.Pp +.Fn vsyslog +関数は、 +.Xr varargs 3 +の可変長引数機能を使ってすでに引数が +キャプチャされている場合の代替形式です。 +.Pp +メッセージには優先順位 +( +.Fa priority +) +のタグが付けられます。優先順位は、 +.Fa facility +と +.Em level +にコード化されます。 +.Fa facility +は、メッセージを作成する +システムの一部を記述します。 +.Em level +は、順番になった +(高い方から低い方へ) +次のような一覧から選択します: +.Bl -tag -width LOG_AUTHPRIV +.It Dv LOG_EMERG +パニック状態。これは、通常は全ユーザーに送信されます。 +.It Dv LOG_ALERT +壊れたシステムデータベースのような、直ちに是正すべき状態。 +.It Dv LOG_CRIT +危険な状態、例えばハードデバイスエラーなど。 +.It Dv LOG_ERR +エラー。 +.It Dv LOG_WARNING +警告メッセージ。 +.It Dv LOG_NOTICE +エラー状態ではないが、特別に処理する必要性が考えられる状態。 +.It Dv LOG_INFO +インフォメーションメッセージ。 +.It Dv LOG_DEBUG +通常はプログラムのデバッグの際にのみ使う情報が入った +メッセージ。 +.El +.Pp +.Fn openlog +関数は、 +.Fn syslog +および +.Fn vsyslog +により送られたメッセージに +対して、より特殊な処理を施すためのものです。パラメータ +.Fa ident +は、すべての +メッセージの前に付加されるストリングです。 +.Fa logopt +引数は、ログ作成オプション +を指定するビットフィールドで、次に示す値の +1 つ以上を +.Tn OR +操作することによって作成されます: +.Bl -tag -width LOG_AUTHPRIV +.It Dv LOG_CONS +.Fn syslog +がメッセージを +.Xr syslogd 8 +へ渡せない場合、 +コンソール +.Pq Dq Pa /dev/console +にメッセージを書き込むことを試みます。 +.It Dv LOG_NDELAY +.Xr syslogd 8 +への接続を直ちに開きます。通常は、最初の +メッセージがログに書込まれるまでは開く操作を遅らせます。これは、 +ファイル記述子を割り振る順番を管理する必要があるプログラムでは役に +立ちます。 +.It Dv LOG_PERROR +メッセージを、システムログと同時に標準エラー出力にも書込みます。 +.It Dv LOG_PID +各メッセージとともにプロセス +ID +をログします。デーモンのインスタンス化を識別するために役に立ちます。 +.El +.Pp +.Fa facility +パラメータは、明示的なファシリティが +コード化されていないすべてのメッセージに割り当てるデフォルトファシリティを +コード化します: +.Bl -tag -width LOG_AUTHPRIV +.It Dv LOG_AUTH +権限付与システム: +.Xr login 1 +、 +.Xr su 1 +、 +.Xr getty 8 +、など。 +.It Dv LOG_AUTHPRIV +.Dv LOG_AUTH +と同じですが、限定された個人だけが読める +ファイルにログします。 +.It Dv LOG_CRON +cron +デーモン: +.Xr cron 8 +。 +.It Dv LOG_DAEMON +.Xr routed 8 +のような、他のファシリティでは明示的に +用意されていないシステムデーモン。 +.It Dv LOG_FTP +ファイル転送プロトコルデーモン: +.Xr ftpd 8 +、 +.Xr tftpd 8 +。 +.It Dv LOG_KERN +カーネルにより生成されるメッセージ。これらは、どんな +ユーザープロセスによっても生成できません。 +.It Dv LOG_LPR +ラインプリンターのスプーリングシステム: +.Xr lpr 1 +、 +.Xr lpc 8 +、 +.Xr lpd 8 +、など。 +.It Dv LOG_MAIL +メールシステム。 +.It Dv LOG_NEWS +ネットワークニュースシステム。 +.It Dv LOG_SYSLOG +.Xr syslogd 8 +により内部的に生成されたメッセージ。 +.It Dv LOG_USER +任意のユーザープロセスにより生成されたメッセージ。何も +指定されていない場合は、これはデフォルトのファシリティ識別子になります。 +.It Dv LOG_UUCP +uucp +システム。 +.It Dv LOG_LOCAL0 +ローカルの使用のために予約。 +.Dv LOG_LOCAL1 +から +.Dv LOG_LOCAL7 +までについても同じ。 +.El +.Pp +.Fn closelog +関数は、ログファイルを閉じるために使うことができます。 +.Pp +.Fn setlogmask +関数は、ログ優先順位マスクを +.Fa maskpri +に設定し、以前のマスクを返します。 +.Fa maskpri +に設定されていない優先順位を持った +.Fn syslog +への呼び出しは拒絶されます。個別の優先順位 +.Fa pri +のためのマスクは、マクロ +.Fn LOG_MASK pri +によって計算されます。 +.Fa toppri +自体を含む +toppri +までのすべての優先順位についてのマスクは、マクロ +.Fn LOG_UPTO toppri +によって与えられます。 +デフォルトでは、すべての優先順位をログすることを許可します。 +.Sh 戻り値 +ルーチン +.Fn closelog +、 +.Fn openlog +、 +.Fn syslog +、および +.Fn vsyslog +は、値を返しません。 +.Pp +ルーチン +.Fn setlogmask +は、常に前のログマスクレベルを返します。 +.Sh 例 +.Bd -literal -offset indent +syslog(LOG_ALERT, "who: internal error 23"); + +openlog("ftpd", LOG_PID | LOG_NDELAY, LOG_FTP); + +setlogmask(LOG_UPTO(LOG_ERR)); + +syslog(LOG_INFO, "Connection from host %d", CallingHost); + +syslog(LOG_INFO|LOG_LOCAL2, "foobar error: %m"); +.Ed +.Sh 参照 +.Xr logger 1 , +.Xr syslogd 8 +.Sh 歴史 +これらの関数は +.Bx 4.2 +に現れました。 diff --git a/ja_JP.eucJP/man/man3/system.3 b/ja_JP.eucJP/man/man3/system.3 new file mode 100644 index 0000000000..f8093c3837 --- /dev/null +++ b/ja_JP.eucJP/man/man3/system.3 @@ -0,0 +1,93 @@ +.\" Copyright (c) 1990, 1991, 1993 +.\" 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. +.\" +.\" @(#)system.3 8.1 (Berkeley) 6/4/93 +.\" +.Dd June 4, 1993 +.Dt SYSTEM 3 +.Os +.Sh 名称 +.Nm system +.Nd コマンドをシェルに渡す +.Sh 書式 +.Fd #include +.Ft int +.Fn system "const char *string" +.Sh 解説 +.Fn system +関数は、引数 +.Fa string +をコマンドインタープリタ +.Xr sh 1 +に +渡します。呼び出し側プロセスは、シェルがそのコマンドの実行を完了するまで +待ち、 +.Dv SIGINT +および +.Dv SIGQUIT +を無視し、 +.Dv SIGCHLD +をブロックします。 +.Pp +.Fa string +が +.Dv NULL +ポインタである場合は、 +.Fn system +はコマンドインタープリタ +.Xr sh 1 +が利用できる場合は非ゼロの値を返し、利用できない場合はゼロを +返します。 +.Pp +.Fn system +関数は、シェルの終了ステータス、またはシェルについての +.Xr wait 2 +が失敗した場合は +\-1 を返します。戻り値 +127 は、シェルの実行が +失敗したことを意味します。 +.Sh 参照 +.Xr sh 1 , +.Xr execve 2 , +.Xr wait 2 , +.Xr popen 3 +.Pp +.Sh 規格 +.Fn system +関数は、 +.St -ansiC +に準拠しており、 +.St -p1003.2 +と互換性があると考えられます。 diff --git a/ja_JP.eucJP/man/man3/tan.3 b/ja_JP.eucJP/man/man3/tan.3 new file mode 100644 index 0000000000..d5b2e21923 --- /dev/null +++ b/ja_JP.eucJP/man/man3/tan.3 @@ -0,0 +1,88 @@ +.\" 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. +.\" +.\" from: @(#)tan.3 5.1 (Berkeley) 5/2/91 +.\" $Id: tan.3,v 1.1.1.1 1999-12-09 16:25:53 kuriyama Exp $ +.\" +.Dd May 2, 1991 +.Dt TAN 3 +.Os +.Sh 名称 +.Nm tan , +.Nm tanf +.Nd 正接 ( タンジェント ) 関数 +.Sh 書式 +.Fd #include +.Ft double +.Fn tan "double x" +.Ft float +.Fn tanf "float x" +.Sh 解説 +.Fn tan +および +.Fn tanf +関数は、 +.Fa x +( +単位はラジアン +) +の正接 +( +タンジェント +) +を +計算します。引数の値が大きい場合は、意味のない結果が出る場合があります。 +丸めによる誤差については、 +.Xr math 3 +を参照してください。 +.Sh 戻り値 +.Fn tan +関数は、正接 +( +タンジェント +) +値を返します。 +.Sh 参照 +.Xr acos 3 , +.Xr asin 3 , +.Xr atan 3 , +.Xr atan2 3 , +.Xr cos 3 , +.Xr cosh 3 , +.Xr math 3 , +.Xr sin 3 , +.Xr sinh 3 , +.Xr tanh 3 +.Sh 規格 +.Fn tan +関数は、 +.St -ansiC +に準拠しています。 diff --git a/ja_JP.eucJP/man/man3/tanh.3 b/ja_JP.eucJP/man/man3/tanh.3 new file mode 100644 index 0000000000..ab555f56df --- /dev/null +++ b/ja_JP.eucJP/man/man3/tanh.3 @@ -0,0 +1,87 @@ +.\" 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. +.\" +.\" from: @(#)tanh.3 5.1 (Berkeley) 5/2/91 +.\" $Id: tanh.3,v 1.1.1.1 1999-12-09 16:25:53 kuriyama Exp $ +.\" +.Dd May 2, 1991 +.Dt TANH 3 +.Os +.Sh 名称 +.Nm tanh , +.Nm tanhf +.Nd 双曲線正接 ( ハイパボリックタンジェント ) 関数 +.Sh 書式 +.Fd #include +.Ft double +.Fn tanh "double x" +.Ft float +.Fn tanhf "float x" +.Sh 解説 +.Fn tanh +および +.Fn tanhf +関数は、 +x ( +単位はラジアン +) +の双曲線正接 +( +ハイパボリックタンジェント +) +を計算します。丸めによる誤差については、 +.Xr math 3 +を参照してください。 +.Sh 戻り値 +.Fn tanh +および +.Fn tanhf +関数は、双曲線正接 +( +ハイパボリックタンジェント +) +値を返します。 +.Sh 参照 +.Xr acos 3 , +.Xr asin 3 , +.Xr atan 3 , +.Xr atan2 3 , +.Xr cos 3 , +.Xr cosh 3 , +.Xr math 3 , +.Xr sin 3 , +.Xr sinh 3 , +.Xr tan 3 +.Sh 規格 +.Fn tanh +関数は、 +.St -ansiC +に準拠しています。 diff --git a/ja_JP.eucJP/man/man3/tcgetpgrp.3 b/ja_JP.eucJP/man/man3/tcgetpgrp.3 new file mode 100644 index 0000000000..c078a9ae9f --- /dev/null +++ b/ja_JP.eucJP/man/man3/tcgetpgrp.3 @@ -0,0 +1,81 @@ +.\" Copyright (c) 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. +.\" +.\" @(#)tcgetpgrp.3 8.1 (Berkeley) 6/4/93 +.\" +.Dd June 4, 1993 +.Dt TCGETPGRP 3 +.Os +.Sh 名称 +.Nm tcgetpgrp +.Nd フォアグラウンドの処理グループIDを取得 +.Sh 書式 +.Fd #include +.Fd #include +.Ft pid_t +.Fn tcgetpgrp "int fd" +.Sh 解説 +.Fn tcgetpgrp +関数は、端末デバイスで行っているフォアグラウンドの処理 +グループの処理グループ +ID +を返します。フォアグラウンドの処理グループがない場合、 +.Fn tcgetpgrp +は無効なプロセス +ID +を返します。 +.Sh エラー +エラーが起きた場合、 +.Fn tcgetpgrp +は +-1 を返し、エラーを示すために +次のようにグローバル変数 +.Va errno +が設定されます: +.Bl -tag -width Er +.It Bq Er EBADF +引数 +.Fa fd +が有効なファイル記述子ではありません。 +.It Bq Er ENOTTY +呼び出し側処理が制御端末を持っていないか、または +.Fa fd +で表わされている端末デバイスが制御端末ではありません。 +.El +.Sh 参照 +.Xr setpgid 2 , +.Xr setsid 2 , +.Xr tcsetpgrp 3 +.Sh 規格 +.Fn tcgetpgrp +関数は、 +.St -p1003.1-88 +規格に準拠しているものと考えられます。 diff --git a/ja_JP.eucJP/man/man3/tcsendbreak.3 b/ja_JP.eucJP/man/man3/tcsendbreak.3 new file mode 100644 index 0000000000..6d5d94cdb5 --- /dev/null +++ b/ja_JP.eucJP/man/man3/tcsendbreak.3 @@ -0,0 +1,169 @@ +.\" Copyright (c) 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. +.\" +.\" @(#)tcsendbreak.3 8.1 (Berkeley) 6/4/93 +.\" +.Dd June 4, 1993 +.Dt TCSENDBREAK 3 +.Os +.Sh 名称 +.Nm tcsendbreak , +.Nm tcdrain , +.Nm tcflush , +.Nm tcflow +.Nd ライン制御関数 +.Sh 書式 +.Fd #include +.Ft int +.Fn tcdrain "int fd" +.Ft int +.Fn tcflow "int fd" "int action" +.Ft int +.Fn tcflush "int fd" "int action" +.Ft int +.Fn tcsendbreak "int fd" "int len" +.Sh 解説 +.Fn tcdrain +関数は、 +.Fa fd +で参照される端末へ書込まれるすべての出力が端末に +転送されるまで待ちます。 +.Pp +.Fn tcflow +関数は、 +.Fa action +の値に応じて、 +.Fa fd +で参照される端末へのデータの +送信またはその端末からのデータの受信を一時停止します。 +.Fa action +の値は、 +次のいずれかでなければなりません: +.Bl -tag -width "TCIOFF" +.It Fa TCOOFF +出力を一時停止します。 +.It Fa TCOON +一時停止した出力を再開します。 +.It Fa TCIOFF +端末がシステムへのデータ送信を停止するように、 +STOP +キャラクタを送信します +( +.Xr termios 4 +の +.Ql Input Modes +セクションの +IXOFF +の解説を +参照して下さい +)。 +.It Fa TCION +端末がシステムへのデータ送信を開始するように、 +START +キャラクタ +を送信します +( +.Xr termios 4 +の +.Ql Input Modes +セクションの +IXOFF +の解説を +参照してください +)。 +.El +.Pp +.Fn tcflush +関数は、 +.Fa fd +で参照される端末へ書込まれるべきデータ +であるがまだ端末に送信されていないすべてのデータ、またはその端末から +受信したデータであるがまだ読み込んでいないすべてのデータを、 +.Fa action +の値に +応じて廃棄します。 +.Fa action +の値は、次のいずれかでなければなりません: +.Bl -tag -width "TCIOFLUSH" +.It Fa TCIFLUSH +受信したが読み込んでいないデータを捨てます。 +.It Fa TCOFLUSH +書込んだが送信していないデータを捨てます。 +.It Fa TCIOFLUSH +受信したが読み込んでいないデータ、および書込んだが +送信していないデータの両方を捨てます。 +.El +.Pp +.Fn tcsendbreak +関数は、ゼロ値ビットの連続ストリームを +0.4 +秒間の間 +.Fa fd +で参照される端末へ送信します。 +.Fa len +パラメータは、このシステムでは無視されます。 +.Sh 戻り値 +処理が成功すると、上記のすべての関数は値ゼロを返します。 +.Sh エラー +エラーが起きた場合は +-1 の値が返され、エラーを示すグローバル変数 +.Va errno +が次のように設定されます: +.Bl -tag -width Er +.It Bq Er EBADF +引数 +.Fa fd +が有効なファイル記述子ではありません。 +.It Bq Er EINVAL +引数 +.Fa action +の値が適当ではありません。 +.It Bq Er ENOTTY +.Fa fd +に結びつけられるファイルが端末ではありません。 +.It Bq Er EINTR +.Fn tcdrain +関数は信号により中断されました。 +.El +.Sh 参照 +.Xr tcsetattr 3 , +.Xr termios 4 +.Sh 規格 +.Fn tcsendbreak +、 +.Fn tcdrain +、 +.Fn tcflush +および +.Fn tcflow +関数は、 +.St -p1003.1-88 +規格に準拠していると考えられます。 diff --git a/ja_JP.eucJP/man/man3/tcsetattr.3 b/ja_JP.eucJP/man/man3/tcsetattr.3 new file mode 100644 index 0000000000..0c355b9386 --- /dev/null +++ b/ja_JP.eucJP/man/man3/tcsetattr.3 @@ -0,0 +1,316 @@ +.\" Copyright (c) 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. +.\" +.\" @(#)tcsetattr.3 8.3 (Berkeley) 1/2/94 +.\" +.Dd January 2, 1994 +.Dt TCSETATTR 3 +.Os +.Sh 名称 +.Nm cfgetispeed , +.Nm cfsetispeed , +.Nm cfgetospeed , +.Nm cfsetospeed , +.Nm cfsetspeed , +.Nm cfmakeraw , +.Nm tcgetattr , +.Nm tcsetattr +.Nd termios 構造の操作 +.Sh 書式 +.Fd #include +.Ft speed_t +.Fn cfgetispeed "const struct termios *t" +.Ft int +.Fn cfsetispeed "struct termios *t" "speed_t speed" +.Ft speed_t +.Fn cfgetospeed "const struct termios *t" +.Ft int +.Fn cfsetospeed "struct termios *t" "speed_t speed" +.Ft int +.Fn cfsetspeed "struct termios *t" "speed_t speed" +.Ft void +.Fn cfmakeraw "struct termios *t" +.Ft int +.Fn tcgetattr "int fd" "struct termios *t" +.Ft int +.Fn tcsetattr "int fd" "int action" "const struct termios *t" +.Sh 解説 +.Fn cfmakeraw , +.Fn tcgetattr +および +.Fn tcsetattr +関数は、termios 構造の取得および設定を行うためのものです。 +.Pp +.Fn cfgetispeed , +.Fn cfsetispeed , +.Fn cfgetospeed , +.Fn cfsetospeed +および +.Fn cfsetspeed +関数は、termios 構造におけるボーレートの取得および設定を +行うためのものです。以下に述べる端末に対する関数の効果は、 +.Fn tcsetattr +関数が呼び出されるまでは有効にはならず、すべてエラーが検出されます。 +.Fn tcsetattr +関数に渡されるボーレートの特定の値は、termios 構造に設定され、 +特別な意味を持ちます。これについては、 +.Fn tcsetattr +関数を説明しているマニュアルページに述べます。 +.Sh ボーレートの取得と設定 +入力および出力のボーレートは、termios 構造に入っています。符号なしの整数 +.Li speed_t +は、インクルードファイル +.Aq Pa termios.h +の中で typedef されています。しかし、この整数の値は、それが示すボーレートに +直接対応しており、次のような記号で値が定義されています。 +.Bd -literal +#define B0 0 +#define B50 50 +#define B75 75 +#define B110 110 +#define B134 134 +#define B150 150 +#define B200 200 +#define B300 300 +#define B600 600 +#define B1200 1200 +#define B1800 1800 +#define B2400 2400 +#define B4800 4800 +#define B9600 9600 +#define B19200 19200 +#define B38400 38400 +#ifndef _POSIX_SOURCE +#define EXTA 19200 +#define EXTB 38400 +#endif /*_POSIX_SOURCE */ +.Ed +.Pp +.Fn cfgetispeed +関数は、 +.Fa tp +で参照される termios 構造における入力ボーレートを返します。 +.Pp +.Fn cfsetispeed +関数は、 +.Fa tp +で参照される termios 構造における入力ボーレートを +.Fa speed +の値に設定します。 +.Pp +.Fn cfgetospeed +関数は、 +.Fa tp +で参照される termios 構造における出力ボーレートを返します。 +.Pp +.Fn cfsetospeed +関数は、 +.Fa tp +で参照される termios 構造における出力ボーレートを +.Fa speed +の値に設定します。 +.Pp +.Fn cfsetspeed +関数は、 +.Fa tp +で参照される termios 構造における入力および出力ボーレートの両方を +.Fa speed +の値に設定します。 +.Pp +処理が成功すると、 +.Fn cfsetispeed , +.Fn cfsetospeed +および +.Fn cfsetspeed +は値ゼロを返します。それ以外の場合は -1 という値が返され、エラーを示す +グローバル変数 +.Va errno +が設定されます。 +.SH termios状態の取得と設定 +このセクションでは、一般端末インターフェースを制御するために用いる +関数について説明します。特定のコマンドについて特に断り書きがない限り、 +これらの関数はバックグラウンド処理による使用に対しては制限があります。 +このような操作を行なおうとすると、その処理グループには SIGTTOU 信号が +送られます。呼び出し側処理が SIGTTOU 信号をブロックまたは無視した場合は、 +その処理は操作を実行することを許され、 SIGTTOU 信号は送信されません。 +.Pp +.Fa fd +は開くファイルの記述子ですが、すべての関数においては、関数はそれが +示す特定のファイル記述子に関して開いたファイルの内容だけでなく、潜在的に +関連する端末ファイルにも影響を及ぼします。 +.Pp +.Fn cfmakeraw +関数は、termios 構造に保存されたフラグをすべての入力および +出力処理を無効にする状態に設定し、 +.Dq 生の I/O パス +を与えます。この効果を +逆転させる関数は存在しないことに注意してください。これは、有効に +戻すことができる処理オプションは沢山あり、正しい方法は +.Fn tcgetattr +関数を使い、まず +.Fn cfmakeraw +関数で次に +.Fn tcsetattr +関数によって生モードを設定し、次にもう一度 +.Fn tcsetattr +関数を保存状態で使って元の端末状態に戻して +現在の端末状態のスナップショットを適用するやり方だからです。 +.Pp +.Fn tcgetattr +関数は、 +.Fa tp +で参照される +termios +構造に入っている +.Fa fd +によって参照される端末に付随するパラメータをコピーします。この関数は、 +バックグラウンド処理から使うことが許されていますが、端末アトリビュート +はその後にフォアグラウンド処理によって変更される場合があります。 +.Pp +.Fn tcsetattr +関数は、 +.Fa tp +によって参照される termios 構造の端末に付随するパラメータを設定します。 +.Fa action +フィールドは、インクルードファイル +.Aq Pa termios.h +の中で指定された通りに、以下の値を +.Em or +操作することによって +作成されます。 +.Bl -tag -width "TCSADRAIN" +.It Fa TCSANOW +変更は直ちに行われます。 +.It Fa TCSADRAIN +変更は、 +.Fa fd +に書込まれたすべての出力が端末に送信された後で +行われます。出力に影響を与えるパラメータを変更する場合には、この +.Fa action +値を使わなければなりません。 +.It Fa TCSAFLUSH +変更は、 +.Fa fd +に書込まれたすべての出力が端末に送信された後で +行われます。その上、受信されたがまだ読み取られていないすべての入力は +廃棄されます。 +.It Fa TCSASOFT +この値が +.Fa action +値に +.Em 又は +操作された場合は、 +.Em c_cflag , +.Em c_ispeed +および +.Em c_ospeed +フィールドの値は無視されます。 +.El +.Pp +ボーレート値 0 は、接続を終了するために使います。 +.Fn tcsetattr +関数に出力速度 0 を指定すると、端末に対してモデム制御を主張せずに、 +端末の接続を切ります。 +.Pp +関数 +.Fn tcsetattr +に入力速度ゼロを指定した場合は、入力ボーレートは出力 +ボーレートに指定されたものと同じ値に設定されます。 +.Pp +関数 +.Fn tcsetattr +が要求した変更のいずれをも行うことができない場合は、値 -1 を返して +.Va errno +を設定します。それ以外の場合は、要求された変更すべてを +可能な限り行います。指定した入力および出力のボーレートが異なり、その +組合せがサポートされていない場合には、どちらのボーレートも変更されません。 +.Pp +処理が成功して完了すると、関数 +.Fn tcgetattr +および +.Fn tcsetattr +は値 0 を返します。それ以外の場合は、値 -1 を返してエラーを示すグローバル変数 +.Va errno +が次のように設定されます: +.Bl -tag -width Er +.It Bq Er EBADF +関数 +.Fn tcgetattr +または +.Fn tcsetattr +に対する引数 +.Fa fd +が有効なファイル記述子ではありません。 +.It Bq Er EINTR +関数 +.Fn tcsetattr +が信号によって中断されました。 +.It Bq Er EINVAL +関数 +.Fn tcsetattr +の引数 +.Fa action +が有効でないか、または termios 構造の中のアトリビュートを +サポートされていない値に変更しようとしています。 +.It Bq Er ENOTTY +関数 +.Fn tcgetattr +または +.Fn tcsetattr +の引数 +.Fa fd +に結びついたファイルが、端末ではありません。 +.El +.Sh 参照 +.Xr tcsendbreak 3 , +.Xr termios 4 +.Sh 規格 +関数 +.XX cfgetispeed , +.XX cfsetispeed , +.XX cfgetospeed , +.XX cfsetospeed , +.Fn tcgetattr +および +.Fn tcsetattr +は、 +.St -p1003.1-88 +規格に準拠していると考えられます。関数 +.Fn cfmakeraw +および +.Fn cfsetspeed +は、 +.Fn tcsetattr +関数の +.Li TCSASOFT +オプションと同様に +.St -p1003.1-88 +規格の拡張です。 diff --git a/ja_JP.eucJP/man/man3/tcsetpgrp.3 b/ja_JP.eucJP/man/man3/tcsetpgrp.3 new file mode 100644 index 0000000000..024506994d --- /dev/null +++ b/ja_JP.eucJP/man/man3/tcsetpgrp.3 @@ -0,0 +1,97 @@ +.\" Copyright (c) 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. +.\" +.\" @(#)tcsetpgrp.3 8.1 (Berkeley) 6/4/93 +.\" +.Dd June 4, 1993 +.Dt TCSETPGRP 3 +.Os +.Sh 名称 +.Nm tcsetpgrp +.Nd フォアグラウンド処理グループ ID の設定 +.Sh 書式 +.Fd #include +.Fd #include +.Ft int +.Fn tcsetpgrp "int fd" "pid_t pgrp_id" +.Sh 解説 +処理が制御する端末を持つ場合は、 +.Nm tcsetpgrp +関数はその端末デバイスと連携したフォアグラウンド処理グループ ID を +.Fa pgrp_id +に設定します。 +.Fa fd +に連携した端末デバイスは、呼び出し処理の制御端末でなければならず、またその +制御端末はその呼び出し側処理のセッションに +現在連携していなければなりません。 +.Fa pgrp_id +の値は、同じセッションにおける処理の呼び出し側処理の処理グループ ID と +同じでなければなりません。 +.Pp +処理が成功して完了すると、 +.Nm tcsetpgrp +は値ゼロを返します。 +.Sh エラー +エラーが起きた場合は、 +.Nm tcsetpgrp +は値 -1 を返してエラーを示すグローバル変数 +.Va errno +を次のように設定します: +.Bl -tag -width Er +.It Bq Er EBADF +引数 +.Fa fd +が有効なファイル記述子ではありません。 +.It Bq Er EINVAL +無効な +.Fa pgrp_id +の値が指定されました。 +.It Bq Er ENOTTY +呼び出し処理が制御端末を持っていないか、または +.Fa fd +で +表わされるファイルが制御端末ではないか、または制御端末がもはや呼び出し +処理のセッションに結合されていません。 +.It Bq Er EPERM +引数 +.Fa pgrp_id +が、同じセッションにおける処理の呼び出し側処理の +処理グループ ID と一致しません。 +.El +.Sh 参照 +.Xr setpgid 2 , +.Xr setsid 2 , +.Xr tcgetpgrp 3 +.Sh 規格 +.Nm tcsetpgprp +関数は、 +.St -p1003.1-88 +規格に準拠しているものと考えられます。 diff --git a/ja_JP.eucJP/man/man3/termcap.3 b/ja_JP.eucJP/man/man3/termcap.3 new file mode 100644 index 0000000000..762c6b788e --- /dev/null +++ b/ja_JP.eucJP/man/man3/termcap.3 @@ -0,0 +1,267 @@ +.\" 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. +.\" +.\" @(#)termcap.3 8.2 (Berkeley) 12/11/93 +.\" +.Dd December 11, 1993 +.Dt TERMCAP 3 +.Os BSD 4 +.Sh 名称 +.Nm tgetent , +.Nm tgetnum , +.Nm tgetflag , +.Nm tgetstr , +.Nm tgoto , +.Nm tputs , +.Nm tparm , +.Nm __set_ospeed +.Nd ターミナルとは独立した操作関数 +.Sh 書式 +.Fd #include +.Vt char PC; +.Vt char *BC; +.Vt char *UP; +.Vt short ospeed; +.Ft int +.Fn tgetent "char *bp" "const char *name" +.Ft int +.Fn tgetnum "const char *id" +.Ft int +.Fn tgetflag "const char *id" +.Ft char * +.Fn tgetstr "const char *id" "char **area" +.Ft char * +.Fn tgoto "const char *cm" "int destcol" "int destline" +.Ft int +.Fn tputs "const char *cp" "int affcnt" "int (*outc)(int)" +.Ft char * +.Fn tparm "const char *cp" "..." +.Ft void +.Fn __set_ospeed "unsigned int speed" +.Sh 解説 +これらの関数は、端末機能データベース、普通は +.Pa /usr/share/misc/termcap +から機能を抽出して使用し、その形式は +.Xr termcap 5 +に説明してあります。 +これらは低レベルのルーチンです。より高レベルのパッケージについては、 +.Xr curses 3 +を参照してください。 +.Pp +.Fn tgetent +関数は、端末名の入力を +.Fa bp +のバッファに抽出します。引数 +.Fa bp +はサイズ 1024 のキャラクタバッファでなければならず、またそれに続いて関数 +.Fn tgetnum , +.Fn tgetflag , +.Fn tgetstr +などの呼び出しが行われても保持されます。 +.Fn tgetent +関数は、データベースファイル +.Nm termcap +がどれも開けない場合は \-1 を返し、 +与えた端末名が入力されていない場合は 0 を返し、すべてがうまく +処理された場合は 1 を返します。この関数は環境の中で +.Ev TERMCAP +変数を探します。それが見つかり、その値がスラッシュで始まっておらず、 +また端末タイプ +.Fa name +が環境ストリング +.Ev TERM +と同じである場合は、 +.Nm termcap +ファイルを読まずに +.Ev TERMCAP +ストリングを使用します。スラッシュで始まっている場合は、検索する +.Nm termcap +ファイルのパス名としてそのストリングを使います。 +.Ev TERMCAP +がスラッシュで始まっておらす、かつ +.Fa name +が +.Ev TERM +と異なる場合は、環境変数 +.Ev TERMPATH +が存在しなければ +.Fn tgetent +関数はファイル +.Pa $HOME/.termcap +および +.Pa /usr/share/misc/termcap +をこの順番で探します。 +.Ev TERMPATH +が存在すれば、 +それが検索するファイルの(空白またはコロンで区切られた)パス名リストを +指定します。複数のファイルを探す場合で要求されたエントリに +.Sy tc +フィールドがある場合は、 +それが指名するエントリを同じファイルまたはそれに続くファイルの中に +探さねばなりません。これによって、 +.Fn tgetent +関数を呼び出すプログラムへの +入力のスピードを上げることができるとともに、新しい端末記述のデバッグや +.Pa /usr/share/misc/termcap +ファイルを書けない場合に自分の端末の端末説明を +作ることが簡単になります。 +.Pp +.Fn tgetnum +関数は、機能 +.Fa id +の数値を取り入れて、それが端末に対して +与えられていない場合は \-1 を返します。 +.Fn tgetflag +関数は、指定された機能が端末のエントリに存在する場合には 1 を返し、 +存在しない場合には 0 を返します。 +.Fn tgetstr +関数は、機能 +.Fa id +のストリング値を返し、それを +.Fa area +のバッファに入れ、 +.Fa area +ポインタを進めます。この関数は、カーソルのアドレス +およびパッディング情報を除いて、 +.Xr termcap 5 +に記述されたこのフィールドの +略称をデコードします。 +.Fn tgetstr +関数は、その機能が見つからない場合は +.Dv NULL +を返します。 +.Pp +.Fn tgoto +関数は、 +.Fa destline +行の +.Fa cm +から go to カラムまででデコードされたカーソルアドレスストリングを返します。 +この関数は、返すストリングに +.Sy \en , +.Sy ^D +または +.Sy ^@ +を入れることを避けるために必要な場合には外部変数 +.Va UP +( +.Sy up +機能から ) および +.Va BC +( +.Sy bs +ではなく +.Sy bc +が与えられている場合 ) を使います。( +.Fn tgoto +関数を呼び出すプログラムは、 +.Fn tgoto +関数がタブを出力する可能性があるので、必ず +.Dv XTABS +ビットをオフにしておかなければなりません。 +いずれにせよ、termcap を使っているプログラムは、 +端末によっては control-I を他の機能、 +例えば破壊不能スペースに使っているので、一般に +.Dv XTABS +をオフにする +必要があることに注意してください ) 。 理解できない +.Sy % +シーケンスが与えられている場合は、 +.Fn tgoto +関数は +.Pq Dv OOPS +を返します。 +.Pp +.Fn tputs +関数は、 +.Fa cp +ストリングの先頭のパッディング情報をデコードします。 +.Fa affcnt +は、この操作によって影響を受ける行数を与え、これに該当しない +場合は行数は 1 となり、 +.Fa outc +は各キャラクタとともに順に呼び出されるルーチンです。外部変数 +.Va PC +には、パッドキャラクタが null +.Pq Sy ^@ +では不適当な場合には、( +.Sy pc +機能から ) 使用すべきパッドキャラクタが +入っていなければなりません。 +外部変数 +.Va ospeed +には、 +.Xr stty 3 +によりエンコードされた端末の出力速度が +入っていなければなりません。 +.Fn __set_ospeed +関数は、cps で表した速度 +.Fa speed +をもっとも近い +.Xr stty 3 +コード化された速度に変換し、その結果を +.Va ospeed +に保存します。 +.Pp +.Fn tparm +関数は、ストリング +.Fa cp +を与えられたパラメータによってインスタンスに変換します。 +.Fa cp +にそのパラメータが適用された結果を指すポインタ +が返されます。理解できない +.Sy % +シーケンスが与えられた場合は、 +.Fn tparm +関数は +.Pq Dv OOPS +を返します。 +.Sh ファイル +.Bl -tag -width /usr/share/misc/termcap -compact +.It /usr/lib/libtermcap.a +.Fl l Ar ltermcap +ライブラリ ( +.Fl l Ar ltermlib +とも呼ばれます ) +.It /usr/share/misc/termcap +標準端末機能データベース +.It $HOME/.termcap +ユーザーの端末機能データベース +.El +.Sh 参照 +.Xr ex 1 , +.Xr curses 3 , +.Xr termcap 5 +.Sh 歴史 +.Fn tgetent +関数は、 +.Bx 4.0 +に現れました。 diff --git a/ja_JP.eucJP/man/man3/time.3 b/ja_JP.eucJP/man/man3/time.3 new file mode 100644 index 0000000000..9033739e75 --- /dev/null +++ b/ja_JP.eucJP/man/man3/time.3 @@ -0,0 +1,81 @@ +.\" Copyright (c) 1989, 1991, 1993 +.\" 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. +.\" +.\" @(#)time.3 8.1 (Berkeley) 6/4/93 +.\" +.Dd June 4, 1993 +.Dt TIME 3 +.Os BSD 4 +.Sh 名称 +.Nm time +.Nd 日時を取得 +.Sh 書式 +.Fd #include +.Ft time_t +.Fn time "time_t *tloc" +.Sh 解説 +.Fn time +関数は、 +1970 年 1 月 1 日 0 時 0 分 0 秒から数えた世界時を秒単位で返します。 +.Pp +時間数のコピーは、ポインタ +.Fa tloc +によって示される領域に保存されます。 +.Fa tloc +が NULL ポインタである場合は、値は保存されません。 +.Pp +操作が成功して終了すると、 +.Fn time +関数は時間の値を返します。それ以外の場合は、 +.Po +.Po Fa time_t Pc \-1 +.Pc +という値が返され、エラーを示すグローバル変数 +.Va errno +が設定されます。 +.Sh エラー +.Va errno +には、次のエラーコードが設定されます。 +.Bl -tag -width [EFAULT] +.It Bq Er EFAULT +引数アドレスが無効なメモリを参照しました。 +.Sh 参照 +.Xr gettimeofday 2 , +.Xr ctime 3 +.Sh 歴史 +.Fn time +関数は、 +.At v6 +に現れました。 diff --git a/ja_JP.eucJP/man/man3/time2posix.3 b/ja_JP.eucJP/man/man3/time2posix.3 new file mode 100644 index 0000000000..92494c435e --- /dev/null +++ b/ja_JP.eucJP/man/man3/time2posix.3 @@ -0,0 +1,89 @@ +.Dd May 1, 1996 +.Dt TIME2POSIX 3 +.Os +.Sh 名称 +.Nm time2posix , +.Nm posix2time +.Nd 基準時点からの秒数を変換 +.Sh 書式 +.Fd #include +.Ft time_t +.Fn time2posix "const time_t *t" +.Ft time_t +.Fn posix2time "const time_t *t" +.Sh 解説 +.St -p1003.1-88 +は、 536457599 という値を "1986 年 12 月 31 日 23 : 59 : 59 " +に対応させるように規定しています。これは、実際上 POSIX の time_t が +うるう秒を含むことはできず、従ってシステム時間はうるう秒が起きるたびに +調整する必要があることを意味しています。 +.Pp +しかしながら、時間パッケージのうるう秒サポートが有効に設定されている場 +合は、このような調整は必要がなく、time_t 値はうるう秒が +起きても正しく ( 真の「…からの秒数」で ) 進みます。 +これは、これらの値が基準時点以後に挿入された +正味のうるう秒だけ POSIX によって要求される値と異なることを意味します。 +.Pp +通常は、タイプ time_t は ( ほとんどの場合 ) 不透明です +\(em すなわち time_t 値は +.Xr time 2 , +.Xr localtime 3 , +.Xr mktime 3 , +.Xr difftime 3 +などの関数からのみ取得し、またそれらの関数のみに渡すように +考えられているので、このことは問題になりません。 +しかしながら、プログラムによっては time_t 値を与えられた日付 / 時間から +直接計算する数式が与えられ、同じ関係を前提条件にしているものがあります。 +このような関係を使ってtime_tの作成 / 分析を行っているプログラムでは、通 +常はうるう秒の間隔を正しく処理できません。 +.Pp +.Fn time2posix +および +.Fn posix2time +関数は、ローカルの time_t 値とそれに相当する POSIX 等価の値との間で +変換を行って、この time_t のミスマッチに対応するために +用意されたものです。これは、うるう秒の挿入や +削除に応じて POSIX システムに起きたタイムベース変更の回数を数える +ことにより行います。これらの変換値は、 +古いアプリケーションを訂正する代りに、あるいは POSIX 準拠システムと +通信するときに用いることができます。 +.Pp +.Fn time2posix +関数は単一の値を持ちます。すなわち、すべてのローカルの time_t は、 +単一の POSIX time_t に対応します。 +.Fn posix2time +関数の動作は、それほど行儀よくありません。 +正のうるう秒に出会うとその結果は 1 つにはならず、 +また負のうるう秒に対しては対応する time_t が存在しないために +それに近い値が返されます。これらの 2 つの例は、POSIX による +表現の欠陥度を示すよい指標であるといえます。 +.Pp +次の表は、 1993 年 6 月末に挿入されたうるう秒に対して、 time_t と +その POSIX 表現への変換値、およびそれを再変換して戻した値との関係を示します。 +.ta \w'93/06/30 'u +\w'23:59:59 'u +\w'A+0 'u +\w'X=time2posix(T) 'u +DATE TIME T X=time2posix(T) posix2time(X) +93/06/30 23:59:59 A+0 B+0 A+0 +93/06/30 23:59:60 A+1 B+1 A+1 or A+2 +93/07/01 00:00:00 A+2 B+1 A+1 or A+2 +93/07/01 00:00:01 A+3 B+2 A+3 + +うるう秒削除は次のようになります。 + +DATE TIME T X=time2posix(T) posix2time(X) +??/06/30 23:59:58 A+0 B+0 A+0 +??/07/01 00:00:00 A+1 B+2 A+1 +??/07/01 00:00:01 A+2 B+3 A+2 +.Pp + [注: posix2time(B+1) => A+0 or A+1] +.Pp +うるう秒サポートが有効になっていない場合は、 +ローカルの time_t と POSIX の time_t は等価となり、 +.Fn time2posix +および +.Fn posix2time +関数はともに恒等関数となります。 +.Sh 参照 +.Xr difftime 3 , +.Xr localtime 3 , +.Xr mktime 3 , +.Xr time 3 diff --git a/ja_JP.eucJP/man/man3/times.3 b/ja_JP.eucJP/man/man3/times.3 new file mode 100644 index 0000000000..cb84ff97fa --- /dev/null +++ b/ja_JP.eucJP/man/man3/times.3 @@ -0,0 +1,132 @@ +.\" Copyright (c) 1990, 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. +.\" +.\" @(#)times.3 8.1 (Berkeley) 6/4/93 +.\" +.Dd June 4, 1993 +.Dt TIMES 3 +.Os BSD 4 +.Sh 名称 +.Nm times +.Nd 時間の処理 +.Sh 書式 +.Fd #include +.Ft clock_t +.Fn times "struct tms *tp" +.Sh 解説 +.Bf -symbolic +このインタフェースは、関数 getrusage(2) および gettimeofday(3) に +置き換えられています。 +.Ef +.Pp +.Fn times +関数は、1970 年 1 月 1 日 0 時 0 分 0 秒で調整された世界時から測った +.Dv CLK_TCK +の時間値を秒で返します。 +.Pp +この関数は、 +.Fa tp +により指示された構造に時間計測情報を書込みます。 +.Pp +.Fa tms +構造は、次のように定義されます: +.Bd -literal -offset indent +typedef struct { + clock_t tms_utime; + clock_t tms_stime; + clock_t tms_cutime; + clock_t tms_cstime; +} +.Ed +.Pp +この構造の要素は、次のように定義されます: +.Bl -tag -width tms_cutime +.It Fa tms_utime +ユーザインストラクションの実行に対して請求される +.Tn CPU +タイム。 +.It Fa tms_stime +その処理のためのシステムによる実行に対して請求される +.Tn CPU +タイム。 +.It Fa tms_cutime +子プロセスの +.Fa tms_utime s +および +.Fa tms_cutime s +の和。 +.It Fa tms_cstime +子プロセスの +.Fa tms_stime Ns s +および +.Fa tms_cstime Ns s +の和。 +.El +.Pp +すべての時間は、 +.Dv CLK_TCK +秒で表されます。 +.Pp +終了した子プロセスの時間は、 +.Xr wait 2 +関数の +1 つが終了した子のプロセス ID をその親に返したときに、その親の +.Fa tms_cutime +および +.Fa tms_cstime +の要素にインクルードされます。エラーが起きた場合は、 +.Fn times +関数は値 +.Pq (clock_t)\-1 +を返し、エラーを示す +.Va errno +を設定します。 +.Sh エラー +.Fn times +関数が失敗すると、ライブラリルーチン +.Xr getrusage 2 +および +.Xr gettimeofday 2 +に指定されたすべてのエラーに対して、グローバル変数 +.Va errno +を設定する場合があります。 +.Sh 参照 +.Xr time 1 , +.Xr getrusage 2 , +.Xr gettimeofday 2 , +.Xr wait 2 , +.Xr clocks 7 +.Pp +.Sh 規格 +.Fn times +関数は、 +.St -p1003.1-88 +に準拠しています。 diff --git a/ja_JP.eucJP/man/man3/timezone.3 b/ja_JP.eucJP/man/man3/timezone.3 new file mode 100644 index 0000000000..b9998f0858 --- /dev/null +++ b/ja_JP.eucJP/man/man3/timezone.3 @@ -0,0 +1,66 @@ +.\" Copyright (c) 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. +.\" +.\" @(#)timezone.3 8.2 (Berkeley) 4/19/94 +.\" +.Dd April 19, 1994 +.Dt TIMEZONE 3 +.Os +.Sh 名称 +.Nm timezone +.Nd タイムゾーンの略称を返す +.Sh 書式 +.Ft char * +.Fn timezone "int zone" "int dst" +.Sh 解説 +.ft B +このインタフェースは、互換性を保つためだけのものです。タイムゾーンの +引数をタイムゾーン略称に正確にマップすることは不可能です。 +ctime(3) を参照してください。 +.ft P +.Pp +.Fn timezone +関数は、指定された +.Ar zone +および +.Ar dst +値に対してタイムゾーン略称へのポインタを返します。 +.Ar zone +は GMT から西に数えた分の数で、 +.Ar dst +は夏時間が使われている場合はゼロではありません。 +.Sh 参照 +.Xr ctime 3 +.Sh 歴史 +.Fn timezone +関数は、 +.At v7 +に現れました。 diff --git a/ja_JP.eucJP/man/man3/tmpfile.3 b/ja_JP.eucJP/man/man3/tmpfile.3 new file mode 100644 index 0000000000..59ba4524cb --- /dev/null +++ b/ja_JP.eucJP/man/man3/tmpfile.3 @@ -0,0 +1,199 @@ +.\" Copyright (c) 1988, 1991, 1993 +.\" 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. +.\" +.\" @(#)tmpnam.3 8.2 (Berkeley) 11/17/93 +.\" +.Dd November 17, 1993 +.Dt TMPFILE 3 +.Os +.Sh 名称 +.Nm tempnam , +.Nm tmpfile , +.Nm tmpnam +.Nd 一時ファイルルーチン +.Sh 書式 +.Fd #include +.Ft FILE * +.Fn tmpfile void +.Ft char * +.Fn tmpnam "char *str" +.Ft char * +.Fn tempnam "const char *tmpdir" "const char *prefix" +.Sh 解説 +.Fn tmpfile +関数は、 +.Xr mkstemp 3 +ルーチンによって返されたファイル記述子に +結合されたストリームへのポインタを返します。作成されたファイルは +.Fn tmpfile +関数が値を返す前にリンク解除され、そのファイルはファイルへの最後の参照が +閉じられた時に自動的に削除されます。そのファイルは、アクセス値 +.Ql w+ +によって開かれます。 +.Pp +.Fn tmpnam +関数は、 +.Dv P_tmpdir +ディレクトリの中で、過去のある特定されない +時点で既存のファイルを参照しなかったファイル名へのポインタを返します。 +.Dv P_tmpdir +は、インクルードファイル +.Aq Pa stdio.h +の中で定義されます。引数 +.Fa s +が +.Dv NULL +でない場合は、ファイル名はそれが参照するバッファにコピーされます。 +それ以外の場合は、ファイル名は静的バッファにコピーされます。どちらの +場合でも、 +.Fn tmpnam +関数はそのファイル名へのポインタを返します。 +.Pp +.Fa s +により参照されるバッファの長さは、少なくとも +.Dv L_tmpnam +バイトなければなりません。 +.Dv L_tmpnam +は、インクルードファイル +.Aq Pa stdio.h +の中で定義されます。 +.Pp +.Fn tempnam +関数は、 +.Fn tmpnam +関数と同じようなものですが、一時ファイルと +ファイル名プレフィックスを収容しているディレクトリを指定する機能を +持っています。 +.Pp +一時ファイルを保存するディレクトリとしては、環境変数 +.Ev TMPDIR +( これが設定されている場合 )、引数 +.Fa tmpdir +( これが +.Dv NULL +でない場合 )、ディレクトリ +.Dv P_tmpdir , +ディレクトリ +.Pa /tmp +が、この順番で試されます。 +.Pp +ファイル名プレフィックスを指定するためには、値が +.Dv NULL +でない場合は引数 +.Fa prefix +が使われ、これが作成されるファイル名の最初の部分になります。 +.Fn Tempnam +関数は、ファイル名を保存するメモリを割り当てます。返された +ポインタは、 +.Xr free 3 +への次に続く引数として使うことができます。 +.Sh 戻り値 +.Fn tmpfile +関数は、成功した場合には開いたファイルストリームへのポインタ +を、エラーの場合には +.Dv NULL +ポインタを返します。 +.Pp +.Fn tmpnam +および +.Fn tempfile +関数は、成功した場合にはファイル名を、 +エラーの場合には +.Dv NULL +ポインタを返します。 +.Sh エラー +.Fn tmpfile +関数が失敗して、ライブラリ関数 +.Xr fdopen 3 +または +.Xr mkstemp 3 +について指定されたエラーのいずれかに対するグローバル変数 +.Va errno +が設定される場合があります。 +.Pp +.Fn tmpnam +関数が失敗して、ライブラリ関数 +.Xr mktemp 3 +について指定された +エラーのいずれかに対する +.Va errno +が設定される場合があります。 +.Pp +.Fn tempnam +関数が失敗して、ライブラリ関数 +.Xr malloc 3 +または +.Xr mktemp 3 +について指定されたエラーのいずれかに対する +.Va errno +が設定される場合があります。 +.Sh 参照 +.Xr mkstemp 3 , +.Xr mktemp 3 +.Sh 規格 +.Fn tmpfile +および +.Fn tmpnam +関数は、 +.St -ansiC +に準拠しています。 +.Sh バグ +これらのインタフェースは、System V および +.Tn ANSI +との互換性のみのために提供されています。 +.Xr mkstemp 3 +インタフェースの使用を強く推奨します。 +.Pp +これらのインタフェースには ( 古い +.Xr mktemp 3 +インタフェースと同様に ) 、 +4 つの重大な問題があります。まず第一に、ファイル名選択とファイル作成および +削除の間には明らかな競合があります。第二に、ほとんどの古いシステムでは、 +ファイル名がリサイクルされるまでには、限られた数 ( 通常は 26 ) の一時 +ファイル名しか使えないことです。第三に、これらの関数 ( および +.Xr mktemp 3 +) の System V インプリメンテーションは、一時ファイル作成の可否を決めるために +.Xr access 2 +関数を用いていることです。これは、setuid および setgid プログラムに対して +明らかな問題を派生させ、このようなプログラムにこれらの +インタフェースを移植して使うことを複雑にします。最後に、一時ファイルを +作成する許可に関する指定がありません。 +.Pp +本インプリメンテーションにはこれらの欠陥はありませんが、ポータブルな +ソフトウェアはそれを頼りにすることはできません。特に、 +.Fn tmpfile +インタフェースは、ユーザが一時ファイルを公開して読み書き可能にすることを +望まない可能性がある場合は、他のシステム上で使用されることが予想される +ソフトウェアの中では使うべきではありません。 diff --git a/ja_JP.eucJP/man/man3/toascii.3 b/ja_JP.eucJP/man/man3/toascii.3 new file mode 100644 index 0000000000..04efd3a356 --- /dev/null +++ b/ja_JP.eucJP/man/man3/toascii.3 @@ -0,0 +1,67 @@ +.\" 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. +.\" +.\" @(#)toascii.3 8.1 (Berkeley) 6/4/93 +.\" +.Dd June 4, 1993 +.Dt TOASCII 3 +.Os +.Sh 名称 +.Nm toascii +.Nd バイトを 7 ビット ASCII に変換 +.Sh 書式 +.Fd #include +.Ft int +.Fn toascii "int c" +.Sh 解説 +.Fn toascii +関数は、下位 7 ビットを除いて、 1 つの文字からパリティや +その他のマーカービットを含めてすべてを取り除きます。 +.Sh 戻り値 +.Fn toascii +関数は、必ず有効な ASCII キャラクタを返します。 +.Sh 参照 +.Xr isalnum 3 , +.Xr isalpha 3 , +.Xr isascii 3 , +.Xr iscntrl 3 , +.Xr isdigit 3 , +.Xr isgraph 3 , +.Xr islower 3 , +.Xr isprint 3 , +.Xr ispunct 3 , +.Xr isspace 3 , +.Xr isupper 3 , +.Xr isxdigit 3 , +.Xr stdio 3 , +.Xr tolower 3 , +.Xr toupper 3 , +.Xr ascii 7 diff --git a/ja_JP.eucJP/man/man3/tolower.3 b/ja_JP.eucJP/man/man3/tolower.3 new file mode 100644 index 0000000000..8d2a4e53af --- /dev/null +++ b/ja_JP.eucJP/man/man3/tolower.3 @@ -0,0 +1,86 @@ +.\" Copyright (c) 1989, 1991, 1993 +.\" 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. +.\" +.\" @(#)tolower.3 8.1 (Berkeley) 6/4/93 +.\" +.Dd June 4, 1993 +.Dt TOLOWER 3 +.Os +.Sh 名称 +.Nm tolower +.Nd 大文字から小文字への変換 +.Sh 書式 +.Fd #include +.Ft int +.Fn tolower "int c" +.Sh 解説 +.Fn tolower +関数は、大文字を対応する小文字に変換します。 +.Sh 戻り値 +引数が大文字である場合は、それに対応する小文字がある場合は +.Fn tolower +関数はそれを返します。それ以外の場合は、その引数が変更されないままで +返されます。 +.\" In the +.\" .Em ``C'' +.\" locale, +.\" .Fn tolower +.\" maps only the characters for which +.\" .Xr isupper +.\" is true to the corresponding characters for which +.\" .Xr islower +.\" is true. +.Sh 参照 +.Xr isalnum 3 , +.Xr isalpha 3 , +.Xr isascii 3 , +.Xr iscntrl 3 , +.Xr isdigit 3 , +.Xr isgraph 3 , +.Xr islower 3 , +.Xr isprint 3 , +.Xr ispunct 3 , +.Xr isspace 3 , +.Xr isupper 3 , +.Xr isxdigit 3 , +.Xr stdio 3 , +.Xr toascii 3 , +.Xr toupper 3 , +.Xr ascii 7 +.Sh 規格 +.Fn tolower +関数は、 +.St -ansiC +に準拠しています。 diff --git a/ja_JP.eucJP/man/man3/toupper.3 b/ja_JP.eucJP/man/man3/toupper.3 new file mode 100644 index 0000000000..a42b11e021 --- /dev/null +++ b/ja_JP.eucJP/man/man3/toupper.3 @@ -0,0 +1,85 @@ +.\" Copyright (c) 1989, 1991, 1993 +.\" 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. +.\" +.\" @(#)toupper.3 8.1 (Berkeley) 6/4/93 +.\" +.Dd June 4, 1993 +.Dt TOUPPER 3 +.Os +.Sh 名称 +.Nm toupper +.Nd 小文字から大文字への変換 +.Sh 書式 +.Fd #include +.Ft int +.Fn toupper "int c" +.Sh 解説 +.Fn toupper +関数は、小文字をそれに対応する大文字に変換します。引数が +小文字の場合は、それに対応する大文字があれば +.Fn toupper +関数はそれを +返します。それ以外の場合は、引数が変更されないままで返されます。 +.\" In the +.\" .Em ``C'' +.\" locale, +.\" .Fn toupper +.\" maps only the characters for which +.\" .Xr islower +.\" is true to the corresponding characters for which +.\" .Xr isupper +.\" is true. +.Sh 参照 +.Xr isalnum 3 , +.Xr isalpha 3 , +.Xr isascii 3 , +.Xr iscntrl 3 , +.Xr isdigit 3 , +.Xr isgraph 3 , +.Xr islower 3 , +.Xr isprint 3 , +.Xr ispunct 3 , +.Xr isspace 3 , +.Xr isupper 3 , +.Xr isxdigit 3 , +.Xr stdio 3 , +.Xr toascii 3 , +.Xr tolower 3 , +.Xr ascii 7 +.Sh 規格 +.Fn toupper +関数は、 +.St -ansiC +に準拠しています。 diff --git a/ja_JP.eucJP/man/man3/ttyname.3 b/ja_JP.eucJP/man/man3/ttyname.3 new file mode 100644 index 0000000000..2fbff50c40 --- /dev/null +++ b/ja_JP.eucJP/man/man3/ttyname.3 @@ -0,0 +1,112 @@ +.\" Copyright (c) 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. +.\" +.\" @(#)ttyname.3 8.1 (Berkeley) 6/4/93 +.\" +.Dd June 4, 1993 +.Dt TTYNAME 3 +.Os +.Sh 名称 +.Nm ttyname , +.Nm isatty , +.Nm ttyslot +.Nd ファイル記述子からそれに結合されている端末 ( tty ) の名前を取得 +.Sh 書式 +.Fd #include +.Ft char * +.Fn ttyname "int fd" +.Ft int +.Fn isatty "int fd" +.Ft int +.Fn ttyslot void +.Sh 解説 +これらの関数は、端末タイプデバイスに関するシステムファイル記述子を +操作します。これらの記述子は標準の +.Tn I/O +.Dv FILE +typedef とは関係を持っておらず、 +.Pa /dev +ディレクトリ中にあって +.Pa /dev/tty Ns Em xx +という名前を持ち、 +それについては初期設定ファイル +.Pa /etc/ttys +の中にエントリが存在するような特別デバイスファイルを参照します( +.Xr ttys 5 +参照 )。 +.Pp +.Fn isatty +関数は、ファイル記述子 +.Fa fd +が有効な端末タイプデバイスを参照しているかどうかを判断します。 +.Pp +.Fn ttyname +関数は、 +.Fn isatty +が真であるファイル記述子に関連するデバイス名を取得します。 +.Pp +.Fn ttyslot +関数は、 +.Xr ttys 5 +ファイルエントリから現在のプロセスの制御端末番号を取ってきます。 +.Sh 戻り値 +.Fn ttyname +関数は、デバイスが見つかって +.Fn isatty +が真である場合は、null で終端された名前を返します。それ以外の場合は、 +.Dv NULL +ポインタを返します。 +.Pp +.Fn ttyslot +関数は、デバイスファイルが見つかればそのユニット番号を +返します。見つからない場合は、値ゼロを返します。 +.Sh ファイル +.Bl -tag -width /etc/ttys -compact +.It Pa /dev/\(** +.It Pa /etc/ttys +.El +.Sh 参照 +.Xr ioctl 2 , +.Xr ttys 5 +.Sh 歴史 +.Fn isatty , +.Fn ttyname , +および +.Fn ttyslot +関数は、 +.At v7 +に現れました。 +.Sh バグ +.Fn ttyname +関数は、その結果を内部静的オブジェクトの中に残し、その +オブジェクトへのポインタを返します。それ以後に +.Fn ttyname +を呼び出すと、その同じオブジェクトは修正されます。 diff --git a/ja_JP.eucJP/man/man3/tzset.3 b/ja_JP.eucJP/man/man3/tzset.3 new file mode 100644 index 0000000000..d0b1d98550 --- /dev/null +++ b/ja_JP.eucJP/man/man3/tzset.3 @@ -0,0 +1,318 @@ +.\" Copyright (c) 1989, 1991, 1993 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" This code is derived from software contributed to Berkeley by +.\" Arthur Olson. +.\" +.\" 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. +.\" +.\" @(#)tzset.3 8.2 (Berkeley) 11/17/93 +.\" +.Dd November 17, 1993 +.Dt TZSET 3 +.Os +.Sh 名称 +.Nm tzset , +.Nm tzsetwall +.Nd 時間変換情報の初期化 +.Sh 書式 +.Fd #include +.Ft void +.Fn tzset void +.Ft void +.Fn tzsetwall void +.Sh 解説 +.Fn tzset +関数は、ライブラリルーチン +.Xr localtime 3 +により使用される +時間変換情報を初期化します。環境変数 +.Ev TZ +は、この変換をどのように行うかを指定します。 +.Pp +環境に +.Ev TZ +が現れていない場合は、 +.Xr tzfile 5 +形式のファイル +.Pa /etc/localtime +により指定されたローカル壁時計時間に最も近い近似値が用いられます。 +.Pp +環境に +.Ev TZ +が現れているがその値が null ストリングである場合には、 +世界標準時刻 +.Pq Tn UTC +が用いられます ( うるう秒補正なしで )。 +.Pp +環境に +.Ev TZ +が現れ、その値がコロン +.Pq Ql \: +で始まる場合は、それ以降の値が +.Xr tzfile 5 +形式ファイルのパス名として用いられ、そこから時間変換情報が読み +込まれます。パス名の最初のキャラクタがスラッシュ +.Pq Ql / +である場合は、それは +絶対パス名として用いられます。それ以外の場合は、そのパス名はシステムの +時間変換情報ディレクトリに対する相対パス名として用いられます。 +.Pp +その値がコロンで始まらない場合は、それはまず ( 上に +説明したように ) 時間変換情報の読み取り用ファイルのパス名として +用いられます。そのファイルが読めない場合は、その値は時間変換情報の +直接的仕様 ( 形式は下に説明 ) であると解釈されます。 +.Pp +環境変数 +.Ev TZ +が +.Xr tzfile 5 +形式ファイルを指定しておらず、直接的仕様と解釈できない場合は、 +.Tn UTC +が用いられます。 +.Pp +.Fn tzsetwall +関数は、ローカル壁時計時間に最も近い近似値を返すように調整を行います。 +.Pp +仕様形式 +.Ev TZ +を時間変換情報の仕様として直接使う場合は、次のようなシンタックスを +持つ必要があります ( 空白は読みやすくするために入れてあります ): +.Bd -filled -offset indent +.Em std offset Bo +.Em dst Bo +.Em offset +.Bc +.Bo +.No , Em rule +.Bc +.Bc +.Ed +.Pp +ここで: +.Bl -tag -width std_and_dst -offset indent +.It Em std と Em dst +標準時間帯 ( +.Em std +) または夏時間帯 ( +.Em dst +) の指示子である 3 以上のバイト。必要なのは +.Em std +のみです。 +.Em dst +がない場合は、この地域では +夏時間が適用されません。大文字と小文字の区別は明示的に許可されます。先頭の +コロン +.Pq Ql \: , +小数点、コンマ +.Pq Ql \&, , +マイナス +.Pq Ql \- , +プラス +.Pq Ql + , +および +.Tn ASCII +.Dv NUL +以外のキャラクタであれば使えます。 +.Pp +.It Em offset +世界標準時を計算するためにローカル時間に加えるべき値を示します。 +.Em offset +は、次のような形式を持ちます: +.Bd -unfilled -offset indent +.Em hh Bo +.Pf \&: Em mm +.Bo +.Pf \&: Em ss +.Bc +.Bc +.Ed +.Pp +分 +.Pq Em mm +および秒 +.Pq Em ss +を付けるのは任意です。時 +.PQ Em hh +は必要で、 1 桁の数字でも構いません。 +.Em std +に続く +.Em offset +は必要です。 +.Em dst +の後に +.Em offset +がない場合は、夏時間は標準時間よりも 1 時間進むものとみなします。 1 桁 +以上の数字が使えます。値は常に十進数であると解釈されます。 +時は 0 から 24 までの間、 +また分 ( および秒 ) を指定する場合は 0 から 59 までの間でなければなりません。 +先頭に +.Pq Ql \- +が付いている場合は、時間帯は本初子午線の東となります。それ以外の +場合は、西となります ( 任意で先頭に +.Pq Ql + +を付けて指定しても構いません ) 。 +.Pp +.It Em rule +いつ夏時間に変更するか、またいつ夏時間から元に戻すかを示します。 +.Em rule +は次のような形式を持ちます: +.Bd -filled -offset indent +.Em date/time,date/time +.Ed +.Pp +ここで、最初の +.Em date +は標準時間から夏時間への変更がいつ起きるかを表し、 2 番目の +.Em date +はいつ元に戻すかを表します。それぞれの +.Em time +フィールドは、 +現在のローカル時間からもう一方の時間への変更をいつ行うかを表します。 +.Pp +.Em date +の形式は、次のいずれかです: +.Bl -tag -width "M.m.n.d" +.It Sy J Em n +ユリウス日 +.Em n +(1 \*(Le +.Em n +\*(Le 365)。 +うるう日は数えません。 +すなわち、 +うるう年を含めたすべての年で 2 月 28 日は 59 日目、 +3 月 1 日は 60 日目になります。ときどきやってくる 2 月 29 日を明示的に +参照することはできません。 +.It Em n +0 を基準にしたユリウス日 +(0 \*(Le +.Em n +\*(Le 365 )。 +うるう日は数えられ、 2 月 29 日を参照することは可能です。 +.It Sy M Em m.n.d +ある年の +.Em m +番目の月の第 +.Em n +週の +.Em d +(0 \*(Le +.Em d +\*(Le 6 ) +番目の曜日 +(1 \*(Le +.Em n +\*(Le 5), +(1 \*(Le +.Em m +\*(Le 12)。 +ここで、第 5 週とは 第 4 週目または第 5 週目に起きる +.Do +第 +.Em m +月の最後の +.Em d +番目の日 +.Dc +を意味します。第 1 週は、 +.Em d +番目の日が起きる最初の週です。第 0 日は日曜日です。 +.Pp +.Em time +は、先頭の符号 +.Pq Ql \- +または +.Pq Ql + +が許されないこと以外は、 +.Em offset +と同じ形式を持ちます。 +.Em time +を与えない場合は、 +.Sy 02:00:00 +がデフォルト値となります。 +.El +.Pp +.Ev TZ +仕様に +.Em rule +がない場合は、システム時間変換情報ディレクトリの中の +.Xr tzfile 5 +形式ファイル +.Em posixrules +により指定された規則が用いられ、標準時間および夏時間の +.Tn UTC +からのオフセットは +.Ev TZ +の +.Em offset +値で指定された値により置き換えられます。 +.El +.Pp +System V Release 3.1 との互換性を持たせるため、 +.Em rule +を残りの仕様から区別するためにセミコロン +.Pq Ql \; +を使うこともできます。 +.Sh ファイル +.Bl -tag -width /usr/share/zoneinfo/posixrules -compact +.It Pa /etc/localtime +ローカル時間帯ファイル +.It Pa /usr/share/zoneinfo +時間帯ディレクトリ +.It Pa /usr/share/zoneinfo/posixrules +.Tn POSIX +スタイルの +.Tn TZ +に関する規則 +.It Pa /usr/share/zoneinfo/GMT +.Tn UTC +うるう秒 +.El +.Pp +.Pa /usr/share/zoneinfo/GMT +ファイルが存在しない場合は、 +.Tn UTC +うるう秒は +.Pa /usr/share/zoneinfo/posixrules +からロードされます。 +.Sh 参照 +.Xr date 1 , +.Xr gettimeofday 2 , +.Xr ctime 3 , +.Xr getenv 3 , +.Xr time 3 , +.Xr tzfile 5 +.Sh 歴史 +.Fn tzset +および +.Fn tzsetwall +関数は、最初に +.Bx 4.4 +に現れました。 diff --git a/ja_JP.eucJP/man/man3/ualarm.3 b/ja_JP.eucJP/man/man3/ualarm.3 new file mode 100644 index 0000000000..ea756cbfea --- /dev/null +++ b/ja_JP.eucJP/man/man3/ualarm.3 @@ -0,0 +1,96 @@ +.\" Copyright (c) 1986, 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. +.\" +.\" From: @(#)ualarm.3 8.2 (Berkeley) 4/19/94 +.\" $Id: ualarm.3,v 1.1.1.1 1999-12-09 16:25:53 kuriyama Exp $ +.\" +.Dd April 19, 1994 +.Dt UALARM 3 +.Os BSD 4.3 +.Sh 名称 +.Nm ualarm +.Nd 指定された時間後に信号発信を予定 +.Sh 書式 +.Fd #include +.Ft u_int +.Fn ualarm "u_int microseconds" "u_int interval" +.Sh 解説 +.Bf -symbolic +これは setitimer(2) への簡易化されたインタフェースです。 +.Ef +.Pp +.Fn ualarm +関数は、 +.Ar microseconds +のカウントだけ待ってから終了信号 +.Dv SIGALRM +を出します。システム動作またはその呼び出し処理に使った +時間によって、わずかな遅れが起きる場合があります。 +.Pp +引数 +.Ar interval +が非ゼロである場合は、タイマが切れた後 ( すなわち、 +.Fa value +マイクロ秒が過ぎた後 ) の +.Ar interval +マイクロ秒毎に +.Dv SIGALRM +信号がプロセスに +対して送られます。 +.Pp +.Xr setitimer 2 +の制限によって、 +.Ar microseconds +および +.Ar interval +の最大数は +100000000000000 に制限されます ( この値が符号なし整数の範囲内に収まる +場合 ) 。 +.Sh 戻り値 +信号がうまく受け取られた場合は、 +.Fn ualarm +関数はクロックに残された時間数を返します。 +.Sh 注 +1 マイクロ秒は、0.000001 秒です。 +.Sh 参照 +.Xr getitimer 2 , +.Xr setitimer 2 , +.Xr sigpause 2 , +.Xr sigvec 2 , +.Xr alarm 3 , +.Xr signal 3 , +.Xr sleep 3 , +.Xr usleep 3 +.Sh 歴史 +.Fn ualarm +関数は、 +.Bx 4.3 +に現れました。 diff --git a/ja_JP.eucJP/man/man3/uname.3 b/ja_JP.eucJP/man/man3/uname.3 new file mode 100644 index 0000000000..17db027e52 --- /dev/null +++ b/ja_JP.eucJP/man/man3/uname.3 @@ -0,0 +1,91 @@ +.\" Copyright (c) 1994 +.\" 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. +.\" +.\" @(#)uname.3 8.1 (Berkeley) 1/4/94 +.\" +.Dd January 4, 1994 +.Dt UNAME 3 +.Os +.Sh 名称 +.Nm uname +.Nd システムの識別名を取得 +.Sh 書式 +.Fd #include +.Ft int +.Fn uname "struct utsname *name" +.Sh 解説 +.Fn uname +関数は、現在のシステムを識別する情報の null で終るストリングを +.Fa name +により参照される構造に保存します。 +.Pp +.Li utsname +構造体は、ヘッダファイル +.Li +の中で定義され、次のメンバーを収容しています: +.Bl -tag -width nodenameXXXX -offset indent +.It sysname +オペレーティングシステム実現の名称。 +.It nodename +このマシンのネットワーク名。 +.It release +オペレーティングシステムのリリースレベル。 +.It version +オペレーティングシステムのバージョンレベル。 +.It machine +マシンのハードウェアプラットフォーム。 +.El +.Sh 戻り値 +.Fn uname +関数が成功すると 0 が返されますが、失敗すると -1 が返され、 +対応する +.Va errno +が設定されます。 +.Sh エラー +.Fn uname +関数が失敗すると、ライブラリ関数 +.Xr sysctl 3 +について指定されたエラーに対する +.Va errno +が設定されます。 +.Sh 参照 +.Xr uname 1 , +.Xr sysctl 3 +.Sh 規格 +.Fn uname +関数は、 +.St -p1003.1-88 +に準拠しています。 +.Sh 歴史 +.Fn uname +関数は、最初に +.Bx 4.4 +に現れました。 diff --git a/ja_JP.eucJP/man/man3/ungetc.3 b/ja_JP.eucJP/man/man3/ungetc.3 new file mode 100644 index 0000000000..da4c424c7b --- /dev/null +++ b/ja_JP.eucJP/man/man3/ungetc.3 @@ -0,0 +1,89 @@ +.\" Copyright (c) 1990, 1991, 1993 +.\" 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. +.\" +.\" @(#)ungetc.3 8.1 (Berkeley) 6/4/93 +.\" +.Dd June 4, 1993 +.Dt UNGETC 3 +.Os +.Sh 名称 +.Nm ungetc +.Nd 入力ストリームからのキャラクタ取得を中止 +.Sh 書式 +.Fd #include +.Ft int +.Fn ungetc "int c" "FILE *stream" +.Sh 解説 +.Fn ungetc +関数は、キャラクタ +.Fa c +( 符号なしchar に変換されています ) を +.Fa stream +が指す入力ストリームに戻します。プッシュバックされたキャラクタは、次にその +ストリームを読んだときには返されます ( 逆の順序で )。 +ファイル位置検索関数 +.Po +.Xr fseek 3 , +.Xr fsetpos 3 , +または +.Xr rewind 3 +.Pc +のいずれかへの割り込みコールに同じストリームを使って +成功すると、ブッシュバックされたキャラクタは廃棄されます。 +.Pp +1 個のキャラクタのプッシュバックは保証されていますが、十分なメモリ +がある限り、実質的には限度なしのプッシュバックが可能です。 +.Pp +キャラクタのプッシュバックに成功した場合は、そのストリームの +end-of-file 指示子はクリアされます。 +.Sh 戻り値 +.Fn ungetc +関数は、変換後にプッシュバックされたキャラクタを返すか、 +またはその操作に失敗した場合は +.Dv EOF +を返します。引数 +.Fa c +のキャラクタ値が +.Dv EOF +に等しい場合は、その操作は失敗してストリームは変更されません。 +.Sh 参照 +.Xr fseek 3 , +.Xr getc 3 , +.Xr setvbuf 3 +.Sh 規格 +.Fn ungetc +関数は、 +.St -ansiC +に準拠しています。 diff --git a/ja_JP.eucJP/man/man3/unvis.3 b/ja_JP.eucJP/man/man3/unvis.3 new file mode 100644 index 0000000000..0f53588f12 --- /dev/null +++ b/ja_JP.eucJP/man/man3/unvis.3 @@ -0,0 +1,156 @@ +.\" Copyright (c) 1989, 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. +.\" +.\" @(#)unvis.3 8.2 (Berkeley) 12/11/93 +.\" +.Dd December 11, 1993 +.Dt UNVIS 3 +.Os +.Sh 名称 +.Nm unvis , +.Nm strunvis +.Nd キャラクタの画像表現のデコード +.Sh 書式 +.Fd #include +.Ft int +.Fn unvis "char *cp" "int c" "int *astate" "int flag" +.Ft int +.Fn strunvis "char *dst" "const char *src" +.Sh 解説 +.Fn unvis +および +.Fn strunvis +関数は、例えば +.Xr vis 3 +関数によって作り +出されたようなキャラクタの画像表現をデコードして元の形に戻します。 +unvisは +.Ar c +にある連続するキャラクタとともに有効なシーケンスが認識されるまで呼び +出され、それが認識されるとデコードされたキャラクタが +.Ar cp +によって指されるキャラクタのところに置かれます。 +strunvisは、 +.Ar src +により指されるキャラクタを +.Ar dst +により指されるバッファへデコードします。 +.Pp +.Fn strunvis +関数は、エスケープシーケンスをデコードしながら単に +.Ar src +を +.Ar dst +へコピーし、 +.Ar dst +に置かれたキャラクタの数を返すか、または無効な +エスケープシーケンスが検出された場合には \-1 を返します。 +.Ar dst +のサイズは、 +.Ar src +のサイズに等しくなければなりません ( すなわち、デコード中には拡張は +起こりません ) 。 +.Pp +.Fn unvis +関数は、任意のバイトストリームをデコードできるステートマシンを +インプリメントしています。デコードされるそのバイトに付随するすべての +ステートは、 +.Fn unvis +関数の外に保存されますから ( すなわち、ステートへの +ポインタは渡されますから ) 、異なるストリームをデコードする呼び出しを自由に +混在することができます。バイトストリームのデコードを開始するには、まず +整数をゼロに初期化します。この整数へのポインタおよびデコード先キャラクタ +へのポインタとともに連続するバイトのそれぞれに +.Fn unvis +を呼び出します。 +.Fn unvis +関数は、適切に取扱わねばならないいくつかのリターンコードを +持っています。それらは次の通りです: +.Bl -tag -width UNVIS_VALIDPUSH +.It Li \&0 ( ゼロ ) +キャラクタがもう一つ必要であり、まだ何も認識されていません。 +.It Dv UNVIS_VALID +有効なキャラクタが認識され、 cp によって指される場所に置かれています。 +.It Dv UNVIS_VALIDPUSH +有効なキャラクタが認識され、 cp によって指される場所に +置かれています。しかし、現在渡されているそのキャラクタをもう一度渡す +必要があります。 +.It Dv UNVIS_NOCHAR +有効なシーケンスが検出されたが、キャラクタは +作成されていません。このリターンコードは、キャラクタの間の論理的区切りを +示すために必要です。 +.It Dv UNVIS_SYNBAD +無効なエスケープシーケンスが検出されたか、または +デコーダが不明のステートにあります。デコーダはスタート時のステートに +置かれます。 +.El +.Pp +ストリームのすべてのバイトが処理されたとき、フラグを +.Dv UNVIS_END +に設定してもう一度 +.Fn unvis +を呼び出して残っているキャラクタを +抽出します ( 渡されたキャラクタは無視されます ) 。 +.Pp +次のような部分的コードは、 +.Fn unvis +の適切な使用法を示しています。 +.Bd -literal -offset indent +int state = 0; +char out; + +while ((ch = getchar()) != EOF) { +again: + switch(unvis(&out, ch, &state, 0)) { + case 0: + case UNVIS_NOCHAR: + break; + case UNVIS_VALID: + (void) putchar(out); + break; + case UNVIS_VALIDPUSH: + (void) putchar(out); + goto again; + case UNVIS_SYNBAD: + (void)fprintf(stderr, "bad sequence!\n."); + exit(1); + } +} +if (unvis(&out, (char)0, &state, UNVIS_END) == UNVIS_VALID) + (void) putchar(out); +.Ed +.Sh 参照 +.Xr vis 1 +.Sh 歴史 +.Fn unvis +関数は最初に +.Bx 4.4 +に現れました。 diff --git a/ja_JP.eucJP/man/man3/usleep.3 b/ja_JP.eucJP/man/man3/usleep.3 new file mode 100644 index 0000000000..7f9a02eae1 --- /dev/null +++ b/ja_JP.eucJP/man/man3/usleep.3 @@ -0,0 +1,82 @@ +.\" Copyright (c) 1986, 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. +.\" +.\" @(#)usleep.3 8.1 (Berkeley) 6/4/93 +.\" $Id: usleep.3,v 1.1.1.1 1999-12-09 16:25:53 kuriyama Exp $ +.\" +.Dd Feb 13, 1998 +.Dt USLEEP 3 +.Os BSD 4.3 +.Sh 名称 +.Nm usleep +.Nd プロセスの実行をマイクロ秒で測った時間だけ中断 +.Sh 書式 +.Fd #include +.Ft int +.Fn usleep "unsigned int microseconds" +.Sh 解説 +.Fn usleep +関数は、 +.Fa microseconds +マイクロ秒経過するか、またはプロセスに +信号が到着してその動作が信号受信機能を呼び出すものであるかまたはプロセスを +終了するものであるまで、呼び出しプロセスの実行を中断します。システムの +活動状態によっては、スリープ時間は不確定の時間だけ長くなります。 +.Pp +この関数は、 +.Fa microseconds +マイクロ秒だけ、または信号があるまでポーズ +して +.Xr nanosleep 2 +を使い実行されます。その結果、このインプリメンテーション +ではスリープはプロセスタイマーの状態には影響を与えず、 +SIGALRM について特別な取扱いは行いません。 +.Sh 戻り値 +.\".Rv -std usleep +.Fn usleep +関数は、成功すると値 0 を返します。それ以外の場合は値 -1 が +返され、エラーを示すグローバル変数 +.Fa errno +が設定されます。 +.Sh エラー +.Fn usleep +関数は、次のような場合には失敗します: +.Bl -tag -width [EINTR] +.It Bq Er EINTR +信号がプロセスに到着し、その動作は信号受信機能を呼び出すものでした。 +.Sh 参照 +.Xr nanosleep 2 , +.Xr sleep 3 +.Sh 歴史 +.Fn usleep +関数は、 +.Bx 4.3 +に現れました。 diff --git a/ja_JP.eucJP/man/man3/utime.3 b/ja_JP.eucJP/man/man3/utime.3 new file mode 100644 index 0000000000..ea927d0f08 --- /dev/null +++ b/ja_JP.eucJP/man/man3/utime.3 @@ -0,0 +1,88 @@ +.\" 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. +.\" +.\" @(#)utime.3 8.1 (Berkeley) 6/4/93 +.\" +.Dd June 4, 1993 +.Dt UTIME 3 +.Os BSD 4 +.Sh 名称 +.Nm utime +.Nd ファイルの時間を設定 +.Sh 書式 +.Fd #include +.Fd #include +.Ft int +.Fn utime "const char *file" "const struct utimbuf *timep" +.Sh 解説 +.Bf -symbolic +このインタフェースは utimes(2) によって置き換えられました。 +.Ef +.Pp +.Fn utime +関数は、引数配列 +.Fa timep +の中の構造体から名前の付いたファイルのアクセスおよび修正の時間を設定します。 +.Pp +時間を指定する場合 ( 引数 +.Fa timep +が +.Dv NULL +でない場合 ) は、呼び出し +元はそのファイルの所有者であるかまたはスーパーユーザでなければなりません。 +.Pp +時間が指定されていない場合 ( 引数 +.Fa timep +が +.Dv NULL +の場合 ) は、呼び出し +元はそのファイルの所有者であるか、そのファイルに書込みを許されているか、 +またはスーパーユーザでなければなりません。 +.Sh エラー +.Fn utime +関数が失敗すると、ライブラリ関数 +.Xr utimes 2 +に対して指定されているいずれかのエラーについての +.Va errno +を設定する場合があります。 +.Sh 参照 +.Xr stat 2 , +.Xr utimes 2 +.Sh 歴史 +.Fn utime +関数は、 +.At v7 +に現れました。 +.Sh 規格 +.Fn utime +関数は、 +.St -p1003.1-88 +に準拠しています。 diff --git a/ja_JP.eucJP/man/man3/uucplock.3 b/ja_JP.eucJP/man/man3/uucplock.3 new file mode 100644 index 0000000000..a6d643cdc5 --- /dev/null +++ b/ja_JP.eucJP/man/man3/uucplock.3 @@ -0,0 +1,185 @@ +.\" +.\" Copyright (c) 1996 Brian Somers +.\" +.\" 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 DEVELOPERS ``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 DEVELOPERS 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: uucplock.3,v 1.1.1.1 1999-12-09 16:25:53 kuriyama Exp $ +.\" " +.Dd March 30, 1997 +.Os +.Dt uucplock 3 +.Sh 名称 +.Nm uu_lock , +.Nm uu_unlock , +.Nm uu_lockerr +.Nd シリアルデバイスの制御権の取得および放棄 +.Sh 書式 +.Fd #include +.Fd #include +.Ft int +.Fn uu_lock "const char *ttyname" +.Ft int +.Fn uu_lock_txfr "const char *ttyname" "pid_t pid" +.Ft int +.Fn uu_unlock "const char *ttyname" +.Ft const char * +.Fn uu_lockerr "int uu_lockresult" +.Pp +.Xr cc 1 +でコンパイル時には +.Va -lutil +を指定すること。 +.Sh 解説 +.Fn uu_lock +関数は、渡された +.Fa ttyname +により与えられる接尾辞を持つ +.Pa /var/spool/lock/LCK.. +という名前のロックファイルを作成しようと試みます。 +そのファイルがすでに存在する場合は、ロックするプログラムのプロセス ID が +そのファイルに入っているものと見なします。 +.Pp +そのファイルがまだ存在していないか、またはロックファイルの中にあった +プロセス ID により与えられる所有側プロセスがもはや動いていない場合は、 +.Fn uu_lock +関数はファイルに自身のプロセス ID を書込んで成功を返します。 +.Pp +.Fn uu_lock_txfr +関数は、ロック所有権をもう一つのプロセスに移転します。 +.Fn uu_lock +関数がその前に成功している必要があります。 +.Pp +.Fn uu_unlock +関数は、与えられた +.Fa ttyname +について +.Fn uu_lock +によって作成されたロックファイルを削除します。 +.Fn uu_unlock +を呼び出す前には、 +.Fn uu_lock +が成功していなければならないことに注意してください。 +.Pp +.Fn uu_lockerr +関数は、 +.Fn uu_lock +から返されるものと同様に、エラー +.Fa uu_lockresult +を表現するエラーストリングを返します。 +.Sh 戻り値 +.Fn uu_unlock +関数は、成功すると 0 、失敗すると -1 を返します。 +.Pp +.Fn uu_lock +関数は、次のいずれかの値を返します: +.Pp +.Dv UU_LOCK_INUSE: +ロックは別のプロセスによって使われています。 +.Pp +.Dv UU_LOCK_OK: +ロックの作成に成功しました。 +.Pp +.Dv UU_LOCK_OPEN_ERR: +.Xr open 2 +はロックファイルを開くことができません。 +.Pp +.Dv UU_LOCK_READ_ERR: +.Xr read 2 +は、ロックファイルを読み取ることができません。 +.Pp +.Dv UU_LOCK_CREAT_ERR: +.Xr creat 2 +は、一時ロックファイルを +作成することができません。 +.Pp +.Dv UU_LOCK_WRITE_ERR: +.Xr write 2 +の呼び出しによって、現在のプロセス ID を +ロックファイルに書込むことができません。 +.Pp +.Dv UU_LOCK_LINK_ERR: +.Xr link 2 +は、一時ロックファイルをリンクすることができません。 +.Pp +.Dv UU_LOCK_TRY_ERR: +ロックする試みは、5 回の試行の後に失敗しました。 +.Pp +.Dv UU_LOCK_OK +の値が +.Fn uu_lockerr +に渡された場合は、空のストリングが +返されます。それ以外の場合は、失敗した理由を示すストリングが返されます。 +.Fn uu_lockerr +は、現在の +.Va errno +の値を使って正確なエラーを判断します。 +.Fn uu_lock +を呼び出してから +.Fn uu_lockerr +を呼び出すまでの間に +.Va errno +が変化してしまわないように注意してください。 +.Pp +.Fn uu_lock_txfr +関数は、次のいずれかの値を返します: +.Pp +.Dv UU_LOCK_OK: +転送は成功しました。指定したプロセスが現在デバイスロックを +持っています。 +.Pp +.Dv UU_LOCK_OWNER_ERR: +現在のプロセスは、指定されたデバイスについての +ロックをすでに持ってはいません。 +.Pp +.DV UU_LOCK_WRITE_ERR: +.Xr write 2 +の呼び出しによっては、新しいプロセス ID を +ロックファイルに書込むことができません。 +.Sh エラー +.Fn uu_lock +関数が上のエラー値のいずれかを返した場合は、グローバル値 +.Va errno +を使ってその理由を判断することができます。詳しくは、該当する +マニュアルページを参照してください。 +.Pp +.Fn uu_unlock +関数は、ロックファイルが削除できなかった理由を示す +グローバル変数 +.Va errno +を設定します。詳しくは、 +.Xr unlink 2 +についての解説を参照してください。 +.Sh 参照 +.Xr lseek 2 , +.Xr open 2 , +.Xr read 2 , +.Xr write 2 +.Sh バグ +失効ロックを残したプログラムと同じプロセス ID が新しいプロセスに割り +当てられた場合は、失効したロックが失効を認識されない可能性があります。 +.Pp +呼び出しプロセスは、 +.Pa /var/spool/lock +ディレクトリに対する書込み許可を +持っていなければなりません。このディレクトリの許可がロックされる +シリアルデバイスの許可と同じであることを保証する仕組みは備えていません。 diff --git a/ja_JP.eucJP/man/man3/valloc.3 b/ja_JP.eucJP/man/man3/valloc.3 new file mode 100644 index 0000000000..a15f307feb --- /dev/null +++ b/ja_JP.eucJP/man/man3/valloc.3 @@ -0,0 +1,70 @@ +.\" 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. +.\" +.\" @(#)valloc.3 8.1 (Berkeley) 6/4/93 +.\" +.Dd June 4, 1993 +.Dt VALLOC 3 +.Os BSD 3 +.Sh 名称 +.Nm valloc +.Nd 整列メモリ割り振り関数 +.Sh 書式 +.Fd #include +.Ft void * +.Fn valloc "size_t size" +.Sh 解説 +.Bf -symbolic +alloc は、ページサイズのより大きな割り振りを整列する現在バージョンの +malloc(3)関数によって置き換えられています。 +.Ef +.Pp +.Fn valloc +関数は、ページ境界に整列された +.Fa size +バイトを割り振ります。 +この関数は、やや大きな要求事項とともに +.Xr malloc 3 +関数を呼び出し、割り振られたブロックの真の始まりを保存し、 +適切に整列されたポインタを返すことによって行われます。 +.Sh 戻り値 +.Fn valloc +関数は、成功した場合は割り振られた空間へのポインタを +返します。それ以外の場合は、null ポインタを返します。 +.Sh 歴史 +.Fn valloc +関数は、 +.Bx 3.0 +に現れました。 +.Pp +.Sh バグ +.Em vfree +関数は実装されていません。 diff --git a/ja_JP.eucJP/man/man3/vgl.3 b/ja_JP.eucJP/man/man3/vgl.3 new file mode 100644 index 0000000000..0447c24d59 --- /dev/null +++ b/ja_JP.eucJP/man/man3/vgl.3 @@ -0,0 +1,300 @@ +.\" Copyright (c) 1997 Sen Schmidt +.\" 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, +.\" in this position and unchanged. +.\" 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. The name of the author may not be used to endorse or promote products +.\" derived from this software withough specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 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: vgl.3,v 1.1.1.1 1999-12-09 16:25:53 kuriyama Exp $ + +.Dd August 13, 1997 +.Dt VGL 3 +.Os FreeBSD 3 +.Sh 名称 +.Nm vgl +.Nd ビデオグラフィックスライブラリ関数 +.Sh 書式 +.Fd #include + +.Sh 解説 +Libvgl は、コンソールドライバ (syscons) によりサポートされている +グラフィックスモードにプログラマがアクセスできるようにするライブラリです。 +このライブラリは実際のビデオハードウェアのプログラミングを行い、様々な +グラフィックス操作を行うためのいくつかの簡単な機能を提供します。また、 +FreeBSD +における標準マウスシステムによるマウス機能 ( +.Fn moused +参照 ) も +サポートしており、これには現在作業中のグラフィックスイメージに +マウスポインタをトランスペアレントに重ねあわせる機能も含まれています。この +ライブラリは、別の仮想コンソールに切り替える前に現在のイメージをメモリに +保存し、ユーザが切り替えを元に戻したときにそれを復元することによって +画面切り替えを行います。これによって、複数のグラフィックスアプリケーション +を異なる仮想コンソールの上で同時に使うことができます。 + +様々な機能を、以下に簡単に説明します: + +.Sh 作者 +.An Sen Schmidt Aq sos@FreeBSD.org + +.Sh 関数 +.Ft int +.Fn VGLInit "int mode" + +ライブラリを初期化し、グラフィックモード +.Em mode +を設定します。 + + +.Ft void +.Fn VGLEnd "void" + +グラフィックモードを終了し、 +.Fn VGLInit +が呼び出される前にアクティブだった画面モードを復元します。 + + +.Ft void +.Fn VGLCheckSwitch "void" + +グラフィックスの出力がないままにプログラムの処理時間が長くなった +場合に、この関数を呼び出すとシステムが画面を切り替えることができる +場合があります。 + + +.Ft int +.Fn VGLTextSetFontFile "char *filename" + + char/string 関数に、組み込みフォントの代りにファイル +.Em filename +に入っているフォントを使うように指示します。 + + +.Ft int +.Fn VGLMouseInit "int mode" + +マウスを初期化します。引数が +.Em VGL_MOUSESHOW +である場合は、オプションの画面上マウスポインタを表示します。 + + +.Ft void +.Fn VGLMouseMode "int mode" + +引数が +.Em VGL_MOUSESHOW +である場合はマウスポインタを表示し、引数が +.Em VGL_MOUSEHIDE +である場合はマウスポインタを非表示にします。 + + +.Ft int +.Fn VGLMouseStatus "int *x" "int *y" "char *buttons" + +現在のマウスポインタの座標およびボタン状態を +.Em x, y +, buttons +で返します。戻り値は、マウスポインタが現在画面に表示されているかいないかを +反映します。 + + +.Ft void +.Fn VGLMouseSetImage "VGLBitmap *AndMask" "VGLBitmap *OrMask" + +この関数を使えば、画面上のマウスポインタのイメージを変えることができます。 + + +.Ft void +.Fn VGLMouseSetStdImage "void" + +この関数は、マウスポインタを標準の矢印に戻します。 + +.Ft void +.Fn VGLLine "VGLBitmap *object" "int x1" "int y1" "int x2" "int y2" "byte color" + +座標 +.Em x1, y1 +から座標 +.Em x2, y2 +へ色が +.Em color +の直線を引きます。 + + +.Ft void +.Fn VGLBox "VGLBitmap *object" "int x1" "int y1" "int x2" "int y2" "byte color" + + +左上隅の座標 +.Em x1, y1 +、右下隅の座標 +.Em x2, y2 +の四角形を色 +.Em color +の線で描きます。 + + +.Ft void +.Fn VGLFilledBox "VGLBitmap *object" "int x1" "int y1" "int x2" "int y2" "byte color" + + +左上隅の座標 +.Em x1, y1 +、右下隅の座標 +.Em x2, y2 +の塗り潰し四角形を色 +.Em color +で描きます。 + + +.Ft void +.Fn VGLEllipse "VGLBitmap *object" "int xc" "int yc" "int a" "int b" "byte color" + +中心が +.Em xc, yc +であり、幅 +.Em a +ピクセル、高さ +.Em b +ピクセルの楕円を色 +.Em color +の線で描きます。 + + +.Ft void +.Fn VGLFilledEllipse "VGLBitmap *object" "int xc" "int yc" "int a" "int b" +"byte color" + +中心が +.Em xc, yc +であり、幅 +.Em a +ピクセル、高さ +.Em b +ピクセルの塗り潰し楕円を色 +.Em color +で描きます。 + + +.Ft int +.Fn VGLBitmapCopy "VGLBitmap *src" "int srcx" "int srcy" "VGLBitmap *dst" "int +dstx" "int dsty" "int width" "int hight" + +サイズが +.Em width, height +である長方形のピクセルを、ビットマップ +.Em src +の左上隅 ( +.Em srcx, srcy +) からビットマップ +.Em dst +の座標 ( +.Em dstx, dsty +) へコピーします。 + + +.Ft void +.Fn VGLBitmapPutChar "VGLBitmap *Object" "int x" "int y" "byte ch" "byte fgcol" "byte bgcol" "int fill" "int dir" + +キャラクタ +.Em ch +を位置 +.Em x, y +にフォアグラウンド色 +.Em fgcol +で書き込みます。 +.Em fill +が != 0 である場合はバックグラウンド色に色 +.Em bgcol +を使い、それ以外の場合はバックグラウンドは透明になります。キャラクタは引数 +.Em dir +によって指定される方向に描かれます。 + + +.Ft void +.Fn VGLBitmapString "VGLBitmap *Object" "int x" "int y" "char *str" "byte fgcol" "byte bgcol" "int fill" "int dir" + +文字列 +.Em str +を位置 +.Em x, y +に色 +.Em fgcol +で書き込みます。 +.Em fill +が != 0 である場合はバックグラウンド色に色 +.Em bgcol +を使い、それ以外の場合はバックグラウンド +は透明になります。文字列は引数 +.Em dir +によって指定される方向に描かれます。 + + +.Ft void +.Fn VGLClear "VGLBitmap *object" "byte color" + +ビットマップの全体を色 +.Em color +に塗り替えます。 + + +.Ft void +.Fn VGLSetPalette "byte *red" "byte *green" "byte *blue" + +この関数は使用するパレットを設定するもので、引数 +.Em red, greenm, blue +はそれぞれ 256 位置のバイト配列を指すものでなければなりません。 + + +.Ft void +.Fn VGLSetPaletteIndex "byte color" "byte red" "byte green" "byte blue" + + +パレットインデックス +.Em color +を、指定された RGB 値に設定します。 + + +.Ft void +.Fn VGLSetBorder "byte color" + + +境界色を色 +.Em color +に設定します。 + + +.Ft void +.Fn VGLBlankDisplay "int blank" + +引数 +.Em blank +が != 0 である場合は、ディスプレーを空白表示にします。 +これは、表示更新の間に画面を閉じて、処理が終ったときに初めてユーザが画面を +見られるようにするために使えます。 + + +.Sh 歴史 +.Nm +ライブラリは +.Fx 3.0 +に現れました。 diff --git a/ja_JP.eucJP/man/man3/vis.3 b/ja_JP.eucJP/man/man3/vis.3 new file mode 100644 index 0000000000..3503193cda --- /dev/null +++ b/ja_JP.eucJP/man/man3/vis.3 @@ -0,0 +1,251 @@ +.\" Copyright (c) 1989, 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. +.\" +.\" From: @(#)vis.3 8.1 (Berkeley) 6/9/93 +.\" $Id: vis.3,v 1.1.1.1 1999-12-09 16:25:52 kuriyama Exp $ +.\" +.Dd July 25, 1996 +.Dt VIS 3 +.Os +.Sh 名称 +.Nm vis +.Nd キャラクタを視覚的にコード化 +.Sh 書式 +.Fd #include +.Ft char * +.Fn vis "char *dst" "int c" "int flag" "int nextc" +.Ft int +.Fn strvis "char *dst" "const char *src" "int flag" +.Ft int +.Fn strvisx "char *dst" "const char *src" "size_t len" "int flag" +.Sh 解説 +.Fn vis +関数は、キャラクタ +.Fa c +を表す文字列を +.Fa dst +にコピーします。 +.Fa c +がコード化を必要としない場合は、何も変更せずにコピーします。 +文字列は null で終端され、文字列の最後へのポインタが返されます。 +コード化の長さの最大値は 4 キャラクタです ( 最後の +.Dv NUL +は含まない ) 。従って、キャラクタのセットを +バッファにコード化するときは、バッファのサイズはコード化される +キャラクタ数の 4 倍と、最後に付ける +.Dv NUL +の分の 1 が必要です。コード化する +キャラクタのデフォルト範囲を変更するため、また視覚的な表現を +変更するためにはフラグパラメータを使います。追加のキャラクタ、 +.Fa nextc +は、コード化形式 +.Dv VIS_CSTYLE +を選択したときにのみ使います ( 以下に説明します ) 。 +.Pp +.Fn strvis +および +.Fn strvisx +関数は、文字列 +.Fa src +の視覚的表現を +.Fa dst +にコピーします。 +.Fn strvis +関数は、 +.Fa src +から最初の +.Dv NUL +までのキャラクタをコード化します。 +.Fn strvisx +関数は、 +.Fa src +から正確に +.Fa len +個のキャラクタをコード化します ( これは、複数の +.Dv NUL +を含む可能性のあるデータのブロックを +コード化する場合に役に立ちます ) 。どちらの形式でも +.Fa dst +を +.Dv NUL +で終端します。 +.Fa dst +のサイズは、 +.Fa src +からコード化されるキャラクタ数の 4 倍でなければなりません ( プラス +.Dv NUL +のための1 ) 。どちらの形式でも、キャラクタ数を +.Fa dst +に返します ( 最後の +.Dv NUL +は含まずに ) 。 +.Pp +コード化は、すべてグラフィックキャラクタで構成されたユニークで +逆変換可能な表現です。すなわち、 +.Xr unvis 3 +または +.Xr strunvis 3 +関数を使えば元の形に戻すことができます。 +.Pp +制御できるパラメータは 2 つあります:コード化するキャラクタの範囲、 +および使用する表現のタイプです。デフォルトでは、スペース、タブ、改行を +除くすべての非グラフィックキャラクタがコード化されます。( +.Xr isgraph 3 +参照 ) これは、以下のフラグによって変更されます: +.Bl -tag -width VIS_WHITEX +.It Dv VIS_SP +スペースもコード化します。 +.It Dv VIS_TAB +タブもコード化します。 +.It Dv VIS_NL +改行もコード化します。 +.It VIS_WHITE +.Dv VIS_SP +\&| +.Dv VIS_TAB +\&| +.Dv VIS_NL +と同義。 +.It Dv VIS_SAFE +"unsafe" キャラクタのみをコード化します。"unsafe"キャラクタとは、 +普通の端末に予期しない機能を引き起こすような制御キャラクタ +のことです。現在のところ、この形式ではすべてのグラフィックキャラクタに +加えて、スペース、タブ、改行、バックスペース、ベル、リターンを +コード化しないでおきます。 +.El +.Pp +コード化には 3 つの形式があります。すべての形式は、 +バックスラッシュキャラクタ +.Ql \e +を使って特殊シーケンスを導入します。本当のバックスラッシュを表すには、 + 2 つのバックスラッシュを使います。次のような視覚的形式があります: +.Bl -tag -width VIS_CSTYLE +.It (default) +.Ql M +を使ってメタキャラクタ ( 8 番目のビットがセットされた +キャラクタ ) を表し、カラット +.Ql ^ +を使って制御キャラクタを表します ( +.Xr iscntrl 3 +参照 ) 。 +次のような形式を使います: +.Bl -tag -width xxxxx +.It Dv \e^C +制御キャラクタ +.Ql C +を表します。 +.Ql \e000 +から +.Ql \e037 +まで、および +.Ql \e177 +のキャラクタを +含みます ( +.QL \e^? +のように ) 。 +.It Dv \eM-C +8 番目のビットがセットされたキャラクタ +.Ql C +を表します。 +.Ql \e241 +から +.Ql \e377 +までのキャラクタを含みます。 +.It Dv \eM^C +8 番目のビットがセットされた制御キャラクタ +.Ql C +を表します。 +.Ql \e200 +から +.Ql \e237 +まで、および +.QL \e377 +のキャラクタを含みます ( +.Ql \eM^? +のように ) 。 +.It Dv \e040 +.Tn ASCII +のスペースを表します。 +.It Dv \e240 +メタスペースを表します。 +.El +.Pp +.It Dv VIS_CSTYLE +C スタイルのバックスラッシュシーケンスを使って、標準非印刷 +キャラクタを表します。次に示すシーケンスを使って、指定されているキャラクタ +を表します: +.Bd -unfilled -offset indent +.Li \ea Tn - BEL No (007) +.Li \eb Tn - BS No (010) +.Li \ef Tn - NP No (014) +.Li \en Tn - NL No (012) +.Li \er Tn - CR No (015) +.Li \et Tn - HT No (011) +.Li \ev Tn - VT No (013) +.Li \e0 Tn - NUL No (000) +.Ed +.Pp +この形式を使う場合は、nextc パラメータを見て +.Dv NUL +キャラクタを +.Ql \e000 +ではなく +.Ql \e0 +とコード化するかどうかを判断します。 +.Fa nextc +が 8 進数字である場合は、あいまいさを避けるために +.Ql \e000 +の表現を使います。 +.It Dv VIS_OCTAL +3 桁の 8 進法シーケンスを使います。 +.Em d +が 8 進数字を表す場合は、形式は +.Ql \eddd +となります。 +.El +.Pp +もう一つのフラグ、 +.Dv VIS_NOSLASH +は、バックスラッシュの重複およびデフォルト形式 ( すなわち、 +制御キャラクタを +.Ql ^C +で、メタキャラクタを +.Ql M-C +で表す形式 ) の前のバックスラッシュを抑制します。このフラグがセット +してあると、コード化はあいまいとなり逆変換不能となります。 +.Sh 参照 +.Xr unvis 1 , +.Xr strunvis 3 , +.Xr unvis 3 +.Sh 歴史 +これらの関数は最初に +.Bx 4.4 +に現れました。 diff --git a/ja_JP.eucJP/man/man3/vlimit.3 b/ja_JP.eucJP/man/man3/vlimit.3 new file mode 100644 index 0000000000..49385c2647 --- /dev/null +++ b/ja_JP.eucJP/man/man3/vlimit.3 @@ -0,0 +1,121 @@ +.\" 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. +.\" +.\" @(#)vlimit.3 8.1 (Berkeley) 6/4/93 +.\" +.Dd June 4, 1993 +.Dt VLIMIT 3 +.Os BSD 4 +.Sh 名称 +.Nm vlimit +.Nd システムリソース消費の最大値を制御 +.Sh 書式 +.Fd #include +.Fn vlimit resource value +.Sh 解説 +.Bf -symbolic +このインタフェースは、getrlimit(2) によって置き換えられました。 +この関数は、互換性ライブラリ、libcompat から使用できます。 +.Ef +.Pp +現在のプロセスおよびそれが作成する各プロセスによる個別の消費量が、 +指定された +.Fa resource +について +.Fa value +を超えないように制限します。 +.Fa value +が \-1 に指定されている場合は、現在の限界値が返され、 +限界値は変更されません。 +現在のところ制御可能なリソースは次の通りです。 +.Bl -tag -width LIM_NORAISE +.It Dv LIM_NORAISE +擬似限界値。非ゼロの値に設定しても、限界値は引き上げられない場合があります。 +.Em noraise +制限を削除することができるのは、スーパーユーザーのみです。 +.It Dv LIM_CPU +各プロセスが使用する cpu 秒の最大数。 +.It Dv LIM_FSIZE +作成できる最大の単一ファイル。 +.It Dv LIM_DATA +.Xr sbrk 2 +による data+stack 領域の +プログラムテキストの終わりを超えた最大成長度。 +.It Dv LIM_STACK +自動的に拡張されたスタック領域の最大サイズ。 +.It Dv LIM_CORE +作成される最大のコアダンプのサイズ。 +.It Dv LIM_MAXRSS +プログラムに割り当てられる物理的メモリ量(バイト)の +ソフト限界値。メモリが不足する場合は、システムは宣言した +.Dv LIM_MAXRSS +を超えているプロセスからメモリを取り上げます。 +.El +.Pp +この情報はプロセス毎の情報に保存されているので、このシステムコールを +シェルにより将来作成されるすべてのプロセスに対して有効にするためには、 +シェルによって直接実行する必要があります。従って、 +.Xr limit +は +.Xr csh 1 +の組み込みコマンドです。 +.Pp +通常のやり方では制限値を超えてしまう場合は、システムはデータまたは +スタックスペースの拡張を拒否します。データスペース制限値に達した場合に +.Xr brk 2 +コールが失敗したり、スタック制限値に達した場合はそのプロセスは +中止されます(スタックを拡張できないので、シグナルを送る方法がありません!)。 +.Pp +大きすぎるファイルを作成するようなファイル +.Tn I/O +操作を行うと、シグナル +.Dv SIGXFSZ +が生成されますが、これは通常はプロセスを終了させますが、 +捕捉できる場合もあります。 +cpu 時間の制限値を超えた場合は、シグナル +.Dv SIGXFSZ +が違反している +プロセスに送られます。そのシグナルを処理する時間を許すために、 +.Tn CPU +時間制限値を上げることにより +5 秒間の猶予がプロセスに与えられます。 +.Sh 参照 +.Xr csh 1 +.Sh 歴史 +.Fn vlimit +関数は、 +.Bx 4.2 +に現れました。 +.Sh バグ +.Dv LIM_NORAISE +はもはや存在しません。 + +この関数は、未だに再実装されていません。 diff --git a/ja_JP.eucJP/man/man3/vtimes.3 b/ja_JP.eucJP/man/man3/vtimes.3 new file mode 100644 index 0000000000..6211ba6737 --- /dev/null +++ b/ja_JP.eucJP/man/man3/vtimes.3 @@ -0,0 +1,137 @@ +.\" 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. +.\" +.\" @(#)vtimes.3 8.1 (Berkeley) 6/4/93 +.\" +.Dd June 4, 1993 +.Dt VTIMES 3 +.Os BSD 4 +.Sh 名称 +.Nm vtimes +.Nd リソース利用についての情報を取得 +.Sh 書式 +.Fd #include +.Fn vtimes "struct vtimes *par_vm" "struct vtimes *ch_vm" +.Sh 解説 +.Bf -symbolic +このインタフェースは、getrusage(2) によって置き換えられました。 +この関数は、互換性ライブラリ、libcompat から使用できます。 +.Ef +.Pp +.Fn vtimes +関数は、現在のプロセスおよび現在のプロセスの終了した +子プロセスのアカウント情報を返します。 +.Fa par_vm +または +.Fa ch_vm +のどちらか一方、またはこれら両方は 0 でも構いません。この場合には、 +非ゼロであるポインタについての情報のみが返されます。 +.Pp +この関数を呼び出した後は、各バッファにはインクルードファイル +.Pa /usr/include/sys/vtimes.h +の内容によって定義された次のような情報が +入ります。 +.Bd -literal -offset indent +struct vtimes { + int vm_utime; /* user time (*HZ) */ + int vm_stime; /* system time (*HZ) */ + /* divide next two by utime+stime to get averages */ + unsigned vm_idsrss; /* integral of d+s rss */ + unsigned vm_ixrss; /* integral of text rss */ + int vm_maxrss; /* maximum rss */ + int vm_majflt; /* major page faults */ + int vm_minflt; /* minor page faults */ + int vm_nswap; /* number of swaps */ + int vm_inblk; /* block reads */ + int vm_oublk; /* block writes */ +}; +.Ed +.Pp +.Fa vm_utime +および +.Fa vm_stime +のフィールドは、60 分の 1 秒 (ローカルの交流の周波数が 50 Hz の場合は +50 分の 1 秒) の単位でそれぞれユーザー時間と +システム時間を示します。 +.Fa vm_idrss +および +.Fa vm_ixrss +は、メモリの使用度を測ります。それぞれ、 +.Tn CPU +時間に対する使用メモリページの数を積分して +計算します。これらは、クロックが 1 回刻む度に +現在のメモリ使用(512 バイトページの単位で)を加算して、 +離散的に計算したかのように示されます。ある +プロセスがデータおよびスタックについて 1 cpu 秒に +5 コアページを使った場合は、 +.Fa vm_idsrss +は 5*60 の値を持ち、ここで +.Fa vm_utime+vm_stime +は 60 となります。 +引数 +.Fa Vm_idsrss +はデータとスタックのセグメント使用度を積算し、 +.Fa vm_ixrss +はテキストセグメントの使用度を積算します。 +.Fa Vm_maxrss +関数は、 +テキスト+データ+スタックのコア駐在のページカウントの最大瞬間総和を +示します。 +.Pp +.Fa vm_majflt +フィールドは、ディスク動作に結びついたページフォールトの数を +示します。 +.Fa vm_minflt +フィールドは、参照ビットのシミュレーションで引き起こされた +ページフォールトの数を示します。 +.Fa vm_nswap +は、起こったスワップの数です。 +ファイルシステムの入力/出力イベントの回数は、 +.Fa vm_inblk +および +.Fa vm_oublk +によって示されます。 +これらの数字は、実際の +.Tn I/O +のみを数えます。 +キャッシング機構によって供給されたデータは、そのデータを読み書きする最初の +プロセスに対してのみ勘定されます。 +.Sh 参照 +.Xr getrusage 2 , +.Xr wait3 2 , +.Xr time 3 +.Sh 歴史 +.Fn vlimit +関数は、 +.Bx 4.2 +に現れました。 +.Sh バグ +この関数は、未だに再実装されていません。 diff --git a/ja_JP.eucJP/man/man3/xdr.3 b/ja_JP.eucJP/man/man3/xdr.3 new file mode 100644 index 0000000000..b12abd25ff --- /dev/null +++ b/ja_JP.eucJP/man/man3/xdr.3 @@ -0,0 +1,788 @@ +.\" @(#)xdr.3n 2.2 88/08/03 4.0 RPCSRC; from 1.16 88/03/14 SMI +.\" $Id: xdr.3,v 1.1.1.1 1999-12-09 16:25:52 kuriyama Exp $ +.\" +.TH XDR 3 "16 February 1988" +.SH 名称 +xdr \- 外部データ表現のライブラリルーチン +.SH 書式および解説 +.LP +これらのルーチンによって、C プログラマは任意のデータ構造をマシン独立 +に記述することができます。リモートプロシージャコール用の +データは、これらのルーチンを使って送信されます。 +.LP +.ft B +.nf +.sp .5 +xdr_array(xdrs, arrp, sizep, maxsize, elsize, elproc) +\s-1XDR\s0 *xdrs; +char **arrp; +u_int *sizep, maxsize, elsize; +xdrproc_t elproc; +.fi +.ft R +.IP +可変長配列とそれに対応する外部表現とを相互に変換する +フィルタプリミティブです。パラメータ +.I arrp +は配列へのポインタのアドレス、 +.I sizep +は配列の要素カウントのアドレスであり、この要素カウントは +.I maxsize +を超えることはできません。パラメータ +.I elsize +は各配列要素の +.I sizeof +の値であり、 +.I elproc +は配列要素の C 形式と外部表現とを相互に変換する +.SM XDR +フィルタです。このルーチンは、成功すれば 1 +を、失敗すれば 0 を返します。 +.br +.if t .ne 8 +.LP +.ft B +.nf +.sp .5 +xdr_bool(xdrs, bp) +\s-1XDR\s0 *xdrs; +bool_t *bp; +.fi +.ft R +.IP +ブール値 (C 言語整数) とその外部表現とを相互に変換する +フィルタプリミティブです。データをコード化するときは、このフィルタは 1 +または 0 の値を作り出します。このルーチンは、成功すれば 1 を、失敗すれば +0 を返します。 +.br +.if t .ne 10 +.LP +.ft B +.nf +.sp .5 +xdr_bytes(xdrs, sp, sizep, maxsize) +\s-1XDR\s0 *xdrs; +char **sp; +u_int *sizep, maxsize; +.fi +.ft R +.IP +カウントしたバイトストリングとその外部表現とを相互に変換する +フィルタプリミティブです。パラメータ +.I sp +はストリングポインタのアドレス +です。ストリングの長さはアドレス +.I sizep +に置かれ、ストリングの長さは +.I maxsize +よりも長くなることはできません。このルーチンは、成功すれば 1 を、 +失敗すれば 0 を返します。 +.br +.if t .ne 7 +.LP +.ft B +.nf +.sp .5 +xdr_char(xdrs, cp) +\s-1XDR\s0 *xdrs; +char *cp; +.fi +.ft R +.IP +C 言語のキャラクタとその外部表現とを相互に変換するフィルタプリミティブ +です。このルーチンは、成功すれば 1 を、失敗すれば 0 を返します。 +注:コード化されたキャラクタは圧縮されず、それぞれは 4 バイトを +占有します。キャラクタの配列については、 +.BR xdr_bytes(\|) , +.BR xdr_opaque(\|) , +.B xdr_string(\|) +を使うことを考える価値があります。 +.br +.if t .ne 8 +.LP +.ft B +.nf +.sp .5 +void +xdr_destroy(xdrs) +\s-1XDR\s0 *xdrs; +.fi +.ft R +.IP +.SM XDR +ストリーム +.I xdrs +に結合された破壊ルーチンを呼び出すマクロです。破壊とは、通常は +そのストリームに結合されたプライベートデータ構造を解放することを +意味します。 +.B xdr_destroy(\|) +を呼び出した後で +.I xdrs +を使うことは、未定義です。 +.br +.if t .ne 7 +.LP +.ft B +.nf +.sp .5 +xdr_double(xdrs, dp) +\s-1XDR\s0 *xdrs; +double *dp; +.fi +.ft R +.IP +C 言語の倍精度数 ( +.B double +) とその外部表現とを相互に変換する +フィルタプリミティブです。このルーチンは、成功すれば 1 を、 +失敗すれば 0 を返します。 +.br +.if t .ne 7 +.LP +.ft B +.nf +.sp .5 +xdr_enum(xdrs, ep) +\s-1XDR\s0 *xdrs; +enum_t *ep; +.fi +.ft R +.IP +C 言語の +.B enum +(実際は整数) とその外部表現とを相互に変換する +フィルタプリミティブです。このルーチンは、成功すれば 1 を、 +失敗すれば 0 を返します。 +.br +.if t .ne 8 +.LP +.ft B +.nf +.sp .5 +xdr_float(xdrs, fp) +\s-1XDR\s0 *xdrs; +float *fp; +.fi +.ft R +.IP +C 言語の +.B float +とその外部表現とを相互に変換する +フィルタプリミティブです。このルーチンは、成功すれば 1 を、 +失敗すれば 0 を返します。 +.br +.if t .ne 9 +.LP +.ft B +.nf +.sp .5 +void +xdr_free(proc, objp) +xdrproc_t proc; +char *objp; +.fi +.ft R +.IP +ジェネリックな解放ルーチンです。最初の引数は、解放するオブジェクトの +.SM XDR +ルーチンです。2 番目の引数は、そのオブジェクト自体への +ポインタです。注:このルーチンに渡されるポインタは解放されませんが、それが +指すものは解放 (反復的に) されます。 +.br +.if t .ne 8 +.LP +.ft B +.nf +.sp .5 +u_int +xdr_getpos(xdrs) +\s-1XDR\s0 *xdrs; +.fi +.ft R +.IP +.SM XDR +ストリーム +.I xdrs +に結合された位置検索ルーチンを呼び出すマクロです。このルーチンは、 +.SM XDR +バイトストリームの位置を示す符号なしの整数を返します。 +.SM XDR +ストリームのよいところは、 +.SM XDR +ストリームインスタンスがそれを保証しているとは限らない場合であっても、 +この数字に対して簡単な算術計算が使えることです。 +.br +.if t .ne 4 +.LP +.ft B +.nf +.sp .5 +.br +long * +xdr_inline(xdrs, len) +\s-1XDR\s0 *xdrs; +int len; +.fi +.ft R +.IP +.SM XDR +ストリーム +.I xdrs +に結合されたインラインルーチンを呼び出すマクロです。このルーチンは、 +ストリームのバッファの連続した部分へのポインタを返します。 +.I len +は、希望するバッファのバイト長です。注:ポインタは +.B "long *" +にキャストされます。 +.IP +警告: +.B xdr_inline(\|) +は、連続するバッファの部分を割り当てられない場合は、 +.SM NULL +(0) を返すことがあります。従って、ストリームインスタンスによって +挙動が異なる場合があります。このルーチンは、効率を上げるために +用意されています。 +.br +.if t .ne 7 +.LP +.ft B +.nf +.sp .5 +xdr_int(xdrs, ip) +\s-1XDR\s0 *xdrs; +int *ip; +.fi +.ft R +.IP +C 言語の整数とその外部表現とを相互に変換するフィルタプリミティブ +です。このルーチンは、成功すれば 1 を、失敗すれば 0 を返します。 +.br +.if t .ne 7 +.LP +.ft B +.nf +.sp .5 +xdr_long(xdrs, lp) +\s-1XDR\s0 *xdrs; +long *lp; +.fi +.ft R +.IP +C 言語 +の長整数 ( +.B long +) とその外部表現とを相互に変換するフィルタプリミティブです。 +このルーチンは、成功すれば 1 を、失敗すれば 0 を返します。 +.br +.if t .ne 12 +.LP +.ft B +.nf +.sp .5 +void +xdrmem_create(xdrs, addr, size, op) +\s-1XDR\s0 *xdrs; +char *addr; +u_int size; +enum xdr_op op; +.fi +.ft R +.IP +このルーチンは、 +.I xdrs +によって指される +.SM XDR +ストリームオブジェクトを初期化します。ストリームのデータは、長さが +.I size +バイトを超えない +.I addr +の位置にあるメモリに書込まれるか、またはそこから読み出されます。 +.I op +は、 +.SM XDR +ストリームの方向 ( +.BR \s-1XDR_ENCODE\s0 , +.BR \s-1XDR_DECODE\s0 , +.B \s-1XDR_FREE\s0 +のいずれか) を決定します。 +.br +.if t .ne 10 +.LP +.ft B +.nf +.sp .5 +xdr_opaque(xdrs, cp, cnt) +\s-1XDR\s0 *xdrs; +char *cp; +u_int cnt; +.fi +.ft R +.IP +固定サイズの不透明 (opaque) データとその外部表現とを相互に変換する +フィルタプリミティブです。パラメータ +.I cp +は不透明データのアドレスであり、 +.I cnt +はそのサイズをバイトで表したものです。このルーチンは、 +成功すれば 1 を、失敗すれば 0 を返します。 +.br +.if t .ne 10 +.LP +.ft B +.nf +.sp .5 +xdr_pointer(xdrs, objpp, objsize, xdrobj) +\s-1XDR\s0 *xdrs; +char **objpp; +u_int objsize; +xdrproc_t xdrobj; +.fi +.ft R +.IP +.B xdr_reference(\|) +と同じ働きをします。但し、このルーチンが +.SM NULL +ポインタをシリアル化するのに対して、 +.B xdr_reference(\|) +はシリアル化しません。 +従って、 +.B xdr_pointer(\|) +はバイナリツリーやリンクリストのような反復的データ構造を +表すことができます。 +.br +.if t .ne 15 +.LP +.ft B +.nf +.sp .5 +void +xdrrec_create(xdrs, sendsize, recvsize, handle, readit, writeit) +\s-1XDR\s0 *xdrs; +u_int sendsize, recvsize; +char *handle; +int (*readit) (\|), (*writeit) (\|); +.fi +.ft R +.IP +このルーチンは、 +.I xdrs +によって指される +.SM XDR +ストリームオブジェクトを初期化します。ストリームのデータはサイズ +.I sendsize +のバッファに書込まれ、値 0 はシステムが適切なデフォルトを使う +必要があることを示します。ストリームのデータは、サイズ +.I recvsize +のバッファから読み込まれ、このルーチンも値 0 を渡すことによって +適切なデフォルトを設定することができます。ストリームの出力バッファが +一杯のときは、 +.I writeit +が呼ばれます。同様に、ストリームの入力バッファが空のときは、 +.I readit +が呼ばれます。これらの 2 つのルーチンの挙動は、システムコール +.BR read , +.B write +と似ています。但し、 +.B read +には最初のパラメータとして +.I handle +が渡されることが異なります。注: +.SM XDR +ストリームの +.I op +フィールドは、呼び出し元が設定しなければなりません。 +.IP +警告: この +.SM XDR +ストリームは、中間レコードストリームを実装しています。 +従って、ストリームにはレコードの境界情報を与える追加バイトが入っています。 +.br +.if t .ne 9 +.LP +.ft B +.nf +.sp .5 +xdrrec_endofrecord(xdrs, sendnow) +\s-1XDR\s0 *xdrs; +int sendnow; +.fi +.ft R +.IP +このルーチンは、 +.B xdrrec_create(\|) +によって作成されたストリームについてのみ呼び出すことができます。 +出力バッファにあるデータは完全なレコードとしてマークされ、 +出力バッファは +.I sendnow +が 0 でない場合はオプションで書き出されます。 +このルーチンは、成功すれば 1 を、失敗すれば 0 を返します。 +.br +.if t .ne 8 +.LP +.ft B +.nf +.sp .5 +xdrrec_eof(xdrs) +\s-1XDR\s0 *xdrs; +int empty; +.fi +.ft R +.IP +このルーチンは、 +.B xdrrec_create(\|) +によって作成されたストリームについてのみ呼び出すことができます。 +ストリーム中の現在のレコードの残りの部分を処理した後に、 +このルーチンはストリームにそれ以上の入力がない場合は 1 を返し、 +ある場合は 0 を返します。 +.br +.if t .ne 3 +.LP +.ft B +.nf +.sp .5 +xdrrec_skiprecord(xdrs) +\s-1XDR\s0 *xdrs; +.fi +.ft R +.IP +このルーチンは、 +.B xdrrec_create(\|) +によって作成されたストリームについてのみ呼び出すことができます。 +これは、 +.SM XDR +のインプリメンテーションに対して、 +ストリームの入力バッファにある現在のレコードの残りの部分を +廃棄するように指示します。 +このルーチンは、成功すれば 1 を、失敗すれば 0 を返します。 +.br +.if t .ne 11 +.LP +.ft B +.nf +.sp .5 +xdr_reference(xdrs, pp, size, proc) +\s-1XDR\s0 *xdrs; +char **pp; +u_int size; +xdrproc_t proc; +.fi +.ft R +.IP +構造体の中を追いかけるポインタを与えるプリミティブです。 +パラメータ +.I pp +はポインタのアドレス、 +.I size +は +.I *pp +が指す構造体のサイズ、 +.I proc +は構造体をその C 言語形式と外部表現との間でフィルタする +.SM XDR +プロシージャです。 +このルーチンは、成功すれば 1 を、失敗すれば 0 を返します。 +.IP +警告: このルーチンは  +.SM NULL +ポインタを理解しません。代りに +.B xdr_pointer(\|) +を使ってください。 +.br +.if t .ne 10 +.LP +.ft B +.nf +.sp .5 +xdr_setpos(xdrs, pos) +\s-1XDR\s0 *xdrs; +u_int pos; +.fi +.ft R +.IP +.SM XDR +ストリーム +.I xdrs +に結合された位置設定ルーチンを呼び出すマクロです。 +パラメータ +.I pos +は、 +.B xdr_getpos(\|) +から取得した位置を示す値です。このルーチンは、 +.SM XDR +ストリームの位置を再設定できる場合は 1 を、そうでない +場合は 0 を返します。 +.IP +警告: +.SM XDR +ストリームの種類によっては、再設定は困難です。 +従って、このルーチンはある種類のストリームには成功し、別の種類のストリーム +には失敗する場合があります。 +.br +.if t .ne 8 +.LP +.ft B +.nf +.sp .5 +xdr_short(xdrs, sp) +\s-1XDR\s0 *xdrs; +short *sp; +.fi +.ft R +.IP +C 言語の短整数 ( +.B short +) とその外部表現とを相互に変換するフィルタプリミティブです。 +このルーチンは、成功すれば 1 を、失敗すれば 0 を返します。 +.br +.if t .ne 10 +.LP +.ft B +.nf +.sp .5 +void +xdrstdio_create(xdrs, file, op) +\s-1XDR\s0 *xdrs; +\s-1FILE\s0 *file; +enum xdr_op op; +.fi +.ft R +.IP +このルーチンは、 +.I xdrs +によって指される +.SM XDR +ストリームオブジェクトを初期化します。 +.SM XDR +ストリームデータは、標準 +.B I/O +ストリーム +.I file +に書込まれるか、またはそこから読み出されれます。パラメータ +.I op +は、 +.SM XDR +ストリームの方向 ( +.BR \s-1XDR_ENCODE\s0 , +.BR \s-1XDR_DECODE\s0 , +.B \s-1XDR_FREE\s0 +か) を決定します。 +.IP +警告: このような +.SM XDR +ストリームに結合された破壊ルーチンは、 +.I file +ストリームについて +.B fflush(\|) +は呼び出しますが、 +.B fclose(\|) +は決して呼び出しません。 +.br +.if t .ne 9 +.LP +.ft B +.nf +.sp .5 +xdr_string(xdrs, sp, maxsize) +\s-1XDR\s0 +*xdrs; +char **sp; +u_int maxsize; +.fi +.ft R +.IP +C 言語の文字列とそれに対応する外部表現とを相互に変換する +フィルタプリミティブです。文字列の長さは +.I maxsize +を超えることはできません。注: +.I sp +は、ストリングのポインタのアドレスです。 +このルーチンは、成功すれば 1 を、失敗すれば 0 を返します。 +.br +.if t .ne 8 +.LP +.ft B +.nf +.sp .5 +xdr_u_char(xdrs, ucp) +\s-1XDR\s0 *xdrs; +unsigned char *ucp; +.fi +.ft R +.IP +符号なしの C 言語のキャラクタとその外部表現とを相互に変換する +フィルタプリミティブです。このルーチンは、成功すれば 1 を、 +失敗すれば 0 を返します。 +.br +.if t .ne 9 +.LP +.ft B +.nf +.sp .5 +xdr_u_int(xdrs, up) +\s-1XDR\s0 *xdrs; +unsigned *up; +.fi +.ft R +.IP +C 言語の符号なし整数 ( +.B unsigned +) とその外部表現とを相互に変換するフィルタプリミティブです。 +このルーチンは成功すれば 1 を、失敗すれば 0 を返します。 +.br +.if t .ne 7 +.LP +.ft B +.nf +.sp .5 +xdr_u_long(xdrs, ulp) +\s-1XDR\s0 *xdrs; +unsigned long *ulp; +.fi +.ft R +.IP +C 言語の符号なし長整数 ( +.B "unsigned long" +) とその外部表現とを相互に変換するフィルタプリミティブです。 +このルーチンは、成功すれば 1 を、失敗すれば 0 を返します。 +.br +.if t .ne 7 +.LP +.ft B +.nf +.sp .5 +xdr_u_short(xdrs, usp) +\s-1XDR\s0 *xdrs; +unsigned short *usp; +.fi +.ft R +.IP +C 言語の符号なし短整数 ( +.B "unsigned short" +) とその外部表現とを相互に変換するフィルタプリミティブです。 +このルーチンは、成功すれば 1 を、失敗すれば 0 を返します。 +.br +.if t .ne 16 +.LP +.ft B +.nf +.sp .5 +xdr_union(xdrs, dscmp, unp, choices, dfault) +\s-1XDR\s0 *xdrs; +int *dscmp; +char *unp; +struct xdr_discrim *choices; +bool_t (*defaultarm) (\|); /* may equal \s-1NULL\s0 */ +.fi +.ft R +.IP +ディスクリミナントで識別された C 言語の共用体 ( +.B union +) とそれに対応する外部表現とを相互に変換する +フィルタプリミティブです。まず最初に +.I dscmp +に位置するその共用体のディスクリミナントを翻訳します。 +このディスクリミナントは、常に +.B enum_t +です。次に、 +.I unp +に位置する共用体が翻訳されます。パラメータ +.I choices +は、 +.B xdr_discrim(\|) +構造体の配列へのポインタです。各構造には、順序付きペアの +.RI [ value , proc ] +が入っています。共用体のディスクリミナントが結合された +.I value +に等しい場合は、 +.I proc +が呼び出されてその共用体を翻訳します。 +.B xdr_discrim(\|) +構造体配列の最後は、値 +.SM NULL\s0 +のルーチンによって印がつけられます。 +配列 +.I choices +にディスクリミナントが見つからない場合は、 +.I defaultarm +プロシージャが呼び出されます (このプロシージャが +.SM NULL\s0 +でないならば)。それに成功すれば 1 を、失敗すれば 0 を返します。 +.br +.if t .ne 6 +.LP +.ft B +.nf +.sp .5 +xdr_vector(xdrs, arrp, size, elsize, elproc) +\s-1XDR\s0 *xdrs; +char *arrp; +u_int size, elsize; +xdrproc_t elproc; +.fi +.ft R +.IP +固定長配列とそれに対応する外部表現とを相互に変換する +フィルタプリミティブです。パラメータ +.I arrp +は、その配列へのポインタのアドレス、 +.I size +は配列の要素数です。パラメータ +.I elsize +は配列の各要素のサイズ、 +.I elproc +は配列要素の C 言語形式とその外部表現とを相互に翻訳する +.SM XDR +フィルタです。このルーチンは、成功すれば 1 を、失敗すれば 0 を返します。 +.br +.if t .ne 5 +.LP +.ft B +.nf +.sp .5 +xdr_void(\|) +.fi +.ft R +.IP +このルーチンは常に 1 を返します。これは、関数パラメータを +必要とするが何もしない +.SM RPC +ルーチンに渡すことができます。 +.br +.if t .ne 10 +.LP +.ft B +.nf +.sp .5 +xdr_wrapstring(xdrs, sp) +\s-1XDR\s0 *xdrs; +char **sp; +.fi +.ft R +.IP +.B "xdr_string(xdrs, sp, \s-1MAXUN.UNSIGNED\s0 );" +を呼び出すプリミティブで、 +.SM MAXUN.UNSIGNED +は符号なし整数の最大値です。 +.SM RPC +パッケージが最大で 2 つの +.SM XDR +ルーチンをパラメータとして渡しますが、 +最も頻繁に使用されるプリミティブであるにもかかわらず +.B xdr_string(\|) +は 3 つのルーチンを必要とするため、 +.B xdr_wrapstring(\|) +は大変便利です。成功すれば 1 を、失敗すれば 0 を返します。 +.SH 参照 +.BR rpc (3) +.LP +次のマニュアルを参照してください。 +.RS +.ft I +eXternal Data Representation Standard: Protocol Specification +.br +eXternal Data Representation: Sun Technical Notes +.ft R +.br +.IR "\s-1XDR\s0: External Data Representation Standard" , +.SM RFC1014, Sun Microsystems, Inc., +.SM USC-ISI\s0 diff --git a/ja_JP.eucJP/man/man3/zlib.3 b/ja_JP.eucJP/man/man3/zlib.3 new file mode 100644 index 0000000000..fd40e56845 --- /dev/null +++ b/ja_JP.eucJP/man/man3/zlib.3 @@ -0,0 +1,109 @@ +.TH ZLIB 3 "9 July 1998" +.SH 名称 +zlib \- ライブラリを圧縮/圧縮解除 +.SH 書式 +[see +.I zlib.h +for full description] +.SH 解説 +.I zlib +ライブラリは、汎用のデータ圧縮ライブラリです。コードは +スレッドセーフです。このライブラリは、非圧縮データの完全性チェックを +含めて、メモリ内での圧縮、圧縮解除機能持っています。本バージョンの +ライブラリでは 1 種類の圧縮方法 (デフレーション) しかサポートしていませんが、 +今後その他のアルゴリズムも追加し、同じストリームインタフェースを採用する +予定です。 +.PP +圧縮は、バッファが十分に大きければ (例えば入力ファイル +が mmap されている場合) シングルステップで行うことが可能ですが、 +圧縮関数を繰り返して呼び出すことで圧縮することも可能です。 +後者の場合は、コールを行う前に +アプリケーションは入力を増加させるか、 +または出力を消費しておく (出力スペースを増すために) 必要があります。 +.PP +このライブラリは、 stdio のものと同様なインタフェースによって、 +.I gzip +(.gz) 形式のファイルの読み書きもサポートしています。 +.PP +このライブラリは、シグナルハンドラはインストールしません。デコーダ +は、壊れた入力があった場合でもライブラリが絶対にクラッシュしないように、 +圧縮データの一貫性をチェックします。 +.PP +圧縮ライブラリのすべての関数は、ファイル +.I zlib.h +に説明してあります。 +配布ソースには、このライブラリの使用例を説明したファイル +.I example.c +と +.I minigzip.c +が入っています。 +.PP +.I zlib +の Java インプリメンテーションは、 +Java Development Kit 1.1 +に入っています: +.IP +http://www.javasoft.com/products/JDK/1.1/docs/api/Package-java.util.zip.html +.PP +Paul Marquess +(pmarquess@bfsec.bt.co.uk) によって書かれた +.I zlib +への Perl インタフェースは、次の +CPAN (Comprehensive Perl Archive Network) +サイトで入手できます: +.IP +ftp://ftp.cis.ufl.edu/pub/perl/CPAN/modules/by-mod-ule/Compress/Compress-Zlib* +.PP +A.M. Kuchlingamk@magnet.com +によって書かれた +.I zlib +への Python インタフェースは、次の +Python Software Association +サイトで入手できます: +.IP +ftp://ftp.python.org/pub/python/contrib/Encoding/zlib*.tar.gz +.SH 参照 +zlib に関する質問は、次のところに送ってください: +.IP +zlib@quest.jpl.nasa.gov +、またはこれに失敗した場合は下に示す +作者のアドレス。 +zlib のホームページは次の通りです: +.IP +http://www.cdrom.com/pub/infozip/zlib/ +.PP +zlib ライブラリが使っているデータ形式は、次のファイルに入っている +RFC (Request for Comments) の 1950 から 1952 +に説明してあります: +.IP +ftp://ds.internic.net/rfc/rfc1950.txt (zlib format) +.br +rfc1951.txt (deflate format) +.br +rfc1952.txt (gzip format) +.PP +これらの文書は、その他の形式でも入手可能です: +.IP +ftp://ftp.uu.net/graphics/png/documents/zlib/zdoc-index.html +.SH 作者 +Version 1.1.3 +Copyright (C) 1995-1998 Jean-loup Gailly (jloup@gzip.org) +and Mark Adler (madler@alumni.caltech.edu). +.PP +このソフトウェアは、いかなる明示的あるいは暗黙的な保証もなしに、 +「そのままの形」で提供されています。作者らはこのソフトウェアの使用によって +生じたいかなる損害に対しても責任を負いません。再配布についての必要事項に +関しては、配布ディレクトリを参照してください。 +.I zlib +が使用している圧縮形式は、 Phil Katz によって定義されています。 +圧縮および +.I zlib +仕様は、L. Peter Deutsch によって書かれました。 +問題点を報告してくれたり、 +.I zlib +に様々な改善点を助言してくれた、 +ここでは名前を挙げられないほどの多数の人々に感謝の意を表します。 +.PP +UNIX manual page by R. P. C. Rodgers, +U.S. National Library of Medicine (rodgers@nlm.nih.gov). +.\" end of man page