# SOME DESCRIPTIVE TITLE
# Copyright (C) YEAR Free Software Foundation, Inc.
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"POT-Creation-Date: 2012-05-01 04:22+0900\n"
"PO-Revision-Date: 2012-05-01 06:34+0900\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"

#. type: TH
#: build/C/man3/fgetgrent.3:28
#, no-wrap
msgid "FGETGRENT"
msgstr "FGETGRENT"

#. type: TH
#: build/C/man3/fgetgrent.3:28 build/C/man3/fgetpwent.3:31
#, no-wrap
msgid "2008-07-10"
msgstr "2008-07-10"

#. type: TH
#: build/C/man3/fgetgrent.3:28 build/C/man3/fgetpwent.3:31
#: build/C/man3/getgrent_r.3:23 build/C/man3/getgrouplist.3:27
#: build/C/man3/getpw.3:30 build/C/man3/getpwent.3:31
#: build/C/man3/getpwent_r.3:23 build/C/man3/getpwnam.3:35
#: build/C/man3/getspnam.3:6 build/C/man3/initgroups.3:30
#: build/C/man3/putgrent.3:4 build/C/man3/putpwent.3:28
#: build/C/man3/setaliasent.3:6
#, no-wrap
msgid "GNU"
msgstr "GNU"

#. type: TH
#: build/C/man3/fgetgrent.3:28 build/C/man3/fgetpwent.3:31
#: build/C/man5/ftpusers.5:17 build/C/man3/getgrent.3:28
#: build/C/man3/getgrent_r.3:23 build/C/man3/getgrnam.3:31
#: build/C/man3/getgrouplist.3:27 build/C/man3/getpw.3:30
#: build/C/man3/getpwent.3:31 build/C/man3/getpwent_r.3:23
#: build/C/man3/getpwnam.3:35 build/C/man3/getspnam.3:6
#: build/C/man5/group.5:25 build/C/man3/initgroups.3:30
#: build/C/man5/passwd.5:29 build/C/man3/putgrent.3:4
#: build/C/man3/putpwent.3:28 build/C/man3/setaliasent.3:6
#, no-wrap
msgid "Linux Programmer's Manual"
msgstr "Linux Programmer's Manual"

#. type: SH
#: build/C/man3/fgetgrent.3:29 build/C/man3/fgetpwent.3:32
#: build/C/man5/ftpusers.5:18 build/C/man3/getgrent.3:29
#: build/C/man3/getgrent_r.3:24 build/C/man3/getgrnam.3:32
#: build/C/man3/getgrouplist.3:28 build/C/man3/getpw.3:31
#: build/C/man3/getpwent.3:32 build/C/man3/getpwent_r.3:24
#: build/C/man3/getpwnam.3:36 build/C/man3/getspnam.3:7
#: build/C/man5/group.5:26 build/C/man3/initgroups.3:31
#: build/C/man5/passwd.5:30 build/C/man3/putgrent.3:5
#: build/C/man3/putpwent.3:29 build/C/man3/setaliasent.3:7
#, no-wrap
msgid "NAME"
msgstr "名前"

#. type: Plain text
#: build/C/man3/fgetgrent.3:31
msgid "fgetgrent - get group file entry"
msgstr "fgetgrent - グループファイルエントリの取り出し"

#. type: SH
#: build/C/man3/fgetgrent.3:31 build/C/man3/fgetpwent.3:34
#: build/C/man3/getgrent.3:31 build/C/man3/getgrent_r.3:26
#: build/C/man3/getgrnam.3:34 build/C/man3/getgrouplist.3:30
#: build/C/man3/getpw.3:33 build/C/man3/getpwent.3:34
#: build/C/man3/getpwent_r.3:26 build/C/man3/getpwnam.3:38
#: build/C/man3/getspnam.3:11 build/C/man3/initgroups.3:33
#: build/C/man3/putgrent.3:7 build/C/man3/putpwent.3:31
#: build/C/man3/setaliasent.3:10
#, no-wrap
msgid "SYNOPSIS"
msgstr "書式"

#. type: Plain text
#: build/C/man3/fgetgrent.3:36
#, no-wrap
msgid ""
"B<#include E<lt>stdio.hE<gt>>\n"
"B<#include E<lt>sys/types.hE<gt>>\n"
"B<#include E<lt>grp.hE<gt>>\n"
msgstr ""
"B<#include E<lt>stdio.hE<gt>>\n"
"B<#include E<lt>sys/types.hE<gt>>\n"
"B<#include E<lt>grp.hE<gt>>\n"

#. type: Plain text
#: build/C/man3/fgetgrent.3:38
#, no-wrap
msgid "B<struct group *fgetgrent(FILE *>I<stream>B<);>\n"
msgstr "B<struct group *fgetgrent(FILE *>I<stream>B<);>\n"

#. type: Plain text
#: build/C/man3/fgetgrent.3:43 build/C/man3/fgetpwent.3:46
#: build/C/man3/getgrent.3:46 build/C/man3/getgrent_r.3:42
#: build/C/man3/getgrnam.3:55 build/C/man3/getgrouplist.3:40
#: build/C/man3/getpwent.3:49 build/C/man3/getpwent_r.3:42
#: build/C/man3/getpwnam.3:59 build/C/man3/getspnam.3:59
#: build/C/man3/initgroups.3:44 build/C/man3/putpwent.3:43
msgid ""
"Feature Test Macro Requirements for glibc (see B<feature_test_macros>(7)):"
msgstr "glibc 向けの機能検査マクロの要件 (B<feature_test_macros>(7)  参照):"

#. type: Plain text
#: build/C/man3/fgetgrent.3:47
msgid "B<fgetgrent>(): _SVID_SOURCE"
msgstr "B<fgetgrent>(): _SVID_SOURCE"

#. type: SH
#: build/C/man3/fgetgrent.3:47 build/C/man3/fgetpwent.3:50
#: build/C/man5/ftpusers.5:20 build/C/man3/getgrent.3:66
#: build/C/man3/getgrent_r.3:50 build/C/man3/getgrnam.3:65
#: build/C/man3/getgrouplist.3:44 build/C/man3/getpw.3:41
#: build/C/man3/getpwent.3:60 build/C/man3/getpwent_r.3:49
#: build/C/man3/getpwnam.3:69 build/C/man3/getspnam.3:70
#: build/C/man5/group.5:28 build/C/man3/initgroups.3:48
#: build/C/man5/passwd.5:32 build/C/man3/putgrent.3:13
#: build/C/man3/putpwent.3:47 build/C/man3/setaliasent.3:28
#, no-wrap
msgid "DESCRIPTION"
msgstr "説明"

#. type: Plain text
#: build/C/man3/fgetgrent.3:61
msgid ""
"The B<fgetgrent>()  function returns a pointer to a structure containing the "
"group information from the file referred to by I<stream>.  The first time it "
"is called it returns the first entry; thereafter, it returns successive "
"entries.  The file referred to by I<stream> must have the same format as I</"
"etc/group> (see B<group>(5))."
msgstr ""
"B<fgetgrent>()  関数は、 I<stream> で参照されるファイルから取り出したグループ"
"情報 を含む構造体へのポインタを返す。最初に呼び出された時は 最初のエントリを"
"返し、それ以降は、次のエントリを返す。 I<stream> で参照されるファイルは、 I</"
"etc/group> と同じ形式でなければならない (B<group>(5)  参照)。"

#. type: Plain text
#: build/C/man3/fgetgrent.3:63 build/C/man3/getgrent.3:90
#: build/C/man3/getgrent_r.3:67 build/C/man3/getgrnam.3:84
msgid "The I<group> structure is defined in I<E<lt>grp.hE<gt>> as follows:"
msgstr "I<group> 構造体は I<E<lt>grp.hE<gt>> で以下のように定義されている:"

#. type: Plain text
#: build/C/man3/fgetgrent.3:72
#, no-wrap
msgid ""
"struct group {\n"
"    char   *gr_name;        /* group name */\n"
"    char   *gr_passwd;      /* group password */\n"
"    gid_t   gr_gid;         /* group ID */\n"
"    char  **gr_mem;         /* group members */\n"
"};\n"
msgstr ""
"struct group {\n"
"    char   *gr_name;        /* グループ名 */\n"
"    char   *gr_passwd;      /* グループのパスワード */\n"
"    gid_t   gr_gid;         /* グループ ID */\n"
"    char  **gr_mem;         /* グループのメンバ */\n"
"};\n"

#. type: SH
#: build/C/man3/fgetgrent.3:74 build/C/man3/fgetpwent.3:79
#: build/C/man3/getgrent.3:104 build/C/man3/getgrent_r.3:100
#: build/C/man3/getgrnam.3:134 build/C/man3/getgrouplist.3:76
#: build/C/man3/getpw.3:70 build/C/man3/getpwent.3:101
#: build/C/man3/getpwent_r.3:102 build/C/man3/getpwnam.3:141
#: build/C/man3/getspnam.3:212 build/C/man3/initgroups.3:60
#: build/C/man3/putgrent.3:35 build/C/man3/putpwent.3:68
#: build/C/man3/setaliasent.3:85
#, no-wrap
msgid "RETURN VALUE"
msgstr "返り値"

#. type: Plain text
#: build/C/man3/fgetgrent.3:81
msgid ""
"The B<fgetgrent>()  function returns a pointer to a I<group> structure, or "
"NULL if there are no more entries or an error occurs."
msgstr ""
"B<fgetgrent>()  関数は I<group> 構造体へのポインタを返す。 これ以上エントリが"
"無いか、エラーが発生した場合は NULL を返す。"

#. type: SH
#: build/C/man3/fgetgrent.3:81 build/C/man3/fgetpwent.3:86
#: build/C/man3/getgrent.3:127 build/C/man3/getgrent_r.3:107
#: build/C/man3/getgrnam.3:172 build/C/man3/getpw.3:76
#: build/C/man3/getpwent.3:123 build/C/man3/getpwent_r.3:109
#: build/C/man3/getpwnam.3:179 build/C/man3/getspnam.3:223
#: build/C/man3/initgroups.3:67 build/C/man3/putpwent.3:73
#, no-wrap
msgid "ERRORS"
msgstr "エラー"

#. type: TP
#: build/C/man3/fgetgrent.3:82 build/C/man3/fgetpwent.3:87
#: build/C/man3/getgrent.3:140 build/C/man3/getgrnam.3:194
#: build/C/man3/getpw.3:85 build/C/man3/getpwent.3:138
#: build/C/man3/getpwnam.3:201 build/C/man3/initgroups.3:68
#, no-wrap
msgid "B<ENOMEM>"
msgstr "B<ENOMEM>"

#.  not in POSIX
#.  to allocate the group structure, or to allocate buffers
#. type: Plain text
#: build/C/man3/fgetgrent.3:87 build/C/man3/getgrent.3:146
#: build/C/man3/getgrnam.3:201
msgid "Insufficient memory to allocate I<group> structure."
msgstr "I<group> 構造体を割り当てるためのメモリが不十分。"

#. type: SH
#: build/C/man3/fgetgrent.3:87 build/C/man3/fgetpwent.3:96
#: build/C/man3/getgrent.3:153 build/C/man3/getgrent_r.3:115
#: build/C/man3/getgrnam.3:208 build/C/man3/getgrouplist.3:96
#: build/C/man3/getpw.3:94 build/C/man3/getpwent.3:152
#: build/C/man3/getpwent_r.3:117 build/C/man3/getpwnam.3:215
#: build/C/man3/getspnam.3:240 build/C/man3/initgroups.3:80
#: build/C/man3/putgrent.3:37 build/C/man3/putpwent.3:77
#: build/C/man3/setaliasent.3:97
#, no-wrap
msgid "CONFORMING TO"
msgstr "準拠"

#. type: Plain text
#: build/C/man3/fgetgrent.3:89 build/C/man3/fgetpwent.3:98
#: build/C/man3/putpwent.3:79
msgid "SVr4."
msgstr "SVr4."

#. type: SH
#: build/C/man3/fgetgrent.3:89 build/C/man3/fgetpwent.3:98
#: build/C/man5/ftpusers.5:47 build/C/man3/getgrent.3:155
#: build/C/man3/getgrent_r.3:182 build/C/man3/getgrnam.3:231
#: build/C/man3/getgrouplist.3:187 build/C/man3/getpw.3:103
#: build/C/man3/getpwent.3:157 build/C/man3/getpwent_r.3:179
#: build/C/man3/getpwnam.3:311 build/C/man3/getspnam.3:244
#: build/C/man5/group.5:60 build/C/man3/initgroups.3:82
#: build/C/man5/passwd.5:131 build/C/man3/putgrent.3:39
#: build/C/man3/putpwent.3:79 build/C/man3/setaliasent.3:141
#, no-wrap
msgid "SEE ALSO"
msgstr "関連項目"

#. type: Plain text
#: build/C/man3/fgetgrent.3:99
msgid ""
"B<endgrent>(3), B<fgetgrent_r>(3), B<fopen>(3), B<getgrent>(3), B<getgrgid>"
"(3), B<getgrnam>(3), B<putgrent>(3), B<setgrent>(3), B<group>(5)"
msgstr ""
"B<endgrent>(3), B<fgetgrent_r>(3), B<fopen>(3), B<getgrent>(3), B<getgrgid>"
"(3), B<getgrnam>(3), B<putgrent>(3), B<setgrent>(3), B<group>(5)"

#. type: SH
#: build/C/man3/fgetgrent.3:99 build/C/man3/fgetpwent.3:109
#: build/C/man5/ftpusers.5:51 build/C/man3/getgrent.3:163
#: build/C/man3/getgrent_r.3:189 build/C/man3/getgrnam.3:238
#: build/C/man3/getgrouplist.3:193 build/C/man3/getpw.3:112
#: build/C/man3/getpwent.3:165 build/C/man3/getpwent_r.3:187
#: build/C/man3/getpwnam.3:321 build/C/man3/getspnam.3:249
#: build/C/man5/group.5:66 build/C/man3/initgroups.3:86
#: build/C/man5/passwd.5:139 build/C/man3/putgrent.3:43
#: build/C/man3/putpwent.3:87 build/C/man3/setaliasent.3:150
#, no-wrap
msgid "COLOPHON"
msgstr "この文書について"

#. type: Plain text
#: build/C/man3/fgetgrent.3:106 build/C/man3/fgetpwent.3:116
#: build/C/man5/ftpusers.5:58 build/C/man3/getgrent.3:170
#: build/C/man3/getgrent_r.3:196 build/C/man3/getgrnam.3:245
#: build/C/man3/getgrouplist.3:200 build/C/man3/getpw.3:119
#: build/C/man3/getpwent.3:172 build/C/man3/getpwent_r.3:194
#: build/C/man3/getpwnam.3:328 build/C/man3/getspnam.3:256
#: build/C/man5/group.5:73 build/C/man3/initgroups.3:93
#: build/C/man5/passwd.5:146 build/C/man3/putgrent.3:50
#: build/C/man3/putpwent.3:94 build/C/man3/setaliasent.3:157
msgid ""
"This page is part of release 3.40 of the Linux I<man-pages> project.  A "
"description of the project, and information about reporting bugs, can be "
"found at http://www.kernel.org/doc/man-pages/."
msgstr ""
"この man ページは Linux I<man-pages> プロジェクトのリリース 3.40 の一部\n"
"である。プロジェクトの説明とバグ報告に関する情報は\n"
"http://www.kernel.org/doc/man-pages/ に書かれている。"

#. type: TH
#: build/C/man3/fgetpwent.3:31
#, no-wrap
msgid "FGETPWENT"
msgstr "FGETPWENT"

#. type: Plain text
#: build/C/man3/fgetpwent.3:34
msgid "fgetpwent - get password file entry"
msgstr "fgetpwent - パスワードファイルエントリの取り出し"

#. type: Plain text
#: build/C/man3/fgetpwent.3:39 build/C/man3/putpwent.3:36
#, no-wrap
msgid ""
"B<#include E<lt>stdio.hE<gt>>\n"
"B<#include E<lt>sys/types.hE<gt>>\n"
"B<#include E<lt>pwd.hE<gt>>\n"
msgstr ""
"B<#include E<lt>stdio.hE<gt>>\n"
"B<#include E<lt>sys/types.hE<gt>>\n"
"B<#include E<lt>pwd.hE<gt>>\n"

#. type: Plain text
#: build/C/man3/fgetpwent.3:41
#, no-wrap
msgid "B<struct passwd *fgetpwent(FILE *>I<stream>B<);>\n"
msgstr "B<struct passwd *fgetpwent(FILE *>I<stream>B<);>\n"

#. type: Plain text
#: build/C/man3/fgetpwent.3:50
msgid "B<fgetpwent>(): _SVID_SOURCE"
msgstr "B<fgetpwent>(): _SVID_SOURCE"

#. type: Plain text
#: build/C/man3/fgetpwent.3:63
msgid ""
"The B<fgetpwent>()  function returns a pointer to a structure containing the "
"broken out fields of a line in the file I<stream>.  The first time it is "
"called it returns the first entry; thereafter, it returns successive "
"entries.  The file referred to by I<stream> must have the same format as I</"
"etc/passwd> (see B<passwd>(5))."
msgstr ""
"B<fgetpwent>()  関数は、I<stream> から得られた行を分解したフィールド を含む構"
"造体へのポインタを返す。 最初に呼び出された時には最初のエントリを返し、それ以"
"降は 次のエントリを返す。 I<stream> で参照されるファイルは I</etc/passwd> と"
"同じ形式でなければならない (B<passwd>(5)  参照)。"

#. type: Plain text
#: build/C/man3/fgetpwent.3:65 build/C/man3/getpw.3:53
#: build/C/man3/getpwent.3:84 build/C/man3/getpwent_r.3:66
#: build/C/man3/getpwnam.3:88 build/C/man3/putpwent.3:54
msgid "The I<passwd> structure is defined in I<E<lt>pwd.hE<gt>> as follows:"
msgstr "I<passwd> 構造体は、I<E<lt>pwd.hE<gt>> で以下のように定義されている:"

#. type: Plain text
#: build/C/man3/fgetpwent.3:77
#, no-wrap
msgid ""
"struct passwd {\n"
"    char   *pw_name;       /* username */\n"
"    char   *pw_passwd;     /* user password */\n"
"    uid_t   pw_uid;        /* user ID */\n"
"    gid_t   pw_gid;        /* group ID */\n"
"    char   *pw_gecos;      /* real name */\n"
"    char   *pw_dir;        /* home directory */\n"
"    char   *pw_shell;      /* shell program */\n"
"};\n"
msgstr ""
"struct passwd {\n"
"    char   *pw_name;       /* ユーザ名 */\n"
"    char   *pw_passwd;     /* ユーザのパスワード */\n"
"    uid_t   pw_uid;        /* ユーザ ID */\n"
"    gid_t   pw_gid;        /* グループ ID */\n"
"    char   *pw_gecos;      /* 実名 */\n"
"    char   *pw_dir;        /* ホームディレクトリ */\n"
"    char   *pw_shell;      /* シェルプログラム */\n"
"};\n"

#. type: Plain text
#: build/C/man3/fgetpwent.3:86
msgid ""
"The B<fgetpwent>()  function returns a pointer to a I<passwd> structure, or "
"NULL if there are no more entries or an error occurs."
msgstr ""
"B<fgetpwent>()  関数は、 I<passwd> 構造体へのポインタを返す。 これ以上エント"
"リが無いか、エラーが発生した場合は NULL を返す。"

#.  not in POSIX
#.  This structure is static, allocated 0 or 1 times. No memory leak. (libc45)
#. type: Plain text
#: build/C/man3/fgetpwent.3:92 build/C/man3/getpw.3:90
#: build/C/man3/getpwent.3:145 build/C/man3/getpwnam.3:208
msgid "Insufficient memory to allocate I<passwd> structure."
msgstr "I<passwd> 構造体に割り当てるメモリが十分なかった。"

#. type: SH
#: build/C/man3/fgetpwent.3:92 build/C/man5/ftpusers.5:45
#: build/C/man3/getgrent.3:149 build/C/man3/getgrnam.3:204
#: build/C/man3/getpw.3:90 build/C/man3/getpwent.3:148
#: build/C/man3/getpwnam.3:211 build/C/man3/getspnam.3:227
#: build/C/man5/group.5:52 build/C/man3/initgroups.3:76
#: build/C/man5/passwd.5:111 build/C/man3/setaliasent.3:91
#, no-wrap
msgid "FILES"
msgstr "ファイル"

#. type: Plain text
#: build/C/man3/fgetpwent.3:93 build/C/man3/getpw.3:91
#: build/C/man3/getpwent.3:149 build/C/man3/getpwnam.3:212
#: build/C/man5/passwd.5:113
#, no-wrap
msgid "I</etc/passwd>"
msgstr "I</etc/passwd>"

#. type: Plain text
#: build/C/man3/fgetpwent.3:96 build/C/man3/getpw.3:94
msgid "password database file"
msgstr "パスワードデータベースファイル"

#. type: Plain text
#: build/C/man3/fgetpwent.3:109
msgid ""
"B<endpwent>(3), B<fgetpwent_r>(3), B<fopen>(3), B<getpw>(3), B<getpwent>(3), "
"B<getpwnam>(3), B<getpwuid>(3), B<putpwent>(3), B<setpwent>(3), B<passwd>(5)"
msgstr ""
"B<endpwent>(3), B<fgetpwent_r>(3), B<fopen>(3), B<getpw>(3), B<getpwent>(3), "
"B<getpwnam>(3), B<getpwuid>(3), B<putpwent>(3), B<setpwent>(3), B<passwd>(5)"

#. type: TH
#: build/C/man5/ftpusers.5:17
#, no-wrap
msgid "FTPUSERS"
msgstr "FTPUSERS"

#. type: TH
#: build/C/man5/ftpusers.5:17
#, no-wrap
msgid "2000-08-27"
msgstr "2000-08-27"

#. type: TH
#: build/C/man5/ftpusers.5:17 build/C/man5/group.5:25 build/C/man5/passwd.5:29
#, no-wrap
msgid "Linux"
msgstr "Linux"

#. type: Plain text
#: build/C/man5/ftpusers.5:20
msgid "ftpusers - list of users that may not log in via the FTP daemon"
msgstr "ftpusers - FTP デーモン経由でのログインを許さないユーザーのリスト"

#. type: Plain text
#: build/C/man5/ftpusers.5:39
msgid ""
"The text file B<ftpusers> contains a list of users that may not log in using "
"the File Transfer Protocol (FTP) server daemon.  This file is used not "
"merely for system administration purposes but for improving security within "
"a TCP/IP networked environment.  It will typically contain a list of the "
"users that either have no business using ftp or have too many privileges to "
"be allowed to log in through the FTP server daemon.  Such users usually "
"include root, daemon, bin, uucp, and news.  If your FTP server daemon "
"doesn't use B<ftpusers> then it is suggested that you read its documentation "
"to find out how to block access for certain users.  Washington University "
"FTP server Daemon (wuftpd) and Professional FTP Daemon (proftpd) are known "
"to make use of B<ftpusers>."
msgstr ""
"B<ftpusers> はテキストファイルで、File Transfer Protocol (FTP) サーバーデーモ"
"ン を利用してのログインを許さないユーザーをリストしたものである。 このファイ"
"ルは単にシステム管理のためだけでなく、 TCP/IP ネットワーク環境でのセキュリ"
"ティを向上させるのにも利用できる。 通常は、ftp を用いた作業を行わないユーザー"
"や、 FTP サーバーデーモン経由でのログインを許すには 権限が大きすぎるユーザー"
"をリストしておく。 このようなユーザーには、例えば root, daemon, bin, uucp, "
"news などが含まれる。 お使いの FTP サーバーデーモンが B<ftpusers> を用いない"
"場合は、そのデーモンのドキュメントを読んで、 特定のユーザーのアクセスをブロッ"
"クするやり方を学んでおくことをすすめる。 Washington University FTP サーバー"
"デーモン (wuftpd) と Professional FTP デーモン (proftpd) とは、 B<ftpusers> "
"を利用することがわかっている。"

#. type: SS
#: build/C/man5/ftpusers.5:39
#, no-wrap
msgid "Format"
msgstr "フォーマット"

#. type: Plain text
#: build/C/man5/ftpusers.5:45
msgid ""
"The format of B<ftpusers> is very simple.  There is one account name (or "
"username) per line.  Lines starting with a # are ignored."
msgstr ""
"B<ftpusers> のフォーマットは非常に単純であり、 アカウント名 (またはユーザー"
"名) を各行に書くだけである。 # で始まる行は無視される。"

#. type: Plain text
#: build/C/man5/ftpusers.5:47
msgid "I</etc/ftpusers>"
msgstr "I</etc/ftpusers>"

#. type: Plain text
#: build/C/man5/ftpusers.5:51
msgid "B<passwd>(5), B<proftpd>(8), B<wuftpd>(8)"
msgstr "B<passwd>(5), B<proftpd>(8), B<wuftpd>(8)"

#. type: TH
#: build/C/man3/getgrent.3:28
#, no-wrap
msgid "GETGRENT"
msgstr "GETGRENT"

#. type: TH
#: build/C/man3/getgrent.3:28 build/C/man3/getgrent_r.3:23
#: build/C/man3/getpw.3:30 build/C/man3/getpwent.3:31
#: build/C/man3/getpwent_r.3:23 build/C/man5/group.5:25
#, no-wrap
msgid "2010-10-21"
msgstr "2010-10-21"

#. type: Plain text
#: build/C/man3/getgrent.3:31
msgid "getgrent, setgrent, endgrent - get group file entry"
msgstr "getgrent, setgrent, endgrent - グループファイルエントリの取得"

#. type: Plain text
#: build/C/man3/getgrent.3:35 build/C/man3/getgrnam.3:38
#: build/C/man3/initgroups.3:37
#, no-wrap
msgid ""
"B<#include E<lt>sys/types.hE<gt>>\n"
"B<#include E<lt>grp.hE<gt>>\n"
msgstr ""
"B<#include E<lt>sys/types.hE<gt>>\n"
"B<#include E<lt>grp.hE<gt>>\n"

#. type: Plain text
#: build/C/man3/getgrent.3:37
#, no-wrap
msgid "B<struct group *getgrent(void);>\n"
msgstr "B<struct group *getgrent(void);>\n"

#. type: Plain text
#: build/C/man3/getgrent.3:39
#, no-wrap
msgid "B<void setgrent(void);>\n"
msgstr "B<void setgrent(void);>\n"

#. type: Plain text
#: build/C/man3/getgrent.3:41
#, no-wrap
msgid "B<void endgrent(void);>\n"
msgstr "B<void endgrent(void);>\n"

#. type: Plain text
#: build/C/man3/getgrent.3:51
msgid "B<setgrent>():"
msgstr "B<setgrent>():"

#. type: Plain text
#: build/C/man3/getgrent.3:54
msgid ""
"_SVID_SOURCE || _BSD_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500 || _XOPEN_SOURCE"
"\\ &&\\ _XOPEN_SOURCE_EXTENDED ||"
msgstr ""
"_SVID_SOURCE || _BSD_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500 || _XOPEN_SOURCE"
"\\ &&\\ _XOPEN_SOURCE_EXTENDED ||"

#. type: Plain text
#: build/C/man3/getgrent.3:56
msgid "/* Since glibc 2.12: */ _POSIX_C_SOURCE\\ E<gt>=\\ 200809L"
msgstr "/* Since glibc 2.12: */ _POSIX_C_SOURCE\\ E<gt>=\\ 200809L"

#. type: Plain text
#: build/C/man3/getgrent.3:60
msgid "B<getgrent>(), B<endgrent>():"
msgstr "B<getgrent>(), B<endgrent>():"

#. type: Plain text
#: build/C/man3/getgrent.3:63
msgid ""
"_SVID_SOURCE || _BSD_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500 || _XOPEN_SOURCE"
"\\ &&\\ _XOPEN_SOURCE_EXTENDED"
msgstr ""
"_SVID_SOURCE || _BSD_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500 || _XOPEN_SOURCE"
"\\ &&\\ _XOPEN_SOURCE_EXTENDED"

#. type: Plain text
#: build/C/man3/getgrent.3:78
msgid ""
"The B<getgrent>()  function returns a pointer to a structure containing the "
"broken-out fields of a record in the group database (e.g., the local group "
"file I</etc/group>, NIS, and LDAP).  The first time B<getgrent>()  is "
"called, it returns the first entry; thereafter, it returns successive "
"entries."
msgstr ""
"B<getgrent>()  関数は、グループ・データベースから取得したエントリを 要素毎に"
"分解し、各要素を格納した構造体へのポインタを返す (グループ・データベースの"
"例: ローカルのグループファイル I</etc/group>, NIS, LDAP)。 B<getgrent>()  "
"は、最初に呼び出された時は最初のエントリを返し、 それ以降は呼び出される毎に次"
"のエントリを返す。"

#. type: Plain text
#: build/C/man3/getgrent.3:83
msgid ""
"The B<setgrent>()  function rewinds to the beginning of the group database, "
"to allow repeated scans."
msgstr ""
"B<setgrent>()  関数を使うと、もう一度読み込めるように、 グループ・データベー"
"スの先頭に戻る。"

#. type: Plain text
#: build/C/man3/getgrent.3:88
msgid ""
"The B<endgrent>()  function is used to close the group database after all "
"processing has been performed."
msgstr ""
"B<endgrent>()  関数は、全ての処理が終わった後にグループ・ データベースをク"
"ローズする。"

#. type: Plain text
#: build/C/man3/getgrent.3:99 build/C/man3/getgrnam.3:93
#, no-wrap
msgid ""
"struct group {\n"
"    char   *gr_name;       /* group name */\n"
"    char   *gr_passwd;     /* group password */\n"
"    gid_t   gr_gid;        /* group ID */\n"
"    char  **gr_mem;        /* group members */\n"
"};\n"
msgstr ""
"struct group {\n"
"    char   *gr_name;       /* グループ名 */\n"
"    char   *gr_passwd;     /* グループのパスワード */\n"
"    gid_t   gr_gid;        /* グループ ID */\n"
"    char  **gr_mem;        /* グループのメンバ */\n"
"};\n"

#. type: Plain text
#: build/C/man3/getgrent.3:104 build/C/man3/getgrent_r.3:81
#: build/C/man3/getgrnam.3:98
msgid ""
"For more information about the fields of this structure, see B<group>(5)."
msgstr "この構造体のフィールドの詳細は B<group>(5)  を参照のこと。"

#. type: Plain text
#: build/C/man3/getgrent.3:111
msgid ""
"The B<getgrent>()  function returns a pointer to a I<group> structure, or "
"NULL if there are no more entries or an error occurs."
msgstr ""
"B<getgrent>()  関数は I<group> 構造体へのポインタを返す。 これ以上エントリが"
"無いか、エラーが発生した場合は NULL を返す。"

#. type: Plain text
#: build/C/man3/getgrent.3:118
msgid ""
"Upon error, I<errno> may be set.  If one wants to check I<errno> after the "
"call, it should be set to zero before the call."
msgstr ""
"エラーが発生すると、 I<errno> が適切に設定される。 この関数の呼び出し後に "
"I<errno> をチェックしたい場合は、呼び出し前に I<errno> を 0 に設定しておかな"
"いといけない。"

#. type: Plain text
#: build/C/man3/getgrent.3:127
msgid ""
"The return value may point to a static area, and may be overwritten by "
"subsequent calls to B<getgrent>(), B<getgrgid>(3), or B<getgrnam>(3).  (Do "
"not pass the returned pointer to B<free>(3).)"
msgstr ""
"返り値は静的な領域を指しており、その後の B<getgrent>(), B<getgrgid>(3), "
"B<getgrnam>(3)  の呼び出しで上書きされるかもしれない。 (返されたポインタを "
"B<free>(3)  に渡さないこと。)"

#. type: TP
#: build/C/man3/getgrent.3:128 build/C/man3/getgrnam.3:180
#: build/C/man3/getpwent.3:124 build/C/man3/getpwnam.3:187
#, no-wrap
msgid "B<EINTR>"
msgstr "B<EINTR>"

#. type: Plain text
#: build/C/man3/getgrent.3:131 build/C/man3/getgrnam.3:183
#: build/C/man3/getpwent.3:127 build/C/man3/getpwnam.3:190
msgid "A signal was caught."
msgstr "シグナルが捕捉された。"

#. type: TP
#: build/C/man3/getgrent.3:131 build/C/man3/getgrnam.3:183
#: build/C/man3/getpwent.3:127 build/C/man3/getpwnam.3:190
#, no-wrap
msgid "B<EIO>"
msgstr "B<EIO>"

#. type: Plain text
#: build/C/man3/getgrent.3:134 build/C/man3/getgrnam.3:186
#: build/C/man3/getpwent.3:130 build/C/man3/getpwnam.3:193
msgid "I/O error."
msgstr "I/O エラー。"

#. type: TP
#: build/C/man3/getgrent.3:134 build/C/man3/getgrnam.3:186
#: build/C/man3/getpwent.3:130 build/C/man3/getpwnam.3:193
#, no-wrap
msgid "B<EMFILE>"
msgstr "B<EMFILE>"

#. type: Plain text
#: build/C/man3/getgrent.3:137
msgid "The calling process already has too many open files."
msgstr "呼び出したプロセスが既にファイルをオープンし過ぎている。"

#. type: TP
#: build/C/man3/getgrent.3:137 build/C/man3/getgrnam.3:191
#: build/C/man3/getpwent.3:135 build/C/man3/getpwnam.3:198
#, no-wrap
msgid "B<ENFILE>"
msgstr "B<ENFILE>"

#. type: Plain text
#: build/C/man3/getgrent.3:140
msgid "Too many open files in the system."
msgstr "システム上にオープンされたファイルが多過ぎる。"

#. type: TP
#: build/C/man3/getgrent.3:146 build/C/man3/getgrent_r.3:111
#: build/C/man3/getgrnam.3:201 build/C/man3/getpwent.3:145
#: build/C/man3/getpwent_r.3:113 build/C/man3/getpwnam.3:208
#: build/C/man3/getspnam.3:224
#, no-wrap
msgid "B<ERANGE>"
msgstr "B<ERANGE>"

#. type: Plain text
#: build/C/man3/getgrent.3:149 build/C/man3/getgrnam.3:204
#: build/C/man3/getpwent.3:148 build/C/man3/getpwnam.3:211
msgid "Insufficient buffer space supplied."
msgstr "与えられたバッファ空間が不十分である。"

#. type: TP
#: build/C/man3/getgrent.3:150 build/C/man3/getgrnam.3:205
#, no-wrap
msgid "I</etc/group>"
msgstr "I</etc/group>"

#. type: Plain text
#: build/C/man3/getgrent.3:153 build/C/man3/getgrnam.3:208
msgid "local group database file"
msgstr "ローカルのグループ・データベースファイル"

#. type: Plain text
#: build/C/man3/getgrent.3:155 build/C/man3/getgrnam.3:210
msgid "SVr4, 4.3BSD, POSIX.1-2001."
msgstr "SVr4, 4.3BSD, POSIX.1-2001."

#. type: Plain text
#: build/C/man3/getgrent.3:163
msgid ""
"B<fgetgrent>(3), B<getgrent_r>(3), B<getgrgid>(3), B<getgrnam>(3), "
"B<getgrouplist>(3), B<putgrent>(3), B<group>(5)"
msgstr ""
"B<fgetgrent>(3), B<getgrent_r>(3), B<getgrgid>(3), B<getgrnam>(3)  "
"B<getgrouplist>(3), B<putgrent>(3), B<group>(5)"

#. type: TH
#: build/C/man3/getgrent_r.3:23
#, no-wrap
msgid "GETGRENT_R"
msgstr "GETGRENT_R"

#. type: Plain text
#: build/C/man3/getgrent_r.3:26
msgid "getgrent_r, fgetgrent_r - get group file entry reentrantly"
msgstr ""
"getgrent_r, fgetgrent_r - グループファイルエントリをリエントラント "
"(reentrant) に取り出す"

#. type: Plain text
#: build/C/man3/getgrent_r.3:29
#, no-wrap
msgid "B<#include E<lt>grp.hE<gt>>\n"
msgstr "B<#include E<lt>grp.hE<gt>>\n"

#. type: Plain text
#: build/C/man3/getgrent_r.3:31
#, no-wrap
msgid "B<int getgrent_r(struct group *>I<gbuf>B<, char *>I<buf>B<,>\n"
msgstr "B<int getgrent_r(struct group *>I<gbuf>B<, char *>I<buf>B<,>\n"

#. type: Plain text
#: build/C/man3/getgrent_r.3:33
#, no-wrap
msgid "B<               size_t >I<buflen>B<, struct group **>I<gbufp>B<);>\n"
msgstr "B<               size_t >I<buflen>B<, struct group **>I<gbufp>B<);>\n"

#. type: Plain text
#: build/C/man3/getgrent_r.3:35
#, no-wrap
msgid "B<int fgetgrent_r(FILE *>I<fp>B<, struct group *>I<gbuf>B<, char *>I<buf>B<,>\n"
msgstr "B<int fgetgrent_r(FILE *>I<fp>B<, struct group *>I<gbuf>B<, char *>I<buf>B<,>\n"

#. type: Plain text
#: build/C/man3/getgrent_r.3:37
#, no-wrap
msgid "B<                size_t >I<buflen>B<, struct group **>I<gbufp>B<);>\n"
msgstr "B<                size_t >I<buflen>B<, struct group **>I<gbufp>B<);>\n"

#.  FIXME . The FTM requirements seem inconsistent here.  File a glibc bug?
#. type: Plain text
#: build/C/man3/getgrent_r.3:47
msgid "B<getgrent_r>(): _GNU_SOURCE"
msgstr "B<getgrent_r>(): _GNU_SOURCE"

#. type: Plain text
#: build/C/man3/getgrent_r.3:50
msgid "B<fgetgrent_r>(): _SVID_SOURCE"
msgstr "B<fgetgrent_r>(): _SVID_SOURCE"

#. type: Plain text
#: build/C/man3/getgrent_r.3:63
msgid ""
"The functions B<getgrent_r>()  and B<fgetgrent_r>()  are the reentrant "
"versions of B<getgrent>(3)  and B<fgetgrent>(3).  The former reads the next "
"group entry from the stream initialized by B<setgrent>(3).  The latter reads "
"the next group entry from the stream I<fp>."
msgstr ""
"関数 B<getgrent_r>()  と B<fgetgrent_r>()  は B<getgrent>(3)  と B<fgetgrent>"
"(3)  のリエントラント版である。 前者は、 B<setgrent>(3)  によって初期化された"
"ストリームから、次のグループファイルのエントリを読み込む。 後者は、ストリー"
"ム I<fp> から次のグループファイルのエントリを読み込む。"

#. type: Plain text
#: build/C/man3/getgrent_r.3:76
#, no-wrap
msgid ""
"struct group {\n"
"    char    *gr_name;     /* group name */\n"
"    char    *gr_passwd;   /* group password */\n"
"    gid_t    gr_gid;      /* group ID */\n"
"    char   **gr_mem;      /* group members */\n"
"};\n"
msgstr ""
"struct group {\n"
"    char    *gr_name;     /* グループ名 */\n"
"    char    *gr_passwd;   /* グループパスワード */\n"
"    gid_t    gr_gid;      /* グループ ID */\n"
"    char   **gr_mem;      /* グループメンバ */\n"
"};\n"

#. type: Plain text
#: build/C/man3/getgrent_r.3:100
msgid ""
"The nonreentrant functions return a pointer to static storage, where this "
"static storage contains further pointers to group name, password and "
"members.  The reentrant functions described here return all of that in "
"caller-provided buffers.  First of all there is the buffer I<gbuf> that can "
"hold a I<struct group>.  And next the buffer I<buf> of size I<buflen> that "
"can hold additional strings.  The result of these functions, the I<struct "
"group> read from the stream, is stored in the provided buffer I<*gbuf>, and "
"a pointer to this I<struct group> is returned in I<*gbufp>."
msgstr ""
"リエントラントでない関数は静的な格納領域へのポインタを返す。 この静的な格納領"
"域には、更にグループ名・パスワード・ メンバへのポインタが含まれる。 ここで説"
"明されているリエントラントな関数は、 呼び出し側から提供されるバッファにグルー"
"プ名など全てを返す。 最初の引き数として I<struct group> を保持できるバッファ "
"I<gbuf> がある。 次にその他の文字列を保持できるサイズ I<buflen> のバッファ "
"I<buf> がある。 これらの関数の結果 (ストリームから読み込まれた I<struct "
"group>) は、 提供されたバッファ I<*gbuf> に格納され、この I<struct group> へ"
"のポインタは I<*gbufp> に返される。"

#. type: Plain text
#: build/C/man3/getgrent_r.3:107
msgid ""
"On success, these functions return 0 and I<*gbufp> is a pointer to the "
"I<struct group>.  On error, these functions return an error value and "
"I<*gbufp> is NULL."
msgstr ""
"成功した場合、これらの関数は 0 を返し、 *I<gbufp> は I<struct group> へのポイ"
"ンタとなる。 エラーの場合、これらの関数はエラー値を返し、 *I<gbufp> は NULL "
"になる。"

#. type: TP
#: build/C/man3/getgrent_r.3:108 build/C/man3/getpw.3:81
#: build/C/man3/getpwent_r.3:110
#, no-wrap
msgid "B<ENOENT>"
msgstr "B<ENOENT>"

#. type: Plain text
#: build/C/man3/getgrent_r.3:111 build/C/man3/getpwent_r.3:113
msgid "No more entries."
msgstr "次のエントリがない。"

#. type: Plain text
#: build/C/man3/getgrent_r.3:115 build/C/man3/getpwent_r.3:117
msgid "Insufficient buffer space supplied.  Try again with larger buffer."
msgstr ""
"十分なバッファ空間が与えられていない。 もっと大きなバッファで再度実行するこ"
"と。"

#. type: Plain text
#: build/C/man3/getgrent_r.3:120 build/C/man3/getpwent_r.3:122
msgid ""
"These functions are GNU extensions, done in a style resembling the POSIX "
"version of functions like B<getpwnam_r>(3).  Other systems use prototype"
msgstr ""
"これらの関数は GNU 拡張であり、POSIX 版の関数 B<getpwnam_r>(3)  の形式に似せ"
"てある。 他のシステムでは以下のプロトタイプが使われている。"

#. type: Plain text
#: build/C/man3/getgrent_r.3:125
#, no-wrap
msgid ""
"struct group *getgrent_r(struct group *grp, char *buf,\n"
"                         int buflen);\n"
msgstr ""
"struct group *getgrent_r(struct group *grp, char *buf,\n"
"                         int buflen);\n"

#. type: Plain text
#: build/C/man3/getgrent_r.3:129 build/C/man3/getpwent_r.3:131
msgid "or, better,"
msgstr "より良いものでは、以下のようになっている。"

#. type: Plain text
#: build/C/man3/getgrent_r.3:134
#, no-wrap
msgid ""
"int getgrent_r(struct group *grp, char *buf, int buflen,\n"
"               FILE **gr_fp);\n"
msgstr ""
"int getgrent_r(struct group *grp, char *buf, int buflen,\n"
"               FILE **gr_fp);\n"

#. type: SH
#: build/C/man3/getgrent_r.3:136 build/C/man3/getgrnam.3:210
#: build/C/man3/getpwent_r.3:139 build/C/man3/getpwnam.3:220
#: build/C/man5/passwd.5:113
#, no-wrap
msgid "NOTES"
msgstr "注意"

#. type: Plain text
#: build/C/man3/getgrent_r.3:141
msgid ""
"The function B<getgrent_r>()  is not really reentrant since it shares the "
"reading position in the stream with all other threads."
msgstr ""
"関数 B<getgrent_r>()  は本当のリエントラントではない。 なぜなら、ストリームの"
"読み込み位置を 他の全てのスレッドと共有しているためである。"

#. type: SH
#: build/C/man3/getgrent_r.3:141 build/C/man3/getgrouplist.3:107
#: build/C/man3/getpwent_r.3:144 build/C/man3/getpwnam.3:259
#: build/C/man3/setaliasent.3:111
#, no-wrap
msgid "EXAMPLE"
msgstr "例"

#. type: Plain text
#: build/C/man3/getgrent_r.3:148
#, no-wrap
msgid ""
"#define _GNU_SOURCE\n"
"#include E<lt>grp.hE<gt>\n"
"#include E<lt>stdio.hE<gt>\n"
"#include E<lt>stdlib.hE<gt>\n"
"#define BUFLEN 4096\n"
msgstr ""
"#define _GNU_SOURCE\n"
"#include E<lt>grp.hE<gt>\n"
"#include E<lt>stdio.hE<gt>\n"
"#include E<lt>stdlib.hE<gt>\n"
"#define BUFLEN 4096\n"

#. type: Plain text
#: build/C/man3/getgrent_r.3:155
#, no-wrap
msgid ""
"int\n"
"main(void)\n"
"{\n"
"    struct group grp, *grpp;\n"
"    char buf[BUFLEN];\n"
"    int i;\n"
msgstr ""
"int\n"
"main(void)\n"
"{\n"
"    struct group grp, *grpp;\n"
"    char buf[BUFLEN];\n"
"    int i;\n"

#. type: Plain text
#: build/C/man3/getgrent_r.3:172
#, no-wrap
msgid ""
"    setgrent();\n"
"    while (1) {\n"
"        i = getgrent_r(&grp, buf, BUFLEN, &grpp);\n"
"        if (i)\n"
"            break;\n"
"        printf(\"%s (%d):\", grpp-E<gt>gr_name, grpp-E<gt>gr_gid);\n"
"        for (i = 0; ; i++) {\n"
"            if (grpp-E<gt>gr_mem[i] == NULL)\n"
"                break;\n"
"            printf(\" %s\", grpp-E<gt>gr_mem[i]);\n"
"        }\n"
"        printf(\"\\en\");\n"
"    }\n"
"    endgrent();\n"
"    exit(EXIT_SUCCESS);\n"
"}\n"
msgstr ""
"    setgrent();\n"
"    while (1) {\n"
"        i = getgrent_r(&grp, buf, BUFLEN, &grpp);\n"
"        if (i)\n"
"            break;\n"
"        printf(\"%s (%d):\", grpp-E<gt>gr_name, grpp-E<gt>gr_gid);\n"
"        for (i = 0; ; i++) {\n"
"            if (grpp-E<gt>gr_mem[i] == NULL)\n"
"                break;\n"
"            printf(\" %s\", grpp-E<gt>gr_mem[i]);\n"
"        }\n"
"        printf(\"\\en\");\n"
"    }\n"
"    endgrent();\n"
"    exit(EXIT_SUCCESS);\n"
"}\n"

#. type: Plain text
#: build/C/man3/getgrent_r.3:189
msgid ""
"B<fgetgrent>(3), B<getgrent>(3), B<getgrgid>(3), B<getgrnam>(3), B<putgrent>"
"(3), B<group>(5)"
msgstr ""
"B<fgetgrent>(3), B<getgrent>(3), B<getgrgid>(3), B<getgrnam>(3), B<putgrent>"
"(3), B<group>(5)"

#. type: TH
#: build/C/man3/getgrnam.3:31
#, no-wrap
msgid "GETGRNAM"
msgstr "GETGRNAM"

#. type: TH
#: build/C/man3/getgrnam.3:31 build/C/man3/getpwnam.3:35
#, no-wrap
msgid "2012-04-23"
msgstr "2012-04-23"

#. type: Plain text
#: build/C/man3/getgrnam.3:34
msgid "getgrnam, getgrnam_r, getgrgid, getgrgid_r - get group file entry"
msgstr ""
"getgrnam, getgrnam_r, getgrgid, getgrgid_r - グループファイルエントリの取り出"
"し"

#. type: Plain text
#: build/C/man3/getgrnam.3:40
#, no-wrap
msgid "B<struct group *getgrnam(const char *>I<name>B<);>\n"
msgstr "B<struct group *getgrnam(const char *>I<name>B<);>\n"

#. type: Plain text
#: build/C/man3/getgrnam.3:42
#, no-wrap
msgid "B<struct group *getgrgid(gid_t >I<gid>B<);>\n"
msgstr "B<struct group *getgrgid(gid_t >I<gid>B<);>\n"

#. type: Plain text
#: build/C/man3/getgrnam.3:44
#, no-wrap
msgid "B<int getgrnam_r(const char *>I<name>B<, struct group *>I<grp>B<,>\n"
msgstr "B<int getgrnam_r(const char *>I<name>B<, struct group *>I<grp>B<,>\n"

#. type: Plain text
#: build/C/man3/getgrnam.3:46 build/C/man3/getgrnam.3:50
#, no-wrap
msgid "B<          char *>I<buf>B<, size_t >I<buflen>B<, struct group **>I<result>B<);>\n"
msgstr "B<          char *>I<buf>B<, size_t >I<buflen>B<, struct group **>I<result>B<);>\n"

#. type: Plain text
#: build/C/man3/getgrnam.3:48
#, no-wrap
msgid "B<int getgrgid_r(gid_t >I<gid>B<, struct group *>I<grp>B<,>\n"
msgstr "B<int getgrgid_r(gid_t >I<gid>B<, struct group *>I<grp>B<,>\n"

#. type: Plain text
#: build/C/man3/getgrnam.3:60
msgid "B<getgrnam_r>(), B<getgrgid_r>():"
msgstr "B<getgrnam_r>(), B<getgrgid_r>():"

#. type: Plain text
#: build/C/man3/getgrnam.3:63 build/C/man3/getpwnam.3:67
msgid ""
"_POSIX_C_SOURCE\\ E<gt>=\\ 1 || _XOPEN_SOURCE || _BSD_SOURCE || _SVID_SOURCE "
"|| _POSIX_SOURCE"
msgstr ""
"_POSIX_C_SOURCE\\ E<gt>=\\ 1 || _XOPEN_SOURCE || _BSD_SOURCE || _SVID_SOURCE "
"|| _POSIX_SOURCE"

#. type: Plain text
#: build/C/man3/getgrnam.3:75
msgid ""
"The B<getgrnam>()  function returns a pointer to a structure containing the "
"broken-out fields of the record in the group database (e.g., the local group "
"file I</etc/group>, NIS, and LDAP)  that matches the group name I<name>."
msgstr ""
"B<getgrnam>()  関数は、グループ名 I<name> にマッチするグループ・データベース"
"のエントリを 要素毎に分解し、各要素を格納した構造体へのポインタを返す (パス"
"ワード・データベースの例: ローカルのグループファイル I</etc/group>, NIS, "
"LDAP)。"

#. type: Plain text
#: build/C/man3/getgrnam.3:82
msgid ""
"The B<getgrgid>()  function returns a pointer to a structure containing the "
"broken-out fields of the record in the group database that matches the group "
"ID I<gid>."
msgstr ""
"B<getgrgid>()  関数は、グループ ID I<uid> にマッチするグループ・データベース"
"のエントリを 要素毎に分解し、各要素を格納した構造体へのポインタを返す。"

#. type: Plain text
#: build/C/man3/getgrnam.3:121
msgid ""
"The B<getgrnam_r>()  and B<getgrgid_r>()  functions obtain the same "
"information as B<getgrnam>()  and B<getgrgid>(), but store the retrieved "
"I<group> structure in the space pointed to by I<grp>.  The string fields "
"pointed to by the members of the I<group> structure are stored in the buffer "
"I<buf> of size I<buflen>.  A pointer to the result (in case of success) or "
"NULL (in case no entry was found or an error occurred) is stored in "
"I<*result>."
msgstr ""
"B<getgrnam_r>() と B<getgrgid_r>() 関数は、それぞれ B<getgrnam>() と\n"
"B<getgrgid>() と同じ情報を取得するが、取得した I<group> 構造体を\n"
"I<grp> が指す領域に格納する。I<group> 構造体のメンバーが指す文字列は、\n"
"サイズ I<buflen> のバッファ I<buf> に格納される。成功した場合\n"
"I<*gbufp> には結果へのポインタが格納される。エントリが見つからなかった\n"
"場合やエラーが発生した場合には I<*result> には NULL が入る。"

#. type: Plain text
#: build/C/man3/getgrnam.3:123 build/C/man3/getpwnam.3:130
msgid "The call"
msgstr "呼び出し"

#. type: Plain text
#: build/C/man3/getgrnam.3:125
#, no-wrap
msgid "    sysconf(_SC_GETGR_R_SIZE_MAX)\n"
msgstr "    sysconf(_SC_GETGR_R_SIZE_MAX)\n"

#. type: Plain text
#: build/C/man3/getgrnam.3:134 build/C/man3/getpwnam.3:141
msgid ""
"returns either -1, without changing I<errno>, or an initial suggested size "
"for I<buf>.  (If this size is too small, the call fails with B<ERANGE>, in "
"which case the caller can retry with a larger buffer.)"
msgstr ""
"は、 I<errno> を変更せずに -1 を返すか、 I<buf> の初期サイズの推奨値を\n"
"返す。(このサイズが小さすぎる場合、呼び出しは B<ERANGE> で失敗し、この\n"
"場合には呼び出し側はバッファを大きくしてから再度呼び出すことができる。)"

#. type: Plain text
#: build/C/man3/getgrnam.3:149
msgid ""
"The B<getgrnam>()  and B<getgrgid>()  functions return a pointer to a "
"I<group> structure, or NULL if the matching entry is not found or an error "
"occurs.  If an error occurs, I<errno> is set appropriately.  If one wants to "
"check I<errno> after the call, it should be set to zero before the call."
msgstr ""
"B<getgrnam>()  と B<getgrgid>()  関数は、 I<group> 構造体へのポインタを返"
"す。 マッチするエントリが見つからなかった場合や、 エラーが発生した場合は "
"NULL を返す。 エラーが起こった場合、 I<errno> が適切に設定される。 呼び出しの"
"後で I<errno> をチェックしたい場合は、 呼び出しの前に (この値を) 0 に設定して"
"おくべきである。"

#. type: Plain text
#: build/C/man3/getgrnam.3:158
msgid ""
"The return value may point to a static area, and may be overwritten by "
"subsequent calls to B<getgrent>(3), B<getgrgid>(), or B<getgrnam>().  (Do "
"not pass the returned pointer to B<free>(3).)"
msgstr ""
"返り値は静的な領域を指しており、その後の B<getgrent>(3), B<getgrgid>(), "
"B<getgrnam>()  の呼び出しで上書きされるかもしれない。 (返されたポインタを "
"B<free>(3)  に渡さないこと。)"

#. type: Plain text
#: build/C/man3/getgrnam.3:172
msgid ""
"On success, B<getgrnam_r>()  and B<getgrgid_r>()  return zero, and set "
"I<*result> to I<grp>.  If no matching group record was found, these "
"functions return 0 and store NULL in I<*result>.  In case of error, an error "
"number is returned, and NULL is stored in I<*result>."
msgstr ""
"成功すると、 B<getgrnam_r>()  と B<getgrgid_r>()  は 0 を返し、 I<*result> "
"に I<grp> を設定する。 マッチするグループ・エントリが見つからなかった場合に"
"は、 0 を返し、 I<*result> に NULL を設定する。 エラーの場合、エラー番号を返"
"し、 I<*result> に NULL を設定する。"

#. type: TP
#: build/C/man3/getgrnam.3:173 build/C/man3/getpwnam.3:180
#, no-wrap
msgid "B<0> or B<ENOENT> or B<ESRCH> or B<EBADF> or B<EPERM> or ... "
msgstr "B<0> または B<ENOENT> または B<ESRCH> または B<EBADF> または B<EPERM> または ... "

#. type: Plain text
#: build/C/man3/getgrnam.3:180
msgid "The given I<name> or I<gid> was not found."
msgstr "指定された I<name> または I<gid> が見つからなかった。"

#. type: Plain text
#: build/C/man3/getgrnam.3:191 build/C/man3/getpwent.3:135
#: build/C/man3/getpwnam.3:198
msgid ""
"The maximum number (B<OPEN_MAX>)  of files was open already in the calling "
"process."
msgstr ""
"呼び出し元プロセスがオープンしているファイル数が すでに上限 (B<OPEN_MAX>)  で"
"あった。"

#. type: Plain text
#: build/C/man3/getgrnam.3:194 build/C/man3/getpwent.3:138
#: build/C/man3/getpwnam.3:201
msgid "The maximum number of files was open already in the system."
msgstr "システムでオープンされているファイル数がすでに上限であった。"

#.  more precisely:
#.  AIX 5.1 - gives ESRCH
#.  OSF1 4.0g - gives EWOULDBLOCK
#.  libc, glibc up to version 2.6, Irix 6.5 - give ENOENT
#.  glibc since version 2.7 - give 0
#.  FreeBSD 4.8, OpenBSD 3.2, NetBSD 1.6 - give EPERM
#.  SunOS 5.8 - gives EBADF
#.  Tru64 5.1b, HP-UX-11i, SunOS 5.7 - give 0
#. type: Plain text
#: build/C/man3/getgrnam.3:231
msgid ""
"The formulation given above under \"RETURN VALUE\" is from POSIX.1-2001.  It "
"does not call \"not found\" an error, hence does not specify what value "
"I<errno> might have in this situation.  But that makes it impossible to "
"recognize errors.  One might argue that according to POSIX I<errno> should "
"be left unchanged if an entry is not found.  Experiments on various UNIX-"
"like systems shows that lots of different values occur in this situation: 0, "
"ENOENT, EBADF, ESRCH, EWOULDBLOCK, EPERM and probably others."
msgstr ""
"上記の「返り値」以下の記述は POSIX.1-2001 に拠る。 この標準は「(エントリが) "
"見つからないこと」をエラーとしていないので、 そのような場合に I<errno> がどの"
"ような値になるかを定めていない。 そのため、エラーを認識することは不可能であ"
"る。 POSIX に準拠して、エントリが見つからない場合は I<errno> を変更しないよう"
"にすべきである、と主張する人もいるかもしれない。 様々な UNIX 系のシステムで試"
"してみると、そのような場合には 0, ENOENT, EBADF, ESRCH, EWOULDBLOCK, EPERM と"
"いった様々な値が返される。 他の値が返されるかもしれない。"

#. type: Plain text
#: build/C/man3/getgrnam.3:238
msgid ""
"B<endgrent>(3), B<fgetgrent>(3), B<getgrent>(3), B<getpwnam>(3), B<setgrent>"
"(3), B<group>(5)"
msgstr ""
"B<endgrent>(3), B<fgetgrent>(3), B<getgrent>(3), B<getpwnam>(3), B<setgrent>"
"(3), B<group>(5)"

#. type: TH
#: build/C/man3/getgrouplist.3:27
#, no-wrap
msgid "GETGROUPLIST"
msgstr "GETGROUPLIST"

#. type: TH
#: build/C/man3/getgrouplist.3:27
#, no-wrap
msgid "2008-07-03"
msgstr "2009-07-03"

#. type: Plain text
#: build/C/man3/getgrouplist.3:30
msgid "getgrouplist - get list of groups to which a user belongs"
msgstr "getgrouplist - ユーザが所属するグループのリストを取得する"

#. type: Plain text
#: build/C/man3/getgrouplist.3:32 build/C/man3/putgrent.3:11
msgid "B<#include E<lt>grp.hE<gt>>"
msgstr "B<#include E<lt>grp.hE<gt>>"

#. type: Plain text
#: build/C/man3/getgrouplist.3:34
msgid "B<int getgrouplist(const char *>I<user>B<, gid_t >I<group>B<,>"
msgstr "B<int getgrouplist(const char *>I<user>B<, gid_t >I<group>B<,>"

#. type: Plain text
#: build/C/man3/getgrouplist.3:36
msgid "B< gid_t *>I<groups>B<, int *>I<ngroups>B<);>"
msgstr "B< gid_t *>I<groups>B<, int *>I<ngroups>B<);>"

#. type: Plain text
#: build/C/man3/getgrouplist.3:44
msgid "B<getgrouplist>(): _BSD_SOURCE"
msgstr "B<getgrouplist>(): _BSD_SOURCE"

#. type: Plain text
#: build/C/man3/getgrouplist.3:56
msgid ""
"The B<getgrouplist>()  function scans the group database (see B<group>(5))  "
"to obtain the list of groups that I<user> belongs to.  Up to I<*ngroups> of "
"these groups are returned in the array I<groups>."
msgstr ""
"B<getgrouplist>()  関数は、グループデータベース (B<group>(5)  参照) を調べ"
"て、 I<user> が所属するグループのリストを取得する。 見つかったグループのうち"
"最大 I<*ngroups> 個のグループが、配列 I<groups> に格納されて返される。"

#. type: Plain text
#: build/C/man3/getgrouplist.3:66
msgid ""
"If it was not among the groups defined for I<user> in the group database, "
"then I<group> is included in the list of groups returned by B<getgrouplist>"
"(); typically this argument is specified as the group ID from the password "
"record for I<user>."
msgstr ""
"引き数 I<group> がグループデータベースに I<user> が所属するグループがなかった"
"場合、 B<getgrouplist>()  が返すグループのリストに引き数 I<group> も追加され"
"る。 通常は、この引き数にはユーザ I<user> のパスワードレコードに書かれている"
"グループ ID を指定する。"

#. type: Plain text
#: build/C/man3/getgrouplist.3:76
msgid ""
"The I<ngroups> argument is a value-result argument: on return it always "
"contains the number of groups found for I<user>, including I<group>; this "
"value may be greater than the number of groups stored in I<groups>."
msgstr ""
"引き数 I<ngroups> は、値渡しと結果の両方に使用される引き数 (value-result "
"argument) であり、 リターン時には、常に I<group> も含めた I<user> が所属する"
"グループ数が格納される。 この値は I<groups> に格納されたグループ数より大きく"
"なる可能性がある。"

#. type: Plain text
#: build/C/man3/getgrouplist.3:84
msgid ""
"If the number of groups of which I<user> is a member is less than or equal "
"to I<*ngroups>, then the value I<*ngroups> is returned."
msgstr ""
"I<user> が所属しているグループ数が I<*ngroups> 以下の場合、 I<*ngroups> の値"
"が返される。"

#. type: Plain text
#: build/C/man3/getgrouplist.3:94
msgid ""
"If the user is a member of more than I<*ngroups> groups, then B<getgrouplist>"
"()  returns -1.  In this case the value returned in I<*ngroups> can be used "
"to resize the buffer passed to a further call B<getgrouplist>()."
msgstr ""
"指定されたユーザが I<*ngroups> より多くのグループに所属している場合、 "
"B<getgrouplist>()  は -1 を返す。 この場合、 I<*ngroups> で返される値を使っ"
"て、バッファのサイズを変更してから、 B<getgrouplist>()  をもう一度呼び出すこ"
"とができる。"

#. type: SH
#: build/C/man3/getgrouplist.3:94
#, no-wrap
msgid "VERSIONS"
msgstr "バージョン"

#. type: Plain text
#: build/C/man3/getgrouplist.3:96
msgid "This function is present since glibc 2.2.4."
msgstr "この関数は glibc 2.2.4 から存在する。"

#. type: Plain text
#: build/C/man3/getgrouplist.3:98
msgid "This function is nonstandard; it appears on most BSDs."
msgstr "この関数は非標準である。ほとんどの BSD に存在する。"

#. type: SH
#: build/C/man3/getgrouplist.3:98 build/C/man3/getpw.3:96
#: build/C/man5/group.5:54
#, no-wrap
msgid "BUGS"
msgstr "バグ"

#. type: Plain text
#: build/C/man3/getgrouplist.3:107
msgid ""
"In glibc versions before 2.3.3, the implementation of this function contains "
"a buffer-overrun bug: it returns the complete list of groups for I<user> in "
"the array I<groups>, even when the number of groups exceeds I<*ngroups>."
msgstr ""
"バージョン 2.3.3 より前の glibc では、 この関数の実装にはバッファオーバーフ"
"ローのバグがあり、 I<user> が所属するグループ数が I<*ngroups> より多い場合で"
"あっても、 I<user> が所属するグループの全リストを配列 I<groups> に格納してし"
"まう。"

#. type: Plain text
#: build/C/man3/getgrouplist.3:116
msgid ""
"The program below displays the group list for the user named in its first "
"command-line argument.  The second command-line argument specifies the "
"I<ngroups> value to be supplied to B<getgrouplist>().  The following shell "
"session shows examples of the use of this program:"
msgstr ""
"以下のプログラムは、一つ目のコマンドライン引き数で指定された名前のユーザ が所"
"属するグループのリストを表示する。 二番目のコマンドライン引き数には、 "
"B<getgrouplist>()  に渡す I<ngroups> の値を指定する。 以下のシェルのセッショ"
"ンはこのプログラムの使用例を示したものである。"

#. type: Plain text
#: build/C/man3/getgrouplist.3:126
#, no-wrap
msgid ""
"$B< ./a.out cecilia 0>\n"
"getgrouplist() returned -1; ngroups = 3\n"
"$B< ./a.out cecilia 3>\n"
"ngroups = 3\n"
"16 (dialout)\n"
"33 (video)\n"
"100 (users)\n"
msgstr ""
"$B< ./a.out cecilia 0>\n"
"getgrouplist() returned -1; ngroups = 3\n"
"$B< ./a.out cecilia 3>\n"
"ngroups = 3\n"
"16 (dialout)\n"
"33 (video)\n"
"100 (users)\n"

#. type: SS
#: build/C/man3/getgrouplist.3:128
#, no-wrap
msgid "Program source"
msgstr "プログラムのソース"

#. type: Plain text
#: build/C/man3/getgrouplist.3:135
#, no-wrap
msgid ""
"#include E<lt>stdio.hE<gt>\n"
"#include E<lt>stdlib.hE<gt>\n"
"#include E<lt>grp.hE<gt>\n"
"#include E<lt>pwd.hE<gt>\n"
msgstr ""
"#include E<lt>stdio.hE<gt>\n"
"#include E<lt>stdlib.hE<gt>\n"
"#include E<lt>grp.hE<gt>\n"
"#include E<lt>pwd.hE<gt>\n"

#. type: Plain text
#: build/C/man3/getgrouplist.3:143
#, no-wrap
msgid ""
"int\n"
"main(int argc, char *argv[])\n"
"{\n"
"    int j, ngroups;\n"
"    gid_t *groups;\n"
"    struct passwd *pw;\n"
"    struct group *gr;\n"
msgstr ""
"int\n"
"main(int argc, char *argv[])\n"
"{\n"
"    int j, ngroups;\n"
"    gid_t *groups;\n"
"    struct passwd *pw;\n"
"    struct group *gr;\n"

#. type: Plain text
#: build/C/man3/getgrouplist.3:148
#, no-wrap
msgid ""
"    if (argc != 3) {\n"
"        fprintf(stderr, \"Usage: %s E<lt>userE<gt> E<lt>ngroupsE<gt>\\en\", argv[0]);\n"
"        exit(EXIT_FAILURE);\n"
"    }\n"
msgstr ""
"    if (argc != 3) {\n"
"        fprintf(stderr, \"Usage: %s E<lt>userE<gt> E<lt>ngroupsE<gt>\\en\", argv[0]);\n"
"        exit(EXIT_FAILURE);\n"
"    }\n"

#. type: Plain text
#: build/C/man3/getgrouplist.3:150
#, no-wrap
msgid "    ngroups = atoi(argv[2]);\n"
msgstr "    ngroups = atoi(argv[2]);\n"

#. type: Plain text
#: build/C/man3/getgrouplist.3:156
#, no-wrap
msgid ""
"    groups = malloc(ngroups * sizeof (gid_t));\n"
"    if (groups == NULL) {\n"
"        perror(\"malloc\");\n"
"        exit(EXIT_FAILURE);\n"
"    }\n"
msgstr ""
"    groups = malloc(ngroups * sizeof (gid_t));\n"
"    if (groups == NULL) {\n"
"        perror(\"malloc\");\n"
"        exit(EXIT_FAILURE);\n"
"    }\n"

#. type: Plain text
#: build/C/man3/getgrouplist.3:158
#, no-wrap
msgid "    /* Fetch passwd structure (contains first group ID for user) */\n"
msgstr "    /* Fetch passwd structure (contains first group ID for user) */\n"

#. type: Plain text
#: build/C/man3/getgrouplist.3:164
#, no-wrap
msgid ""
"    pw = getpwnam(argv[1]);\n"
"    if (pw == NULL) {\n"
"        perror(\"getpwnam\");\n"
"        exit(EXIT_SUCCESS);\n"
"    }\n"
msgstr ""
"    pw = getpwnam(argv[1]);\n"
"    if (pw == NULL) {\n"
"        perror(\"getpwnam\");\n"
"        exit(EXIT_SUCCESS);\n"
"    }\n"

#. type: Plain text
#: build/C/man3/getgrouplist.3:166
#, no-wrap
msgid "    /* Retrieve group list */\n"
msgstr "    /* Retrieve group list */\n"

#. type: Plain text
#: build/C/man3/getgrouplist.3:172
#, no-wrap
msgid ""
"    if (getgrouplist(argv[1], pw-E<gt>pw_gid, groups, &ngroups) == -1) {\n"
"        fprintf(stderr, \"getgrouplist() returned -1; ngroups = %d\\en\",\n"
"                ngroups);\n"
"\texit(EXIT_FAILURE);\n"
"    }\n"
msgstr ""
"    if (getgrouplist(argv[1], pw-E<gt>pw_gid, groups, &ngroups) == -1) {\n"
"        fprintf(stderr, \"getgrouplist() returned -1; ngroups = %d\\en\",\n"
"                ngroups);\n"
"\texit(EXIT_FAILURE);\n"
"    }\n"

#. type: Plain text
#: build/C/man3/getgrouplist.3:174
#, no-wrap
msgid "    /* Display list of retrieved groups, along with group names */\n"
msgstr "    /* Display list of retrieved groups, along with group names */\n"

#. type: Plain text
#: build/C/man3/getgrouplist.3:183
#, no-wrap
msgid ""
"    fprintf(stderr, \"ngroups = %d\\en\", ngroups);\n"
"    for (j = 0; j E<lt> ngroups; j++) {\n"
"        printf(\"%d\", groups[j]);\n"
"        gr = getgrgid(groups[j]);\n"
"        if (gr != NULL)\n"
"            printf(\" (%s)\", gr-E<gt>gr_name);\n"
"        printf(\"\\en\");\n"
"    }\n"
msgstr ""
"    fprintf(stderr, \"ngroups = %d\\en\", ngroups);\n"
"    for (j = 0; j E<lt> ngroups; j++) {\n"
"        printf(\"%d\", groups[j]);\n"
"        gr = getgrgid(groups[j]);\n"
"        if (gr != NULL)\n"
"            printf(\" (%s)\", gr-E<gt>gr_name);\n"
"        printf(\"\\en\");\n"
"    }\n"

#. type: Plain text
#: build/C/man3/getgrouplist.3:186
#, no-wrap
msgid ""
"    exit(EXIT_SUCCESS);\n"
"}\n"
msgstr ""
"    exit(EXIT_SUCCESS);\n"
"}\n"

#. type: Plain text
#: build/C/man3/getgrouplist.3:193
msgid ""
"B<getgroups>(2), B<setgroups>(2), B<getgrent>(3), B<group>(5), B<passwd>(5)"
msgstr ""
"B<getgroups>(2), B<setgroups>(2), B<getgrent>(3), B<group>(5), B<passwd>(5)"

#. type: TH
#: build/C/man3/getpw.3:30
#, no-wrap
msgid "GETPW"
msgstr "GETPW"

#. type: Plain text
#: build/C/man3/getpw.3:33
msgid "getpw - Re-construct password line entry"
msgstr "getpw - パスワード行エントリを取得する"

#. type: Plain text
#: build/C/man3/getpw.3:38
#, no-wrap
msgid ""
"B<#define _GNU_SOURCE>             /* See feature_test_macros(7) */\n"
"B<#include E<lt>sys/types.hE<gt>>\n"
"B<#include E<lt>pwd.hE<gt>>\n"
msgstr ""
"B<#define _GNU_SOURCE>             /* feature_test_macros(7) 参照 */\n"
"B<#include E<lt>sys/types.hE<gt>>\n"
"B<#include E<lt>pwd.hE<gt>>\n"

#. type: Plain text
#: build/C/man3/getpw.3:40
#, no-wrap
msgid "B<int getpw(uid_t >I<uid>B<, char *>I<buf>B<);>\n"
msgstr "B<int getpw(uid_t >I<uid>B<, char *>I<buf>B<);>\n"

#. type: Plain text
#: build/C/man3/getpw.3:47
msgid ""
"The B<getpw>()  function reconstructs the password line entry for the given "
"user ID I<uid> in the buffer I<buf>.  The returned buffer contains a line of "
"format"
msgstr ""
"B<getpw>()  関数は、バッファ I<buf> に指定ユーザ ID I<uid> の パスワード行エ"
"ントリを取得する。 返されるバッファは、以下の形式の行を含む。"

#. type: Plain text
#: build/C/man3/getpw.3:50
msgid "B<name:passwd:uid:gid:gecos:dir:shell>"
msgstr "B<name:passwd:uid:gid:gecos:dir:shell>"

#. type: Plain text
#: build/C/man3/getpw.3:65 build/C/man3/getpwent.3:96
#: build/C/man3/getpwnam.3:100
#, no-wrap
msgid ""
"struct passwd {\n"
"    char   *pw_name;       /* username */\n"
"    char   *pw_passwd;     /* user password */\n"
"    uid_t   pw_uid;        /* user ID */\n"
"    gid_t   pw_gid;        /* group ID */\n"
"    char   *pw_gecos;      /* user information */\n"
"    char   *pw_dir;        /* home directory */\n"
"    char   *pw_shell;      /* shell program */\n"
"};\n"
msgstr ""
"struct passwd {\n"
"    char   *pw_name;       /* ユーザ名 */\n"
"    char   *pw_passwd;     /* ユーザのパスワード */\n"
"    uid_t   pw_uid;        /* ユーザ ID */\n"
"    gid_t   pw_gid;        /* グループ ID */\n"
"    char   *pw_gecos;      /* ユーザ情報 */\n"
"    char   *pw_dir;        /* ホームディレクトリ */\n"
"    char   *pw_shell;      /* シェルプログラム */\n"
"};\n"

#. type: Plain text
#: build/C/man3/getpw.3:70 build/C/man3/getpwent.3:101
#: build/C/man3/getpwent_r.3:83
msgid ""
"For more information about the fields of this structure, see B<passwd>(5)."
msgstr "この構造体のフィールドの詳細は B<passwd>(5)  を参照のこと。"

#. type: Plain text
#: build/C/man3/getpw.3:76
msgid ""
"The B<getpw>()  function returns 0 on success; on error, it returns -1, and "
"I<errno> is set to indicate the error."
msgstr ""
"B<getpw>()  関数は、成功した場合 0 を返す; エラーが発生した場合 -1 を返し、エ"
"ラーを 示すために I<error> がセットされる。"

#. type: TP
#: build/C/man3/getpw.3:77 build/C/man3/putpwent.3:74
#, no-wrap
msgid "B<EINVAL>"
msgstr "B<EINVAL>"

#. type: Plain text
#: build/C/man3/getpw.3:81
msgid "I<buf> is NULL."
msgstr "I<buf> が NULL。"

#. type: Plain text
#: build/C/man3/getpw.3:85
msgid "No user corresponding to I<uid>."
msgstr "I<uid> に対応するユーザがいない。"

#. type: Plain text
#: build/C/man3/getpw.3:96
msgid "SVr2."
msgstr "SVr2"

#. type: Plain text
#: build/C/man3/getpw.3:103
msgid ""
"The B<getpw>()  function is dangerous as it may overflow the provided buffer "
"I<buf>.  It is obsoleted by B<getpwuid>(3)."
msgstr ""
"B<getpw>()  関数は、与えられたバッファ I<buf> がオーバーフローするかもしれな"
"いので危険である。 この関数は B<getpwuid>(3)  によって古いものとなった。"

#. type: Plain text
#: build/C/man3/getpw.3:112
msgid ""
"B<endpwent>(3), B<fgetpwent>(3), B<getpwent>(3), B<getpwnam>(3), B<getpwuid>"
"(3), B<putpwent>(3), B<setpwent>(3), B<passwd>(5)"
msgstr ""
"B<endpwent>(3), B<fgetpwent>(3), B<getpwent>(3), B<getpwnam>(3), B<getpwuid>"
"(3), B<putpwent>(3), B<setpwent>(3), B<passwd>(5)"

#. type: TH
#: build/C/man3/getpwent.3:31
#, no-wrap
msgid "GETPWENT"
msgstr "GETPWENT"

#. type: Plain text
#: build/C/man3/getpwent.3:34
msgid "getpwent, setpwent, endpwent - get password file entry"
msgstr "getpwent, setpwent, endpwent - パスワードファイルのエントリの取得"

#. type: Plain text
#: build/C/man3/getpwent.3:38 build/C/man3/getpwnam.3:42
#, no-wrap
msgid ""
"B<#include E<lt>sys/types.hE<gt>>\n"
"B<#include E<lt>pwd.hE<gt>>\n"
msgstr ""
"B<#include E<lt>sys/types.hE<gt>>\n"
"B<#include E<lt>pwd.hE<gt>>\n"

#. type: Plain text
#: build/C/man3/getpwent.3:40
#, no-wrap
msgid "B<struct passwd *getpwent(void);>\n"
msgstr "B<struct passwd *getpwent(void);>\n"

#. type: Plain text
#: build/C/man3/getpwent.3:42
#, no-wrap
msgid "B<void setpwent(void);>\n"
msgstr "B<void setpwent(void);>\n"

#. type: Plain text
#: build/C/man3/getpwent.3:44
#, no-wrap
msgid "B<void endpwent(void);>\n"
msgstr "B<void endpwent(void);>\n"

#. type: Plain text
#: build/C/man3/getpwent.3:55
msgid "B<getpwent>(), B<setpwent>(), B<endpwent>():"
msgstr "B<getpwent>(), B<setpwent>(), B<endpwent>():"

#. type: Plain text
#: build/C/man3/getpwent.3:58
msgid ""
"_BSD_SOURCE || _SVID_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500 || _XOPEN_SOURCE"
"\\ &&\\ _XOPEN_SOURCE_EXTENDED"
msgstr ""
"_BSD_SOURCE || _SVID_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500 || _XOPEN_SOURCE"
"\\ &&\\ _XOPEN_SOURCE_EXTENDED"

#. type: Plain text
#: build/C/man3/getpwent.3:72
msgid ""
"The B<getpwent>()  function returns a pointer to a structure containing the "
"broken-out fields of a record from the password database (e.g., the local "
"password file I</etc/passwd>, NIS, and LDAP).  The first time B<getpwent>()  "
"is called, it returns the first entry; thereafter, it returns successive "
"entries."
msgstr ""
"B<getpwent>()  関数は、パスワード・データベースから取得したエントリを 要素毎"
"に分解し、各要素を格納した構造体へのポインタを返す (パスワード・データベース"
"の例: ローカルのパスワードファイル I</etc/passwd>, NIS, LDAP)。 B<getpwent>"
"()  は、最初に呼び出された時は最初のエントリを返し、それ以降は 呼び出される毎"
"に次のエントリを返す。"

#. type: Plain text
#: build/C/man3/getpwent.3:77
msgid ""
"The B<setpwent>()  function rewinds to the beginning of the password "
"database."
msgstr "B<setpwent>()  関数を使うと、パスワード・データベースの先頭に戻る。"

#. type: Plain text
#: build/C/man3/getpwent.3:82
msgid ""
"The B<endpwent>()  function is used to close the password database after all "
"processing has been performed."
msgstr ""
"B<endpwent>()  関数は、全ての処理が終わった後にパスワード・ データベースをク"
"ローズする。"

#. type: Plain text
#: build/C/man3/getpwent.3:114
msgid ""
"The B<getpwent>()  function returns a pointer to a I<passwd> structure, or "
"NULL if there are no more entries or an error occurs.  If an error occurs, "
"I<errno> is set appropriately.  If one wants to check I<errno> after the "
"call, it should be set to zero before the call."
msgstr ""
"B<getpwent>()  関数は I<passwd> 構造体へのポインタを返す。 これ以上エントリが"
"無いか、エラーが発生した場合は NULL を返す。 エラーが発生すると、 I<errno> が"
"適切に設定される。 この関数の呼び出し後に I<errno> をチェックしたい場合は、呼"
"び出し前に I<errno> を 0 に設定しておかないといけない。"

#. type: Plain text
#: build/C/man3/getpwent.3:123
msgid ""
"The return value may point to a static area, and may be overwritten by "
"subsequent calls to B<getpwent>(), B<getpwnam>(3), or B<getpwuid>(3).  (Do "
"not pass the returned pointer to B<free>(3).)"
msgstr ""
"返り値は静的な領域を指しており、その後の B<getpwent>(), B<getpwnam>(3), "
"B<getpwuid>(3)  の呼び出しで上書きされるかもしれない。 (返されたポインタを "
"B<free>(3)  に渡さないこと。)"

#. type: Plain text
#: build/C/man3/getpwent.3:152 build/C/man3/getpwnam.3:215
msgid "local password database file"
msgstr "ローカルのパスワード・データベースファイル"

#. type: Plain text
#: build/C/man3/getpwent.3:157 build/C/man3/getpwnam.3:220
msgid ""
"SVr4, 4.3BSD, POSIX.1-2001.  The I<pw_gecos> field is not specified in "
"POSIX, but is present on most implementations."
msgstr ""
"SVr4, 4.3BSD, POSIX.1-2001.  I<pw_gecos> フィールドは POSIX では規定されてい"
"ないが、 ほとんどの実装に存在する。"

#. type: Plain text
#: build/C/man3/getpwent.3:165
msgid ""
"B<fgetpwent>(3), B<getpw>(3), B<getpwent_r>(3), B<getpwnam>(3), B<getpwuid>"
"(3), B<putpwent>(3), B<passwd>(5)"
msgstr ""
"B<fgetpwent>(3), B<getpw>(3), B<getpwent_r>(3), B<getpwnam>(3), B<getpwuid>"
"(3), B<putpwent>(3), B<passwd>(5)"

#. type: TH
#: build/C/man3/getpwent_r.3:23
#, no-wrap
msgid "GETPWENT_R"
msgstr "GETPWENT_R"

#. type: Plain text
#: build/C/man3/getpwent_r.3:26
msgid "getpwent_r, fgetpwent_r - get passwd file entry reentrantly"
msgstr ""
"getpwent_r, fgetpwent_r - パスワードファイルのエントリを リエントラントで取り"
"出す"

#. type: Plain text
#: build/C/man3/getpwent_r.3:29
#, no-wrap
msgid "B<#include E<lt>pwd.hE<gt>>\n"
msgstr "B<#include E<lt>pwd.hE<gt>>\n"

#. type: Plain text
#: build/C/man3/getpwent_r.3:31
#, no-wrap
msgid "B<int getpwent_r(struct passwd *>I<pwbuf>B<, char *>I<buf>B<,>\n"
msgstr "B<int getpwent_r(struct passwd *>I<pwbuf>B<, char *>I<buf>B<,>\n"

#. type: Plain text
#: build/C/man3/getpwent_r.3:33
#, no-wrap
msgid "B<               size_t >I<buflen>B<, struct passwd **>I<pwbufp>B<);>\n"
msgstr "B<               size_t >I<buflen>B<, struct passwd **>I<pwbufp>B<);>\n"

#. type: Plain text
#: build/C/man3/getpwent_r.3:35
#, no-wrap
msgid "B<int fgetpwent_r(FILE *>I<fp>B<, struct passwd *>I<pwbuf>B<, char *>I<buf>B<,>\n"
msgstr "B<int fgetpwent_r(FILE *>I<fp>B<, struct passwd *>I<pwbuf>B<, char *>I<buf>B<,>\n"

#. type: Plain text
#: build/C/man3/getpwent_r.3:37
#, no-wrap
msgid "B<                size_t >I<buflen>B<, struct passwd **>I<pwbufp>B<);>\n"
msgstr "B<                size_t >I<buflen>B<, struct passwd **>I<pwbufp>B<);>\n"

#. type: Plain text
#: build/C/man3/getpwent_r.3:46
msgid "B<getpwent_r>(), _BSD_SOURCE || _SVID_SOURCE"
msgstr "B<getpwent_r>(), _BSD_SOURCE || _SVID_SOURCE"

#. type: Plain text
#: build/C/man3/getpwent_r.3:49
msgid "B<fgetpwent_r>(): _SVID_SOURCE"
msgstr "B<fgetpwent_r>(): _SVID_SOURCE"

#. type: Plain text
#: build/C/man3/getpwent_r.3:62
msgid ""
"The functions B<getpwent_r>()  and B<fgetpwent_r>()  are the reentrant "
"versions of B<getpwent>(3)  and B<fgetpwent>(3).  The former reads the next "
"passwd entry from the stream initialized by B<setpwent>(3).  The latter "
"reads the next passwd entry from the stream I<fp>."
msgstr ""
"関数 B<getpwent_r>()  と B<fgetpwent_r>()  は B<getpwent>(3)  と B<fgetpwent>"
"(3)  のリエントラント (reentrant) 版である。 前者は、 B<setpwent>(3)  によっ"
"て初期化されたストリームから、次のパスワードエントリを読み込む。 後者は、スト"
"リーム I<fp> から次のパスワードエントリを読み込む。"

#. type: Plain text
#: build/C/man3/getpwent_r.3:78
#, no-wrap
msgid ""
"struct passwd {\n"
"    char    *pw_name;      /* username */\n"
"    char    *pw_passwd;    /* user password */\n"
"    uid_t    pw_uid;       /* user ID */\n"
"    gid_t    pw_gid;       /* group ID */\n"
"    char    *pw_gecos;     /* user information */\n"
"    char    *pw_dir;       /* home directory */\n"
"    char    *pw_shell;     /* shell program */\n"
"};\n"
msgstr ""
"struct passwd {\n"
"    char    *pw_name;      /* ユーザ名 */\n"
"    char    *pw_passwd;    /* ユーザのパスワード */\n"
"    uid_t    pw_uid;       /* ユーザ ID */\n"
"    gid_t    pw_gid;       /* グループ ID */\n"
"    char    *pw_gecos;     /* ユーザ情報 */\n"
"    char    *pw_dir;       /* ホームディレクトリ */\n"
"    char    *pw_shell;     /* シェルプログラム */\n"
"};\n"

#. type: Plain text
#: build/C/man3/getpwent_r.3:102
msgid ""
"The nonreentrant functions return a pointer to static storage, where this "
"static storage contains further pointers to user name, password, gecos "
"field, home directory and shell.  The reentrant functions described here "
"return all of that in caller-provided buffers.  First of all there is the "
"buffer I<pwbuf> that can hold a I<struct passwd>.  And next the buffer "
"I<buf> of size I<buflen> that can hold additional strings.  The result of "
"these functions, the I<struct passwd> read from the stream, is stored in the "
"provided buffer I<*pwbuf>, and a pointer to this I<struct passwd> is "
"returned in I<*pwbufp>."
msgstr ""
"リエントラントでない関数は静的な格納領域へのポインタを返す。 この静的な格納領"
"域には、更にユーザ名・パスワード・gecos フィールド・ ホームディレクトリ・シェ"
"ルへのポインタが含まれる。 ここで説明されているリエントラント版の関数は、 呼"
"び出し側から提供されるバッファにユーザ名など全てを返す。 最初の引き数として "
"I<struct passwd> を保持できるバッファ I<pwbuf> がある。 次にその他の文字列を"
"保持できるサイズ I<buflen> のバッファ I<buf> がある。 これらの関数の結果 (ス"
"トリームから読み込まれた I<struct passwd>) は、 提供されたバッファ I<*pwbuf> "
"に格納され、この I<struct passwd> へのポインタは I<*pwbufp> に返される。"

#. type: Plain text
#: build/C/man3/getpwent_r.3:109
msgid ""
"On success, these functions return 0 and I<*pwbufp> is a pointer to the "
"I<struct passwd>.  On error, these functions return an error value and "
"I<*pwbufp> is NULL."
msgstr ""
"成功した場合、これらの関数は 0 を返し、 I<*pwbufp> は I<struct passwd> へのポ"
"インタとなる。 エラーの場合、これらの関数はエラー値を返し、 I<*pwbufp> は "
"NULL になる。"

#. type: Plain text
#: build/C/man3/getpwent_r.3:127
#, no-wrap
msgid ""
"struct passwd *\n"
"getpwent_r(struct passwd *pwd, char *buf, int buflen);\n"
msgstr ""
"struct passwd *\n"
"getpwent_r(struct passwd *pwd, char *buf, int buflen);\n"

#. type: Plain text
#: build/C/man3/getpwent_r.3:137
#, no-wrap
msgid ""
"int\n"
"getpwent_r(struct passwd *pwd, char *buf, int buflen,\n"
"           FILE **pw_fp);\n"
msgstr ""
"int\n"
"getpwent_r(struct passwd *pwd, char *buf, int buflen,\n"
"           FILE **pw_fp);\n"

#. type: Plain text
#: build/C/man3/getpwent_r.3:144
msgid ""
"The function B<getpwent_r>()  is not really reentrant since it shares the "
"reading position in the stream with all other threads."
msgstr ""
"関数 B<getpwent_r>()  は本当のリエントラントではない。 なぜなら、ストリームの"
"読み込み位置を 他の全てのスレッドと共有しているためである。"

#. type: Plain text
#: build/C/man3/getpwent_r.3:150
#, no-wrap
msgid ""
"#define _GNU_SOURCE\n"
"#include E<lt>pwd.hE<gt>\n"
"#include E<lt>stdio.hE<gt>\n"
"#define BUFLEN 4096\n"
msgstr ""
"#define _GNU_SOURCE\n"
"#include E<lt>pwd.hE<gt>\n"
"#include E<lt>stdio.hE<gt>\n"
"#define BUFLEN 4096\n"

#. type: Plain text
#: build/C/man3/getpwent_r.3:157
#, no-wrap
msgid ""
"int\n"
"main(void)\n"
"{\n"
"    struct passwd pw, *pwp;\n"
"    char buf[BUFLEN];\n"
"    int i;\n"
msgstr ""
"int\n"
"main(void)\n"
"{\n"
"    struct passwd pw, *pwp;\n"
"    char buf[BUFLEN];\n"
"    int i;\n"

#. type: Plain text
#: build/C/man3/getpwent_r.3:169
#, no-wrap
msgid ""
"    setpwent();\n"
"    while (1) {\n"
"        i = getpwent_r(&pw, buf, BUFLEN, &pwp);\n"
"        if (i)\n"
"            break;\n"
"        printf(\"%s (%d)\\etHOME %s\\etSHELL %s\\en\", pwp-E<gt>pw_name,\n"
"               pwp-E<gt>pw_uid, pwp-E<gt>pw_dir, pwp-E<gt>pw_shell);\n"
"    }\n"
"    endpwent();\n"
"    exit(EXIT_SUCCESS);\n"
"}\n"
msgstr ""
"    setpwent();\n"
"    while (1) {\n"
"        i = getpwent_r(&pw, buf, BUFLEN, &pwp);\n"
"        if (i)\n"
"            break;\n"
"        printf(\"%s (%d)\\etHOME %s\\etSHELL %s\\en\", pwp-E<gt>pw_name,\n"
"               pwp-E<gt>pw_uid, pwp-E<gt>pw_dir, pwp-E<gt>pw_shell);\n"
"    }\n"
"    endpwent();\n"
"    exit(EXIT_SUCCESS);\n"
"}\n"

#. type: Plain text
#: build/C/man3/getpwent_r.3:187
msgid ""
"B<fgetpwent>(3), B<getpw>(3), B<getpwent>(3), B<getpwnam>(3), B<getpwuid>"
"(3), B<putpwent>(3), B<passwd>(5)"
msgstr ""
"B<fgetpwent>(3), B<getpw>(3), B<getpwent>(3), B<getpwnam>(3), B<getpwuid>"
"(3), B<putpwent>(3), B<passwd>(5)"

#. type: TH
#: build/C/man3/getpwnam.3:35
#, no-wrap
msgid "GETPWNAM"
msgstr "GETPWNAM"

#. type: Plain text
#: build/C/man3/getpwnam.3:38
msgid "getpwnam, getpwnam_r, getpwuid, getpwuid_r - get password file entry"
msgstr ""
"getpwnam, getpwnam_r, getpwuid, getpwuid_r - パスワードファイルのエントリの取"
"得"

#. type: Plain text
#: build/C/man3/getpwnam.3:44
#, no-wrap
msgid "B<struct passwd *getpwnam(const char *>I<name>B<);>\n"
msgstr "B<struct passwd *getpwnam(const char *>I<name>B<);>\n"

#. type: Plain text
#: build/C/man3/getpwnam.3:46
#, no-wrap
msgid "B<struct passwd *getpwuid(uid_t >I<uid>B<);>\n"
msgstr "B<struct passwd *getpwuid(uid_t >I<uid>B<);>\n"

#. type: Plain text
#: build/C/man3/getpwnam.3:48
#, no-wrap
msgid "B<int getpwnam_r(const char *>I<name>B<, struct passwd *>I<pwd>B<,>\n"
msgstr "B<int getpwnam_r(const char *>I<name>B<, struct passwd *>I<pwd>B<,>\n"

#. type: Plain text
#: build/C/man3/getpwnam.3:50 build/C/man3/getpwnam.3:54
#, no-wrap
msgid "B<            char *>I<buf>B<, size_t >I<buflen>B<, struct passwd **>I<result>B<);>\n"
msgstr "B<            char *>I<buf>B<, size_t >I<buflen>B<, struct passwd **>I<result>B<);>\n"

#. type: Plain text
#: build/C/man3/getpwnam.3:52
#, no-wrap
msgid "B<int getpwuid_r(uid_t >I<uid>B<, struct passwd *>I<pwd>B<,>\n"
msgstr "B<int getpwuid_r(uid_t >I<uid>B<, struct passwd *>I<pwd>B<,>\n"

#. type: Plain text
#: build/C/man3/getpwnam.3:64
msgid "B<getpwnam_r>(), B<getpwuid_r>():"
msgstr "B<getpwnam_r>(), B<getpwuid_r>():"

#. type: Plain text
#: build/C/man3/getpwnam.3:79
msgid ""
"The B<getpwnam>()  function returns a pointer to a structure containing the "
"broken-out fields of the record in the password database (e.g., the local "
"password file I</etc/passwd>, NIS, and LDAP)  that matches the username "
"I<name>."
msgstr ""
"B<getpwnam>()  関数は、ユーザ名 I<name> にマッチするパスワード・データベース"
"のエントリを 要素毎に分解し、各要素を格納した構造体へのポインタを返す (パス"
"ワード・データベースの例: ローカルのパスワードファイル I</etc/passwd>, NIS, "
"LDAP)。"

#. type: Plain text
#: build/C/man3/getpwnam.3:86
msgid ""
"The B<getpwuid>()  function returns a pointer to a structure containing the "
"broken-out fields of the record in the password database that matches the "
"user ID I<uid>."
msgstr ""
"B<getpwuid>()  関数は、ユーザ ID I<uid> にマッチするパスワード・データベース"
"のエントリを 要素毎に分解し、各要素を格納した構造体へのポインタを返す。"

#. type: Plain text
#: build/C/man3/getpwnam.3:106
msgid "See B<passwd>(5)  for more information about these fields."
msgstr "これらのフィールドの詳しい情報については B<passwd>(5) を参照のこと。"

#. type: Plain text
#: build/C/man3/getpwnam.3:128
msgid ""
"The B<getpwnam_r>()  and B<getpwuid_r>()  functions obtain the same "
"information as B<getpwnam>()  and B<getpwuid>(), but store the retrieved "
"I<passwd> structure in the space pointed to by I<pwd>.  The string fields "
"pointed to by the members of the I<passwd> structure are stored in the "
"buffer I<buf> of size I<buflen>.  A pointer to the result (in case of "
"success) or NULL (in case no entry was found or an error occurred) is stored "
"in I<*result>."
msgstr ""
"B<getpwnam_r>() と B<getpwuid_r>() 関数は、それぞれB<getpwnam>() と\n"
"B<getpwuid>() と同じ情報を取得するが、取得した I<passwd> 構造体を\n"
"I<pwd> が指す領域に格納する。I<passwd> 構造体のメンバーが指す文字列は、\n"
"サイズ I<buflen> のバッファ I<buf> に格納される。成功した場合\n"
"I<*result> には結果へのポインタが格納される。エントリが見つからなかった\n"
"場合やエラーが発生した場合には I<*result> には NULL が入る。"

#. type: Plain text
#: build/C/man3/getpwnam.3:132
#, no-wrap
msgid "    sysconf(_SC_GETPW_R_SIZE_MAX)\n"
msgstr "    sysconf(_SC_GETPW_R_SIZE_MAX)\n"

#. type: Plain text
#: build/C/man3/getpwnam.3:156
msgid ""
"The B<getpwnam>()  and B<getpwuid>()  functions return a pointer to a "
"I<passwd> structure, or NULL if the matching entry is not found or an error "
"occurs.  If an error occurs, I<errno> is set appropriately.  If one wants to "
"check I<errno> after the call, it should be set to zero before the call."
msgstr ""
"B<getpwnam>()  と B<getpwuid>()  関数は、 I<passwd> 構造体へのポインタを返"
"す。 一致するエントリが見つからなかった場合や、エラーが発生した場合は NULL を"
"返す。 エラーが起こった場合、 I<errno> が適切に設定される。 呼び出しの後で "
"I<errno> をチェックしたい場合は、 呼び出しの前に (この値を) 0 に設定しておく"
"べきである。"

#. type: Plain text
#: build/C/man3/getpwnam.3:165
msgid ""
"The return value may point to a static area, and may be overwritten by "
"subsequent calls to B<getpwent>(3), B<getpwnam>(), or B<getpwuid>().  (Do "
"not pass the returned pointer to B<free>(3).)"
msgstr ""
"返り値は静的な領域を指しており、その後の B<getpwent>(3), B<getpwnam>(), "
"B<getpwuid>()  の呼び出しで上書きされるかもしれない。 (返されたポインタを "
"B<free>(3)  に渡さないこと。)"

#. type: Plain text
#: build/C/man3/getpwnam.3:179
msgid ""
"On success, B<getpwnam_r>()  and B<getpwuid_r>()  return zero, and set "
"I<*result> to I<pwd>.  If no matching password record was found, these "
"functions return 0 and store NULL in I<*result>.  In case of error, an error "
"number is returned, and NULL is stored in I<*result>."
msgstr ""
"成功すると、 B<getpwnam_r>()  と B<getpwuid_r>()  は 0 を返し、 I<*result> "
"に I<pwd> を設定する。 マッチするパスワード・エントリが見つからなかった場合に"
"は、 0 を返し、 I<*result> に NULL を設定する。 エラーの場合、エラー番号を返"
"し、 I<*result> に NULL を設定する。"

#. type: Plain text
#: build/C/man3/getpwnam.3:187
msgid "The given I<name> or I<uid> was not found."
msgstr "指定された I<name> または I<uid> が見つからなかった。"

#.  more precisely:
#.  AIX 5.1 - gives ESRCH
#.  OSF1 4.0g - gives EWOULDBLOCK
#.  libc, glibc up to version 2.6, Irix 6.5 - give ENOENT
#.  glibc since version 2.7 - give 0
#.  FreeBSD 4.8, OpenBSD 3.2, NetBSD 1.6 - give EPERM
#.  SunOS 5.8 - gives EBADF
#.  Tru64 5.1b, HP-UX-11i, SunOS 5.7 - give 0
#. type: Plain text
#: build/C/man3/getpwnam.3:241
msgid ""
"The formulation given above under \"RETURN VALUE\" is from POSIX.1-2001.  It "
"does not call \"not found\" an error, and hence does not specify what value "
"I<errno> might have in this situation.  But that makes it impossible to "
"recognize errors.  One might argue that according to POSIX I<errno> should "
"be left unchanged if an entry is not found.  Experiments on various UNIX-"
"like systems show that lots of different values occur in this situation: 0, "
"ENOENT, EBADF, ESRCH, EWOULDBLOCK, EPERM and probably others."
msgstr ""
"上記の「返り値」以下の記述は POSIX.1-2001 に拠る。 この標準は「(エントリが) "
"見つからないこと」をエラーとしていないので、 そのような場合に I<errno> がどの"
"ような値になるかを定めていない。 そのため、エラーを認識することは不可能であ"
"る。 POSIX に準拠して、エントリが見つからない場合は I<errno> を変更しないよう"
"にすべきである、と主張する人もいるかもしれない。 様々な UNIX 系のシステムで試"
"してみると、そのような場合には 0, ENOENT, EBADF, ESRCH, EWOULDBLOCK, EPERM と"
"いった様々な値が返される。 他の値が返されるかもしれない。"

#. type: Plain text
#: build/C/man3/getpwnam.3:259
msgid ""
"The I<pw_dir> field contains the name of the initial working directory of "
"the user.  Login programs use the value of this field to initialize the "
"B<HOME> environment variable for the login shell.  An application that wants "
"to determine its user's home directory should inspect the value of B<HOME> "
"(rather than the value I<getpwuid(getuid())-E<gt>pw_dir>)  since this allows "
"the user to modify their notion of \"the home directory\" during a login "
"session.  To determine the (initial) home directory of another user, it is "
"necessary to use I<getpwnam(\"username\")-E<gt>pw_dir> or similar."
msgstr ""
"フィールド I<pw_dir> には、ユーザの作業ディレクトリ名の初期値が格納される。 "
"ログインプロセスは、このフィールドの値を使って、 ログインシェルの B<HOME> 環"
"境変数を初期化する。 アプリケーションが、ユーザのホーム・ディレクトリを決定す"
"る場合には、 (I<getpwuid(getuid())-E<gt>pw_dir> の値ではなく)  B<HOME> の値を"
"検査するようにすべきである。 なぜなら、このようにすることで、ユーザがログイ"
"ン・セッション中で 「ホーム・ディレクトリ」の意味を変更できるようになるからで"
"ある。 別のユーザのホーム・ディレクトリ (の初期値) を知るには I<getpwnam"
"(\"username\")-E<gt>pw_dir> か同様の方法を使う必要がある。"

#. type: Plain text
#: build/C/man3/getpwnam.3:264
msgid ""
"The program below demonstrates the use of B<getpwnam_r>()  to find the full "
"username and user ID for the username supplied as a command-line argument."
msgstr ""
"以下のプログラムは B<getpwnam_r>()  の使用例を示したもので、コマンドライン引"
"き数で渡されたユーザ名に対する 完全なユーザ名とユーザ ID を探すものである。"

#. type: Plain text
#: build/C/man3/getpwnam.3:271
#, no-wrap
msgid ""
"#include E<lt>pwd.hE<gt>\n"
"#include E<lt>stdio.hE<gt>\n"
"#include E<lt>stdlib.hE<gt>\n"
"#include E<lt>unistd.hE<gt>\n"
"#include E<lt>errno.hE<gt>\n"
msgstr ""
"#include E<lt>pwd.hE<gt>\n"
"#include E<lt>stdio.hE<gt>\n"
"#include E<lt>stdlib.hE<gt>\n"
"#include E<lt>unistd.hE<gt>\n"
"#include E<lt>errno.hE<gt>\n"

#. type: Plain text
#: build/C/man3/getpwnam.3:280
#, no-wrap
msgid ""
"int\n"
"main(int argc, char *argv[])\n"
"{\n"
"    struct passwd pwd;\n"
"    struct passwd *result;\n"
"    char *buf;\n"
"    size_t bufsize;\n"
"    int s;\n"
msgstr ""
"int\n"
"main(int argc, char *argv[])\n"
"{\n"
"    struct passwd pwd;\n"
"    struct passwd *result;\n"
"    char *buf;\n"
"    size_t bufsize;\n"
"    int s;\n"

#. type: Plain text
#: build/C/man3/getpwnam.3:285
#, no-wrap
msgid ""
"    if (argc != 2) {\n"
"        fprintf(stderr, \"Usage: %s username\\en\", argv[0]);\n"
"        exit(EXIT_FAILURE);\n"
"    }\n"
msgstr ""
"    if (argc != 2) {\n"
"        fprintf(stderr, \"Usage: %s username\\en\", argv[0]);\n"
"        exit(EXIT_FAILURE);\n"
"    }\n"

#. type: Plain text
#: build/C/man3/getpwnam.3:289
#, no-wrap
msgid ""
"    bufsize = sysconf(_SC_GETPW_R_SIZE_MAX);\n"
"    if (bufsize == -1)          /* Value was indeterminate */\n"
"        bufsize = 16384;        /* Should be more than enough */\n"
msgstr ""
"    bufsize = sysconf(_SC_GETPW_R_SIZE_MAX);\n"
"    if (bufsize == -1)          /* 値を決定できなかった */\n"
"        bufsize = 16384;        /* 十分大きな値にすべき */\n"

#. type: Plain text
#: build/C/man3/getpwnam.3:295
#, no-wrap
msgid ""
"    buf = malloc(bufsize);\n"
"    if (buf == NULL) {\n"
"        perror(\"malloc\");\n"
"        exit(EXIT_FAILURE);\n"
"    }\n"
msgstr ""
"    buf = malloc(bufsize);\n"
"    if (buf == NULL) {\n"
"        perror(\"malloc\");\n"
"        exit(EXIT_FAILURE);\n"
"    }\n"

#. type: Plain text
#: build/C/man3/getpwnam.3:306
#, no-wrap
msgid ""
"    s = getpwnam_r(argv[1], &pwd, buf, bufsize, &result);\n"
"    if (result == NULL) {\n"
"        if (s == 0)\n"
"            printf(\"Not found\\en\");\n"
"        else {\n"
"            errno = s;\n"
"            perror(\"getpwnam_r\");\n"
"        }\n"
"        exit(EXIT_FAILURE);\n"
"    }\n"
msgstr ""
"    s = getpwnam_r(argv[1], &pwd, buf, bufsize, &result);\n"
"    if (result == NULL) {\n"
"        if (s == 0)\n"
"            printf(\"Not found\\en\");\n"
"        else {\n"
"            errno = s;\n"
"            perror(\"getpwnam_r\");\n"
"        }\n"
"        exit(EXIT_FAILURE);\n"
"    }\n"

#. type: Plain text
#: build/C/man3/getpwnam.3:310
#, no-wrap
msgid ""
"    printf(\"Name: %s; UID: %ld\\en\", pwd.pw_gecos, (long) pwd.pw_uid);\n"
"    exit(EXIT_SUCCESS);\n"
"}\n"
msgstr ""
"    printf(\"Name: %s; UID: %ld\\en\", pwd.pw_gecos, (long) pwd.pw_uid);\n"
"    exit(EXIT_SUCCESS);\n"
"}\n"

#. type: Plain text
#: build/C/man3/getpwnam.3:321
msgid ""
"B<endpwent>(3), B<fgetpwent>(3), B<getgrnam>(3), B<getpw>(3), B<getpwent>"
"(3), B<getspnam>(3), B<putpwent>(3), B<setpwent>(3), B<passwd>(5)"
msgstr ""
"B<endpwent>(3), B<fgetpwent>(3), B<getgrnam>(3), B<getpw>(3), B<getpwent>"
"(3), B<getspnam>(3), B<putpwent>(3), B<setpwent>(3), B<passwd>(5)"

#. type: TH
#: build/C/man3/getspnam.3:6
#, no-wrap
msgid "GETSPNAM"
msgstr "GETSPNAM"

#. type: TH
#: build/C/man3/getspnam.3:6
#, no-wrap
msgid "2010-02-25"
msgstr "2010-02-25"

#. type: Plain text
#: build/C/man3/getspnam.3:11
msgid ""
"getspnam, getspnam_r, getspent, getspent_r, setspent, endspent, fgetspent, "
"fgetspent_r, sgetspent, sgetspent_r, putspent, lckpwdf, ulckpwdf - get "
"shadow password file entry"
msgstr ""
"getspnam, getspnam_r, getspent, getspent_r, setspent, endspent,fgetspent, "
"fgetspent_r, sgetspent, sgetspent_r, putspent, lckpwdf, ulckpwdf - shadow パ"
"スワードファイルのエントリを取得する"

#. type: Plain text
#: build/C/man3/getspnam.3:14
#, no-wrap
msgid "/* General shadow password file API */\n"
msgstr "/* 一般的な shadow パスワードファイル API */\n"

#. type: Plain text
#: build/C/man3/getspnam.3:16 build/C/man3/getspnam.3:38
#, no-wrap
msgid "B<#include E<lt>shadow.hE<gt>>\n"
msgstr "B<#include E<lt>shadow.hE<gt>>\n"

#. type: Plain text
#: build/C/man3/getspnam.3:18
#, no-wrap
msgid "B<struct spwd *getspnam(const char *>I<name>B<);>\n"
msgstr "B<struct spwd *getspnam(const char *>I<name>B<);>\n"

#. type: Plain text
#: build/C/man3/getspnam.3:20
#, no-wrap
msgid "B<struct spwd *getspent(void);>\n"
msgstr "B<struct spwd *getspent(void);>\n"

#. type: Plain text
#: build/C/man3/getspnam.3:22
#, no-wrap
msgid "B<void setspent(void);>\n"
msgstr "B<void setspent(void);>\n"

#. type: Plain text
#: build/C/man3/getspnam.3:24
#, no-wrap
msgid "B<void endspent(void);>\n"
msgstr "B<void endspent(void);>\n"

#. type: Plain text
#: build/C/man3/getspnam.3:26
#, no-wrap
msgid "B<struct spwd *fgetspent(FILE *>I<fp>B<);>\n"
msgstr "B<struct spwd *fgetspent(FILE *>I<fp>B<);>\n"

#. type: Plain text
#: build/C/man3/getspnam.3:28
#, no-wrap
msgid "B<struct spwd *sgetspent(const char *>I<s>B<);>\n"
msgstr "B<struct spwd *sgetspent(const char *>I<s>B<);>\n"

#. type: Plain text
#: build/C/man3/getspnam.3:30
#, no-wrap
msgid "B<int putspent(struct spwd *>I<p>B<, FILE *>I<fp>B<);>\n"
msgstr "B<int putspent(struct spwd *>I<p>B<, FILE *>I<fp>B<);>\n"

#. type: Plain text
#: build/C/man3/getspnam.3:32
#, no-wrap
msgid "B<int lckpwdf(void);>\n"
msgstr "B<int lckpwdf(void);>\n"

#. type: Plain text
#: build/C/man3/getspnam.3:34
#, no-wrap
msgid "B<int ulckpwdf(void);>\n"
msgstr "B<int ulckpwdf(void);>\n"

#. type: Plain text
#: build/C/man3/getspnam.3:36
#, no-wrap
msgid "/* GNU extension */\n"
msgstr "/* GNU 版における拡張 */\n"

#. type: Plain text
#: build/C/man3/getspnam.3:40
#, no-wrap
msgid "B<int getspent_r(struct spwd *>I<spbuf>B<,>\n"
msgstr "B<int getspent_r(struct spwd *>I<spbuf>B<,>\n"

#. type: Plain text
#: build/C/man3/getspnam.3:42 build/C/man3/getspnam.3:46
#: build/C/man3/getspnam.3:50 build/C/man3/getspnam.3:54
#, no-wrap
msgid "B<        char *>I<buf>B<, size_t >I<buflen>B<, struct spwd **>I<spbufp>B<);>\n"
msgstr "B<        char *>I<buf>B<, size_t >I<buflen>B<, struct spwd **>I<spbufp>B<);>\n"

#. type: Plain text
#: build/C/man3/getspnam.3:44
#, no-wrap
msgid "B<int getspnam_r(const char *>I<name>B<, struct spwd *>I<spbuf>B<,>\n"
msgstr "B<int getspnam_r(const char *>I<name>B<, struct spwd *>I<spbuf>B<,>\n"

#. type: Plain text
#: build/C/man3/getspnam.3:48
#, no-wrap
msgid "B<int fgetspent_r(FILE *>I<fp>B<, struct spwd *>I<spbuf>B<,>\n"
msgstr "B<int fgetspent_r(FILE *>I<fp>B<, struct spwd *>I<spbuf>B<,>\n"

#. type: Plain text
#: build/C/man3/getspnam.3:52
#, no-wrap
msgid "B<int sgetspent_r(const char *>I<s>B<, struct spwd *>I<spbuf>B<,>\n"
msgstr "B<int sgetspent_r(const char *>I<s>B<, struct spwd *>I<spbuf>B<,>\n"

#. type: Plain text
#: build/C/man3/getspnam.3:66
msgid "B<getspent_r>(), B<getspnam_r>(), B<fgetspent_r>(), B<sgetspent_r>():"
msgstr "B<getspent_r>(), B<getspnam_r>(), B<fgetspent_r>(), B<sgetspent_r>():"

#. type: Plain text
#: build/C/man3/getspnam.3:68
msgid "_BSD_SOURCE || _SVID_SOURCE"
msgstr "_BSD_SOURCE || _SVID_SOURCE"

#. type: Plain text
#: build/C/man3/getspnam.3:82
msgid ""
"Long ago it was considered safe to have encrypted passwords openly visible "
"in the password file.  When computers got faster and people got more "
"security-conscious, this was no longer acceptable.  Julianne Frances Haugh "
"implemented the shadow password suite that keeps the encrypted passwords in "
"the shadow password database (e.g., the local shadow password file I</etc/"
"shadow>, NIS, and LDAP), readable only by root."
msgstr ""
"昔は暗号化されたパスワードをパスワードファイルに 見えるように公開しておいても"
"安全だと考えられていた。 Julianne Frances Haugh は shadow パスワード・スイー"
"トを実装した。 これは暗号化されたパスワードを、root のみが読むことができる "
"shadow パスワード・データベース (例えば、 ローカルの shadow パスワードファイ"
"ル I</etc/shadow>, NIS, LDAP)  に保持する。"

#.  FIXME I've commented out the following for the
#.  moment.  The relationship between PAM and nsswitch.conf needs
#.  to be clearly documented in one place, which is pointed to by
#.  the pages for the user, group, and shadow password functions.
#.  (Jul 2005, mtk)
#.  This shadow password setup has been superseded by PAM
#.  (pluggable authentication modules), and the file
#.  .I /etc/nsswitch.conf
#.  now describes the sources to be used.
#. type: Plain text
#: build/C/man3/getspnam.3:99
msgid ""
"The functions described below resemble those for the traditional password "
"database (e.g., see B<getpwnam>(3)  and B<getpwent>(3))."
msgstr ""
"以下で説明する関数は、伝統的なパスワード・データベースに対する 関数に似てい"
"る (例えば B<getpwnam>(3)  や B<getpwent>(3)  を参照)。"

#. type: Plain text
#: build/C/man3/getspnam.3:106
msgid ""
"The B<getspnam>()  function returns a pointer to a structure containing the "
"broken-out fields of the record in the shadow password database that matches "
"the username I<name>."
msgstr ""
"B<getspnam>()  関数は、ユーザ名 I<name> にマッチする shadow パスワード・デー"
"タベースのエントリを 要素毎に分解し、各要素を格納した構造体へのポインタを返"
"す。"

#.  some systems require a call of setspent() before the first getspent()
#.  glibc does not
#. type: Plain text
#: build/C/man3/getspnam.3:118
msgid ""
"The B<getspent>()  function returns a pointer to the next entry in the "
"shadow password database.  The position in the input stream is initialized "
"by B<setspent>().  When done reading, the program may call B<endspent>()  so "
"that resources can be deallocated."
msgstr ""
"B<getspent>()  関数は shadow パスワード・データベースにおける次のエントリへの"
"ポインタを返す。 入力ストリームにおける位置は、 B<setspent>()  で初期化され"
"る。 読み込みが終わった後に、 B<endspent>()  を呼び出すと、リソースを解放でき"
"る。"

#. type: Plain text
#: build/C/man3/getspnam.3:125
msgid ""
"The B<fgetspent>()  function is similar to B<getspent>()  but uses the "
"supplied stream instead of the one implicitly opened by B<setspent>()."
msgstr ""
"B<fgetspent>()  関数は B<getspent>()  に似ているが、 B<setspent>()  で暗黙の"
"うちにオープンされるストリームではなく、与えられたストリームを使う。"

#. type: Plain text
#: build/C/man3/getspnam.3:132
msgid ""
"The B<sgetspent>()  function parses the supplied string I<s> into a struct "
"I<spwd>."
msgstr ""
"B<sgetspent>()  関数は与えられた文字列 I<s> を解析し struct I<spwd> に格納す"
"る。"

#. type: Plain text
#: build/C/man3/getspnam.3:142
msgid ""
"The B<putspent>()  function writes the contents of the supplied struct "
"I<spwd> I<*p> as a text line in the shadow password file format to the "
"stream I<fp>.  String entries with value NULL and numerical entries with "
"value -1 are written as an empty string."
msgstr ""
"B<putspent>()  関数は与えられた struct I<spwd> I<*p> の内容を shadow パスワー"
"ドファイル形式のテキスト行でストリーム I<fp> に書き出す。 空文字列として、 値"
"が NULL の文字列エントリと値が -1 の数値エントリが 書き出される。"

#. type: Plain text
#: build/C/man3/getspnam.3:157
msgid ""
"The B<lckpwdf>()  function is intended to protect against multiple "
"simultaneous accesses of the shadow password database.  It tries to acquire "
"a lock, and returns 0 on success, or -1 on failure (lock not obtained within "
"15 seconds).  The B<ulckpwdf>()  function releases the lock again.  Note "
"that there is no protection against direct access of the shadow password "
"file.  Only programs that use B<lckpwdf>()  will notice the lock."
msgstr ""
"B<lckpwdf>()  関数は、 shadow パスワード・データベースを 多重同時アクセスから"
"守るためのものである。 この関数はロックの獲得を試み、 成功した場合は 0 を返"
"す。 失敗した場合 (15 秒以内にロックが取得できなかった場合) は -1 を返す。 "
"B<ulckpwdf>()  関数はロックを再び解放する。 shadow パスワードファイルへの直接"
"アクセスから 保護する手段がない点に注意すること。 B<lckpwdf>()  を使うプログ"
"ラムだけがロックを通知できる。"

#.  Also in libc5
#.  SUN doesn't have sgetspent()
#. type: Plain text
#: build/C/man3/getspnam.3:162
msgid ""
"These were the functions that formed the original shadow API.  They are "
"widely available."
msgstr ""
"これらの関数はオリジナルの shadow API を構成していた関数であり、 いろいろなシ"
"ステムで広く利用可能である。"

#. type: SS
#: build/C/man3/getspnam.3:162
#, no-wrap
msgid "Reentrant versions"
msgstr "リエントラント版"

#. type: Plain text
#: build/C/man3/getspnam.3:179
msgid ""
"Analogous to the reentrant functions for the password database, glibc also "
"has reentrant functions for the shadow password database.  The B<getspnam_r>"
"()  function is like B<getspnam>()  but stores the retrieved shadow password "
"structure in the space pointed to by I<spbuf>.  This shadow password "
"structure contains pointers to strings, and these strings are stored in the "
"buffer I<buf> of size I<buflen>.  A pointer to the result (in case of "
"success) or NULL (in case no entry was found or an error occurred) is stored "
"in I<*spbufp>."
msgstr ""
"パスワード・データベースに対するリエントラント版と同じように、 glibc には "
"shadow パスワードファイルに対してリエントラント版がある。 B<getspnam_r>()  関"
"数は B<getspnam>()  と似ているが、取得した shadow パスワード構造体を "
"I<spbuf> が指す領域に格納する。 shadow パスワード構造体は文字列群へのポインタ"
"を含み、 これらの文字列群はサイズ I<buflen> のバッファ I<buf> に格納される。 "
"I<*spbufp> には (成功した場合は) 結果へのポインタが格納され、 (エントリが見つ"
"からなかった場合またはエラーが起こった場合は)  NULL が格納される。"

#. type: Plain text
#: build/C/man3/getspnam.3:186
msgid ""
"The functions B<getspent_r>(), B<fgetspent_r>(), and B<sgetspent_r>()  are "
"similarly analogous to their nonreentrant counterparts."
msgstr ""
"関数 B<getspent_r>(), B<fgetspent_r>(), B<sgetspent_r>()  はそれぞれリエント"
"ラントでないバージョンと同様の機能を持つ。"

#.  SUN doesn't have sgetspent_r()
#. type: Plain text
#: build/C/man3/getspnam.3:190
msgid ""
"Some non-glibc systems also have functions with these names, often with "
"different prototypes."
msgstr ""
"glibc でないシステムにもこれらと同じ名前の関数があるが、 プロトタイプが異なる"
"ことも多い。"

#. type: SS
#: build/C/man3/getspnam.3:190
#, no-wrap
msgid "Structure"
msgstr "構造体"

#. type: Plain text
#: build/C/man3/getspnam.3:192
msgid ""
"The shadow password structure is defined in I<E<lt>shadow.hE<gt>> as follows:"
msgstr ""
"shadow パスワード構造体は I<E<lt>shadow.hE<gt>> で以下のように定義されている:"

#. type: Plain text
#: build/C/man3/getspnam.3:210
#, no-wrap
msgid ""
"struct spwd {\n"
"    char *sp_namp;     /* Login name */\n"
"    char *sp_pwdp;     /* Encrypted password */\n"
"    long  sp_lstchg;   /* Date of last change (measured\n"
"                          in days since 1970-01-01 00:00:00 +0000 (UTC)) */\n"
"    long  sp_min;      /* Min # of days between changes */\n"
"    long  sp_max;      /* Max # of days between changes */\n"
"    long  sp_warn;     /* # of days before password expires\n"
"                          to warn user to change it */\n"
"    long  sp_inact;    /* # of days after password expires\n"
"                          until account is disabled */\n"
"    long  sp_expire;   /* Date when account expires (measured\n"
"                          in days since 1970-01-01 00:00:00 +0000 (UTC)) */\n"
"    unsigned long sp_flag;  /* Reserved */\n"
"};\n"
msgstr ""
"struct spwd {\n"
"    char *sp_namp;     /* ログイン名 */\n"
"    char *sp_pwdp;     /* 暗号化されたパスワード */\n"
"    long  sp_lstchg;   /* 最終更新日\n"
"                          (1970-01-01 00:00:00 +0000 (UTC)) からの日数) */\n"
"    long  sp_min;      /* 変更が出来るようになるまでの最短日数 */\n"
"    long  sp_max;      /* 変更をしなくてもよい最長日数 */\n"
"    long  sp_warn;     /* パスワードが期限切れになる前に\n"
"                          ユーザに変更の警告を出す日数 */\n"
"    long  sp_inact;    /* パスワードが期限切れになってから\n"
"                          アカウントが無効になるまでの日数 */\n"
"    long  sp_expire;   /* アカウントが無効になる日付\n"
"                          (1970-01-01 00:00:00 +0000 (UTC)) からの日数) */\n"
"    unsigned long sp_flag;  /* 予約フィールド */\n"
"};\n"

#. type: Plain text
#: build/C/man3/getspnam.3:217
msgid ""
"The functions that return a pointer return NULL if no more entries are "
"available or if an error occurs during processing.  The functions which have "
"I<int> as the return value return 0 for success and -1 for failure."
msgstr ""
"ポインタを返す関数は、これ以上エントリがない場合や 処理中にエラーが発生した場"
"合 NULL を返す。 I<int> を返り値として持つ関数は、 成功した場合 0 を返し、失"
"敗した場合 -1 を返す。"

#. type: Plain text
#: build/C/man3/getspnam.3:220
msgid ""
"For the nonreentrant functions, the return value may point to static area, "
"and may be overwritten by subsequent calls to these functions."
msgstr ""
"リエントラント版でない関数では、返り値が静的な領域を指しており、 引き続いてこ"
"れらの関数を呼び出した場合に上書きされる可能性がある。"

#. type: Plain text
#: build/C/man3/getspnam.3:223
msgid ""
"The reentrant functions return zero on success.  In case of error, an error "
"number is returned."
msgstr ""
"リエントラント版の関数は、成功した場合に 0 を返す。 エラーの場合は、エラー番"
"号が返される。"

#. type: Plain text
#: build/C/man3/getspnam.3:227
msgid "Supplied buffer is too small."
msgstr "与えられたバッファが小さすぎる。"

#. type: TP
#: build/C/man3/getspnam.3:228
#, no-wrap
msgid "I</etc/shadow>"
msgstr "I</etc/shadow>"

#. type: Plain text
#: build/C/man3/getspnam.3:231
msgid "local shadow password database file"
msgstr "ローカルの shadow パスワード・データベースファイル"

#. type: TP
#: build/C/man3/getspnam.3:231
#, no-wrap
msgid "I</etc/.pwd.lock>"
msgstr "I</etc/.pwd.lock>"

#. type: Plain text
#: build/C/man3/getspnam.3:234
msgid "lock file"
msgstr "ロックファイル"

#. type: Plain text
#: build/C/man3/getspnam.3:240
msgid ""
"The include file I<E<lt>paths.hE<gt>> defines the constant B<_PATH_SHADOW> "
"to the pathname of the shadow password file."
msgstr ""
"インクルードファイル I<E<lt>paths.hE<gt>> は定数 B<_PATH_SHADOW> を定義してい"
"る。 これは shadow パスワードファイルのパス名である。"

#. type: Plain text
#: build/C/man3/getspnam.3:244
msgid ""
"The shadow password database and its associated API are not specified in "
"POSIX.1-2001.  However, many other systems provide a similar API."
msgstr ""
"shadow パスワード・データベースと関連 API は POSIX.1-2001 には記載されていな"
"い。しかしながら、多くの他のシステムでも 同様の API が提供されている。"

#. type: Plain text
#: build/C/man3/getspnam.3:249
msgid "B<getgrnam>(3), B<getpwnam>(3), B<getpwnam_r>(3), B<shadow>(5)"
msgstr "B<getgrnam>(3), B<getpwnam>(3), B<getpwnam_r>(3), B<shadow>(5)"

#. type: TH
#: build/C/man5/group.5:25
#, no-wrap
msgid "GROUP"
msgstr "GROUP"

#. type: Plain text
#: build/C/man5/group.5:28
msgid "group - user group file"
msgstr "group - ユーザーグループのファイル"

#. type: Plain text
#: build/C/man5/group.5:33
msgid ""
"The I</etc/group> file is a text file that defines the groups on the "
"system.  There is one entry per line, with the following format:"
msgstr ""
"I</etc/group> ファイルは、そのシステムのグループを定義するテキスト\n"
"ファイルである。 1 行に 1 エントリで、各行の形式は以下のとおりである。"

#. type: Plain text
#: build/C/man5/group.5:36
msgid "group_name:password:GID:user_list"
msgstr "group_name:password:GID:user_list"

#. type: Plain text
#: build/C/man5/group.5:39
msgid "The fields are as follows:"
msgstr "各フィールドは以下の通りである:"

#. type: TP
#: build/C/man5/group.5:39
#, no-wrap
msgid "I<group_name>"
msgstr "I<group_name>"

#. type: Plain text
#: build/C/man5/group.5:42
msgid "the name of the group."
msgstr "グループの名前。"

#. type: TP
#: build/C/man5/group.5:42 build/C/man5/passwd.5:75
#, no-wrap
msgid "I<password>"
msgstr "I<password>"

#. type: Plain text
#: build/C/man5/group.5:46
msgid ""
"the (encrypted) group password.  If this field is empty, no password is "
"needed."
msgstr ""
"(暗号化された) パスワード。このフィールドが空ならパスワードは必要ない。"

#. type: TP
#: build/C/man5/group.5:46 build/C/man5/passwd.5:84
#, no-wrap
msgid "I<GID>"
msgstr "I<GID>"

#. type: Plain text
#: build/C/man5/group.5:49
msgid "the numeric group ID."
msgstr "グループ ID 番号。"

#. type: TP
#: build/C/man5/group.5:49
#, no-wrap
msgid "I<user_list>"
msgstr "I<user_list>"

#. type: Plain text
#: build/C/man5/group.5:52
msgid ""
"a list of the usernames that are members of this group, separated by commas."
msgstr ""
"このグループのメンバーのユーザー名のリスト。 ユーザー名はコンマで区切られる。"

#. type: Plain text
#: build/C/man5/group.5:54
msgid "/etc/group"
msgstr "/etc/group"

#. type: Plain text
#: build/C/man5/group.5:60
msgid ""
"As the 4.2BSD B<initgroups>(3)  man page says: No-one seems to keep I</etc/"
"group> up-to-date."
msgstr ""
"4.2BSD の B<initgroups>(3)  には次のように書かれている: 誰も I</etc/group> を"
"最新の状態に保ってはいないようである。"

#. type: Plain text
#: build/C/man5/group.5:66
msgid "B<login>(1), B<newgrp>(1), B<getgrent>(3), B<getgrnam>(3), B<passwd>(5)"
msgstr ""
"B<login>(1), B<newgrp>(1), B<getgrent>(3), B<getgrnam>(3), B<passwd>(5)"

#. type: TH
#: build/C/man3/initgroups.3:30
#, no-wrap
msgid "INITGROUPS"
msgstr "INITGROUPS"

#. type: TH
#: build/C/man3/initgroups.3:30 build/C/man3/putpwent.3:28
#, no-wrap
msgid "2007-07-26"
msgstr "2007-07-26"

#. type: Plain text
#: build/C/man3/initgroups.3:33
msgid "initgroups - initialize the supplementary group access list"
msgstr "initgroups - 追加のグループアクセスリストの初期化"

#. type: Plain text
#: build/C/man3/initgroups.3:39
#, no-wrap
msgid "B<int initgroups(const char *>I<user>B<, gid_t >I<group>B<);>\n"
msgstr "B<int initgroups(const char *>I<user>B<, gid_t >I<group>B<);>\n"

#. type: Plain text
#: build/C/man3/initgroups.3:48
msgid "B<initgroups>(): _BSD_SOURCE"
msgstr "B<initgroups>(): _BSD_SOURCE"

#. type: Plain text
#: build/C/man3/initgroups.3:56
msgid ""
"The B<initgroups>()  function initializes the group access list by reading "
"the group database I</etc/group> and using all groups of which I<user> is a "
"member.  The additional group I<group> is also added to the list."
msgstr ""
"B<initgroups>()  関数はグループデータベース I</etc/group> を読み 込んで、"
"I<user> が所属している全てのグループを使って、グループアク セスリストを初期化"
"する。さらに、I<group> に示されるグループもグルー プアクセスリストに追加され"
"る。"

#. type: Plain text
#: build/C/man3/initgroups.3:60
msgid "The I<user> argument must be non-NULL."
msgstr "I<user> 引数は NULL であってはならない。"

#. type: Plain text
#: build/C/man3/initgroups.3:67
msgid ""
"The B<initgroups>()  function returns 0 on success.  On error, -1 is "
"returned, and I<errno> is set appropriately."
msgstr ""
"B<initgroups>()  関数は、成功すると 0 を返す。 エラーの場合は -1 を返し、 "
"I<errno> を適切に設定する。"

#. type: Plain text
#: build/C/man3/initgroups.3:71
msgid "Insufficient memory to allocate group information structure."
msgstr "グループ情報構造体を配置するためのメモリが不足している。"

#. type: TP
#: build/C/man3/initgroups.3:71
#, no-wrap
msgid "B<EPERM>"
msgstr "B<EPERM>"

#. type: Plain text
#: build/C/man3/initgroups.3:76
msgid ""
"The calling process has insufficient privilege.  See the underlying system "
"call B<setgroups>(2)."
msgstr ""
"呼出しプロセスが十分な特権を持っていない。 この関数の裏で実行されるシステム"
"コール B<setgroups>(2)  も参照のこと。"

#. type: Plain text
#: build/C/man3/initgroups.3:79
#, no-wrap
msgid "I</etc/group>\t\tgroup database file\n"
msgstr "I</etc/group>\t\tグループデータベースファイル\n"

#. type: Plain text
#: build/C/man3/initgroups.3:82
msgid "SVr4, 4.3BSD."
msgstr "SVr4, 4.3BSD."

#. type: Plain text
#: build/C/man3/initgroups.3:86
msgid "B<getgroups>(2), B<setgroups>(2), B<credentials>(7)"
msgstr "B<getgroups>(2), B<setgroups>(2), B<credentials>(7)"

#. type: TH
#: build/C/man5/passwd.5:29
#, no-wrap
msgid "PASSWD"
msgstr "PASSWD"

#. type: TH
#: build/C/man5/passwd.5:29
#, no-wrap
msgid "2012-02-14"
msgstr "2012-02-14"

#. type: Plain text
#: build/C/man5/passwd.5:32
msgid "passwd - password file"
msgstr "passwd - パスワードファイル"

#. type: Plain text
#: build/C/man5/passwd.5:40
msgid ""
"The I</etc/passwd> file is a text file that describes user login accounts "
"for the system.  It should have read permission allowed for all users (many "
"utilities, like B<ls>(1)  use it to map user IDs to usernames), but write "
"access only for the superuser."
msgstr ""
"I</etc/passwd> ファイルは、そのシステムのユーザのログインアカウントリス\n"
"トを記述したテキストファイルである。パスワードファイルの読み出し許可は\n"
"全ユーザーに対して与えるが(I<ls>(1) 等の多くのユーティリティではユーザー\n"
"ID をユーザー名に 対応させるのに B<passwd> ファイルを使用する)、書き込\n"
"み許可はスーパーユーザーにのみ与えるようにすべきである。"

#. type: Plain text
#: build/C/man5/passwd.5:52
msgid ""
"In the good old days there was no great problem with this general read "
"permission.  Everybody could read the encrypted passwords, but the hardware "
"was too slow to crack a well-chosen password, and moreover the basic "
"assumption used to be that of a friendly user-community.  These days many "
"people run some version of the shadow password suite, where I</etc/passwd> "
"has an \\(aqx\\(aq character in the password field, and the encrypted "
"passwords are in I</etc/shadow>, which is readable by the superuser only."
msgstr ""
"古き良き時代には、この全ユーザーに対する読み取り許可は 特別な問題を起こ\n"
"さなかった。誰でも暗号化されたパスワードを 読むことが出来たが、上手に選\n"
"ばれたパスワードを破るのには 当時のハードウェアの速度はあまりに遅かった\n"
"し、それに加えて 友好的なユーザー社会であることを基本的な前提としていた。\n"
"最近では多くの人が、何らかのバージョンの shadow password suite\n"
"(シャドウ・パスワード機能を実現するためのプログラム群) を動かしている。\n"
"その場合 I</etc/passwd> ファイルのパスワード欄には\n"
"\\(aqx\\(aq 文字が設定され、暗号化されたパスワードは\n"
"I</etc/shadow> ファイルに保持される。 I</etc/shadow> ファイルはスーパー\n"
"ユーザーだけが読み出すことができる。"

#. type: Plain text
#: build/C/man5/passwd.5:58
msgid ""
"Regardless of whether shadow passwords are used, many system administrators "
"use an asterisk (*) in the encrypted password field to make sure that this "
"user can not authenticate him- or herself using a password.  (But see NOTES "
"below.)"
msgstr ""
"shadow password が使われているかどうかにはよらず、多くのシステム管理者は、\n"
"暗号化パスワード欄にアスタリスク (*) を設定することで、そのユーザーが\n"
"パスワードでの認証が受けられないようにしている (下記の「注意」の項を参照)。"

#. type: Plain text
#: build/C/man5/passwd.5:63
msgid ""
"If you create a new login, first put an asterisk (*) in the password field, "
"then use B<passwd>(1)  to set it."
msgstr ""
"新しいユーザーを登録する場合には、パスワード欄にアスタリスク (*) を設定してお"
"き、\n"
"B<passwd>(1) コマンドにより設定を行うようにすること。"

#. type: Plain text
#: build/C/man5/passwd.5:65
msgid ""
"Each line of the file describes a single user, and has the following format:"
msgstr "ファイルの 1 行が 1 ユーザの情報を表し、書式は以下の通りである。"

#. type: Plain text
#: build/C/man5/passwd.5:68
msgid "account:password:UID:GID:GECOS:directory:shell"
msgstr "account:password:UID:GID:GECOS:directory:shell"

#. type: Plain text
#: build/C/man5/passwd.5:71
msgid "The field are as follows:"
msgstr "各フィールドは以下の通りである:"

#. type: TP
#: build/C/man5/passwd.5:71
#, no-wrap
msgid "I<account>"
msgstr "I<account>"

#. type: Plain text
#: build/C/man5/passwd.5:75
msgid ""
"the name of the user on the system.  It should not contain capital letters."
msgstr "そのシステムでのユーザー名。大文字を含まないようにする。"

#. type: Plain text
#: build/C/man5/passwd.5:81
msgid ""
"the encrypted user password, an asterisk (*), or the letter \\(aqx\\(aq.  "
"(See B<pwconv>(8)  for an explanation of \\(aqx\\(aq.)"
msgstr ""
"ユーザーの暗号化されたパスワード、アスタリスク、または文字 \\(aqx\\(aq "
"(\\(aqx\\(aq の説明については B<pwconv>(8)  を参照)。"

#. type: TP
#: build/C/man5/passwd.5:81
#, no-wrap
msgid "I<UID>"
msgstr "I<UID>"

#. type: Plain text
#: build/C/man5/passwd.5:84
msgid "the numeric user ID."
msgstr "ユーザー ID 番号。"

#. type: Plain text
#: build/C/man5/passwd.5:87
msgid "the numeric primary group ID for this user."
msgstr "ユーザーが属するプライマリグループ ID 番号。"

#. type: TP
#: build/C/man5/passwd.5:87
#, no-wrap
msgid "I<GECOS>"
msgstr "I<GECOS>"

#. type: Plain text
#: build/C/man5/passwd.5:99
msgid ""
"This field is optional and used only for informational purposes.  Usually, "
"it contains the full username.  GECOS stands for \"General Electric "
"Comprehensive Operating System\", which was renamed to GCOS when GE's large "
"systems division was sold to Honeywell.  Dennis Ritchie has reported: "
"\"Sometimes we sent printer output or batch jobs to the GCOS machine.  The "
"gcos field in the password file was a place to stash the information for the "
"$IDENTcard.  Not elegant.\""
msgstr ""
"本欄は省略可能で、情報提供の目的のみに使われる。ユーザーのフルネームを\n"
"設定することが多い。GECOS は General Electric Comprehensive Operating\n"
"System を意味しており、GE 社の大規模システム部門が Honeywell 社に売却さ\n"
"れた際に GCOS へと変更された。Dennis Ritchie 氏は次のように言っている:\n"
"「時々プリンタ出力や、バッチジョブを GCOS マシンに送ったりするが、 パ\n"
"スワードファイルの gcos 欄は $IDENT カード用の情報を 隠しておくための場\n"
"所なんだ。まるっきりエレガントじゃない。」"

#. type: TP
#: build/C/man5/passwd.5:99
#, no-wrap
msgid "I<directory>"
msgstr "I<directory>"

#. type: Plain text
#: build/C/man5/passwd.5:104
msgid "the user's B<$HOME> directory."
msgstr "ユーザーの B<$HOME> ディレクトリ。"

#. type: TP
#: build/C/man5/passwd.5:104
#, no-wrap
msgid "I<shell>"
msgstr "I<shell>"

#. type: Plain text
#: build/C/man5/passwd.5:111
msgid ""
"the program to run at login (if empty, use I</bin/sh>).  If set to a "
"nonexistent executable, the user will be unable to login through B<login>(1)."
msgstr ""
"ログイン時に動くプログラム名 (空欄の場合 I</bin/sh> が使われる)。 存在しない"
"実行プログラムが設定された場合、 B<login>(1)  によるシステムへのログインはで"
"きなくなる。"

#. type: Plain text
#: build/C/man5/passwd.5:117
msgid ""
"If you want to create user groups, there must be an entry in I</etc/group>, "
"or no group will exist."
msgstr ""
"ユーザーグループを作りたい場合には、そのグループが I</etc/group> の中に\n"
"定義されていなければならない。そうしないとグループを作ったことにはならない。"

#. type: Plain text
#: build/C/man5/passwd.5:131
msgid ""
"If the encrypted password is set to an asterisk (*), the user will be unable "
"to login using B<login>(1), but may still login using B<rlogin>(1), run "
"existing processes and initiate new ones through B<rsh>(1), B<cron>(8), B<at>"
"(1), or mail filters, etc.  Trying to lock an account by simply changing the "
"shell field yields the same result and additionally allows the use of B<su>"
"(1)."
msgstr ""
"暗号化パスワードとしてアスタリスク (*) を設定すると、 B<login>(1) を\n"
"使ってのログインができなくなるが、 B<rlogin>(1) ではまだログインができる"
"し、\n"
"B<rsh>(1), B<cron>(8), B<at>(1) やメールのフィルタ等を使い、現存するプロセス"
"を\n"
"実行させたり、新たなプロセスを起動したりすることができる。\n"
"使用する shell の欄を、単に変更することでアカウントを 使えないようにする\n"
"のも同様の結果となる。その場合にはさらに B<su>(1) も有効なまま残ってしまう。"

#. type: Plain text
#: build/C/man5/passwd.5:139
msgid ""
"B<login>(1), B<passwd>(1), B<su>(1), B<getpwent>(3), B<getpwnam>(3), B<group>"
"(5), B<shadow>(5)"
msgstr ""
"B<login>(1), B<passwd>(1), B<su>(1), B<getpwent>(3), B<getpwnam>(3), B<group>"
"(5), B<shadow>(5)"

#. type: TH
#: build/C/man3/putgrent.3:4
#, no-wrap
msgid "PUTGRENT"
msgstr "PUTGRENT"

#. type: TH
#: build/C/man3/putgrent.3:4 build/C/man3/setaliasent.3:6
#, no-wrap
msgid "2003-09-09"
msgstr "2003-09-09"

#. type: Plain text
#: build/C/man3/putgrent.3:7
msgid "putgrent - write a group database entry to a file"
msgstr "putgrent - グループデータベースエントリをファイルに書き込む"

#. type: Plain text
#: build/C/man3/putgrent.3:9
msgid "B<#define _GNU_SOURCE> /* See feature_test_macros(7) */"
msgstr "B<#define _GNU_SOURCE> /* feature_test_macros(7) 参照 */"

#. type: Plain text
#: build/C/man3/putgrent.3:13
msgid "B<int putgrent(const struct group *>I<grp>B<, FILE *>I<fp>B<);>"
msgstr "B<int putgrent(const struct group *>I<grp>B<, FILE *>I<fp>B<);>"

#. type: Plain text
#: build/C/man3/putgrent.3:22
msgid ""
"The B<putgrent>()  function is the counterpart for B<fgetgrent>(3).  The "
"function writes the content of the provided I<struct group> into the file "
"pointed to by I<fp>.  The list of group members must be NULL-terminated or "
"NULL-initialized."
msgstr ""
"B<putgrent>()  関数は B<fgetgrent>(3)  の逆である。 この関数は与えられた "
"I<struct group> を I<fp> で指されるファイルに書き込む。 グループメンバのリス"
"トは、NULL で終端されるか、 NULL で初期化されなければならない。"

#. type: Plain text
#: build/C/man3/putgrent.3:24
msgid "The I<struct group> is defined as follows:"
msgstr "I<struct group> は以下のように定義される:"

#. type: Plain text
#: build/C/man3/putgrent.3:33
#, no-wrap
msgid ""
"struct group {\n"
"    char   *gr_name;      /* group name */\n"
"    char   *gr_passwd;    /* group password */\n"
"    gid_t   gr_gid;       /* group ID */\n"
"    char  **gr_mem;       /* group members */\n"
"};\n"
msgstr ""
"struct group {\n"
"    char   *gr_name;      /* グループ名 */\n"
"    char   *gr_passwd;    /* グループパスワード */\n"
"    gid_t   gr_gid;       /* グループ ID */\n"
"    char  **gr_mem;       /* グループメンバ */\n"
"};\n"

#. type: Plain text
#: build/C/man3/putgrent.3:37
msgid "The function returns zero on success, and a nonzero value on error."
msgstr "この関数は、成功した場合は 0 を返し、エラーの場合は 0 以外の値を返す。"

#. type: Plain text
#: build/C/man3/putgrent.3:39
msgid "This function is a GNU extension."
msgstr "この関数は GNU による拡張である。"

#. type: Plain text
#: build/C/man3/putgrent.3:43
msgid "B<fgetgrent>(3), B<getgrent>(3), B<group>(5)"
msgstr "B<fgetgrent>(3), B<getgrent>(3), B<group>(5)"

#. type: TH
#: build/C/man3/putpwent.3:28
#, no-wrap
msgid "PUTPWENT"
msgstr "PUTPWENT"

#. type: Plain text
#: build/C/man3/putpwent.3:31
msgid "putpwent - write a password file entry"
msgstr "putpwent - パスワードファイルエントリの書き込み"

#. type: Plain text
#: build/C/man3/putpwent.3:38
#, no-wrap
msgid "B<int putpwent(const struct passwd *>I<p>B<, FILE *>I<stream>B<);>\n"
msgstr "B<int putpwent(const struct passwd *>I<p>B<, FILE *>I<stream>B<);>\n"

#. type: Plain text
#: build/C/man3/putpwent.3:47
msgid "B<putpwent>(): _SVID_SOURCE"
msgstr "B<putpwent>(): _SVID_SOURCE"

#. type: Plain text
#: build/C/man3/putpwent.3:52
msgid ""
"The B<putpwent>()  function writes a password entry from the structure I<p> "
"in the file associated with I<stream>."
msgstr ""
"B<putpwent>()  関数は、構造体 I<p> からのパスワードエントリを I<stream> に結"
"びつけられたファイルに書き込む。"

#. type: Plain text
#: build/C/man3/putpwent.3:66
#, no-wrap
msgid ""
"struct passwd {\n"
"    char    *pw_name;        /* username */\n"
"    char    *pw_passwd;      /* user password */\n"
"    uid_t    pw_uid;         /* user ID */\n"
"    gid_t    pw_gid;         /* group ID */\n"
"    char    *pw_gecos;       /* real name */\n"
"    char    *pw_dir;         /* home directory */\n"
"    char    *pw_shell;       /* shell program */\n"
"};\n"
msgstr ""
"struct passwd {\n"
"    char    *pw_name;        /* ユーザ名 */\n"
"    char    *pw_passwd;      /* ユーザのパスワード */\n"
"    uid_t    pw_uid;         /* ユーザ ID */\n"
"    gid_t    pw_gid;         /* グループ ID */\n"
"    char    *pw_gecos;       /* 本名 */\n"
"    char    *pw_dir;         /* ホームディレクトリ */\n"
"    char    *pw_shell;       /* シェルプログラム */\n"
"};\n"

#. type: Plain text
#: build/C/man3/putpwent.3:73
msgid ""
"The B<putpwent>()  function returns 0 on success, or -1 if an error occurs."
msgstr ""
"B<putpwent>()  関数は、成功した場合は 0 を、エラーが発生した場合は -1 を返"
"す。"

#. type: Plain text
#: build/C/man3/putpwent.3:77
msgid "Invalid (NULL) argument given."
msgstr "無効な(NULL)引数が渡された。"

#. type: Plain text
#: build/C/man3/putpwent.3:87
msgid ""
"B<endpwent>(3), B<fgetpwent>(3), B<getpw>(3), B<getpwent>(3), B<getpwnam>"
"(3), B<getpwuid>(3), B<setpwent>(3)"
msgstr ""
"B<endpwent>(3), B<fgetpwent>(3), B<getpw>(3), B<getpwent>(3), B<getpwnam>"
"(3), B<getpwuid>(3), B<setpwent>(3)"

#. type: TH
#: build/C/man3/setaliasent.3:6
#, no-wrap
msgid "SETALIASENT"
msgstr "SETALIASENT"

#. type: Plain text
#: build/C/man3/setaliasent.3:10
msgid ""
"setaliasent, endaliasent, getaliasent, getaliasent_r, getaliasbyname, "
"getaliasbyname_r - read an alias entry"
msgstr ""
"setaliasent, endaliasent, getaliasent, getaliasent_r, getaliasbyname, "
"getaliasbyname_r - エイリアスエントリを読み込む"

#. type: Plain text
#: build/C/man3/setaliasent.3:12
msgid "B<#include E<lt>aliases.hE<gt>>"
msgstr "B<#include E<lt>aliases.hE<gt>>"

#. type: Plain text
#: build/C/man3/setaliasent.3:14
msgid "B<void setaliasent(void);>"
msgstr "B<void setaliasent(void);>"

#. type: Plain text
#: build/C/man3/setaliasent.3:16
msgid "B<void endaliasent(void);>"
msgstr "B<void endaliasent(void);>"

#. type: Plain text
#: build/C/man3/setaliasent.3:18
msgid "B<struct aliasent *getaliasent(void);>"
msgstr "B<struct aliasent *getaliasent(void);>"

#. type: Plain text
#: build/C/man3/setaliasent.3:20
msgid "B<int getaliasent_r(struct aliasent *>I<result>B<,>"
msgstr "B<int getaliasent_r(struct aliasent *>I<result>B<,>"

#. type: Plain text
#: build/C/man3/setaliasent.3:22 build/C/man3/setaliasent.3:28
msgid ""
"B< char *>I<buffer>B<, size_t >I<buflen>B<, struct aliasent **>I<res>B<);>"
msgstr ""
"B< char *>I<buffer>B<, size_t >I<buflen>B<, struct aliasent **>I<res>B<);>"

#. type: Plain text
#: build/C/man3/setaliasent.3:24
msgid "B<struct aliasent *getaliasbyname(const char *>I<name>B<);>"
msgstr "B<struct aliasent *getaliasbyname(const char *>I<name>B<);>"

#. type: Plain text
#: build/C/man3/setaliasent.3:26
msgid ""
"B<int getaliasbyname_r(const char *>I<name>B<, struct aliasent *>I<result>B<,"
">"
msgstr ""
"B<int getaliasbyname_r(const char *>I<name>B<, struct aliasent *>I<result>B<,"
">"

#. type: Plain text
#: build/C/man3/setaliasent.3:33
msgid ""
"One of the databases available with the Name Service Switch (NSS)  is the "
"aliases database, that contains mail aliases.  (To find out which databases "
"are supported, try I<getent --help>.)  Six functions are provided to access "
"the aliases database."
msgstr ""
"ネームサービススイッチ (Name Service Switch, NSS) で 利用可能なデータベース"
"の 1 つとして、 メールエイリアスを保持するエイリアスデータベースがある。 (ど"
"のデータベースがサポートされているかを調べるには、 getent --help を実行するこ"
"と。)  エイリアスデータベースにアクセスするために、 6 つの関数が提供されてい"
"る。"

#. type: Plain text
#: build/C/man3/setaliasent.3:40
msgid ""
"The B<getaliasent>()  function returns a pointer to a structure containing "
"the group information from the aliases database.  The first time it is "
"called it returns the first entry; thereafter, it returns successive entries."
msgstr ""
"B<getaliasent>()  関数はエイリアスデータベースから取り出した グループ情報を含"
"む構造体へのポインタを返す。 1 回目に関数が呼ばれたときには、最初のエントリを"
"返す; それ以降はその後のエントリを返す。"

#. type: Plain text
#: build/C/man3/setaliasent.3:45
msgid ""
"The B<setaliasent>()  function rewinds the file pointer to the beginning of "
"the aliases database."
msgstr ""
"B<setaliasent>()  関数はファイルポインタをエイリアスデータベースの先頭に巻き"
"戻す。"

#. type: Plain text
#: build/C/man3/setaliasent.3:49
msgid "The B<endaliasent>()  function closes the aliases database."
msgstr "B<endaliasent>()  関数はエイリアスデータベースをクローズする。"

#. type: Plain text
#: build/C/man3/setaliasent.3:56
msgid ""
"B<getaliasent_r>()  is the reentrant version of the previous function.  The "
"requested structure is stored via the first argument but the programmer "
"needs to fill the other arguments also.  Not providing enough space causes "
"the function to fail."
msgstr ""
"B<getaliasent_r>()  関数は上記の関数のリエントラント版である。 要求された構造"
"体は第 1 引き数に格納されるが、 プログラマは他の引き数も埋めてやる必要があ"
"る。 充分な領域が与えられないと、この関数は失敗する。"

#. type: Plain text
#: build/C/man3/setaliasent.3:62
msgid ""
"The function B<getaliasbyname>()  takes the name argument and searches the "
"aliases database.  The entry is returned as a pointer to a I<struct "
"aliasent>."
msgstr ""
"関数 B<getaliasbyname>()  は name 引き数をとり、エイリアスデータベースを検索"
"する。 エントリは I<struct aliasent> へのポインタとして返される。"

#. type: Plain text
#: build/C/man3/setaliasent.3:69
msgid ""
"B<getaliasbyname_r>()  is the reentrant version of the previous function.  "
"The requested structure is stored via the second argument but the programmer "
"needs to fill the other arguments also.  Not providing enough space causes "
"the function to fail."
msgstr ""
"B<getaliasbyname_r>()  は上記の関数のリエントラント版である。 要求された構造"
"体は第 2 引き数に格納されるが、 プログラマは他の引き数も埋めてやる必要があ"
"る。 充分な領域が与えられないと、この関数は失敗する。"

#. type: Plain text
#: build/C/man3/setaliasent.3:74
msgid "The I<struct aliasent> is defined in I<E<lt>aliases.hE<gt>>:"
msgstr "I<struct aliasent> は I<E<lt>aliases.hE<gt>> で定義されている。"

#. type: Plain text
#: build/C/man3/setaliasent.3:83
#, no-wrap
msgid ""
"struct aliasent {\n"
"    char    *alias_name;             /* alias name */\n"
"    size_t   alias_members_len;\n"
"    char   **alias_members;          /* alias name list */\n"
"    int      alias_local;\n"
"};\n"
msgstr ""
"struct aliasent {\n"
"    char    *alias_name;             /* エイリアス名 */\n"
"    size_t   alias_members_len;\n"
"    char   **alias_members;          /* エイリアス名のリスト */\n"
"    int      alias_local;\n"
"};\n"

#. type: Plain text
#: build/C/man3/setaliasent.3:91
msgid ""
"The functions B<getaliasent_r>()  and B<getaliasbyname_r>()  return a "
"nonzero value on error."
msgstr ""
"関数 B<getaliasent_r>()  と B<getaliasbyname_r>()  は、エラーの場合に 0 以外"
"の値を返す。"

#. type: Plain text
#: build/C/man3/setaliasent.3:97
msgid ""
"The default alias database is the file I</etc/aliases>.  This can be changed "
"in the I</etc/nsswitch.conf> file."
msgstr ""
"デフォルトのエイリアスデータベースは、ファイル I</etc/aliases> である。 これ"
"は I</etc/nsswitch.conf> ファイルで変更できる。"

#. type: Plain text
#: build/C/man3/setaliasent.3:100
msgid ""
"These routines are glibc-specific.  The NeXT system has similar routines:"
msgstr ""
"このルーチンは glibc 固有のものである。 NeXT システムには同様のルーチンがあ"
"る。"

#. type: Plain text
#: build/C/man3/setaliasent.3:104
#, no-wrap
msgid "#include E<lt>aliasdb.hE<gt>\n"
msgstr "#include E<lt>aliasdb.hE<gt>\n"

#. type: Plain text
#: build/C/man3/setaliasent.3:109
#, no-wrap
msgid ""
"void alias_setent(void);\n"
"void alias_endent(void);\n"
"alias_ent *alias_getent(void);\n"
"alias_ent *alias_getbyname(char *name);\n"
msgstr ""
"void alias_setent(void);\n"
"void alias_endent(void);\n"
"alias_ent *alias_getent(void);\n"
"alias_ent *alias_getbyname(char *name);\n"

#. type: Plain text
#: build/C/man3/setaliasent.3:115
msgid ""
"The following example compiles with I<gcc example.c -o example>.  It will "
"dump all names in the alias database."
msgstr ""
"以下の例は I<gcc example.c -o example> でコンパイルできる。 これはエイリアス"
"データベースにある全ての名前をダンプする。"

#. type: Plain text
#: build/C/man3/setaliasent.3:121
#, no-wrap
msgid ""
"#include E<lt>aliases.hE<gt>\n"
"#include E<lt>stdio.hE<gt>\n"
"#include E<lt>stdlib.hE<gt>\n"
"#include E<lt>errno.hE<gt>\n"
msgstr ""
"#include E<lt>aliases.hE<gt>\n"
"#include E<lt>stdio.hE<gt>\n"
"#include E<lt>stdlib.hE<gt>\n"
"#include E<lt>errno.hE<gt>\n"

#. type: Plain text
#: build/C/man3/setaliasent.3:140
#, no-wrap
msgid ""
"int\n"
"main(void)\n"
"{\n"
"    struct aliasent *al;\n"
"    setaliasent();\n"
"    for (;;) {\n"
"        al = getaliasent();\n"
"        if (al == NULL)\n"
"            break;\n"
"        printf(\"Name: %s\\en\", al-E<gt>alias_name);\n"
"    }\n"
"    if (errno) {\n"
"        perror(\"reading alias\");\n"
"        exit(EXIT_FAILURE);\n"
"    }\n"
"    endaliasent();\n"
"    exit(EXIT_SUCCESS);\n"
"}\n"
msgstr ""
"int\n"
"main(void)\n"
"{\n"
"    struct aliasent *al;\n"
"    setaliasent();\n"
"    for (;;) {\n"
"        al = getaliasent();\n"
"        if (al == NULL)\n"
"            break;\n"
"        printf(\"Name: %s\\en\", al-E<gt>alias_name);\n"
"    }\n"
"    if (errno) {\n"
"        perror(\"reading alias\");\n"
"        exit(EXIT_FAILURE);\n"
"    }\n"
"    endaliasent();\n"
"    exit(EXIT_SUCCESS);\n"

#.  /etc/sendmail/aliases
#.  Yellow Pages
#.  newaliases, postalias
#. type: Plain text
#: build/C/man3/setaliasent.3:150
msgid "B<getgrent>(3), B<getpwent>(3), B<getspent>(3), B<aliases>(5)"
msgstr "B<getgrent>(3), B<getpwent>(3), B<getspent>(3), B<aliases>(5)"

#~ msgid ""
#~ "The maximum needed size for I<buf> can be found using B<sysconf>(3)  with "
#~ "the argument B<_SC_GETGR_R_SIZE_MAX>."
#~ msgstr ""
#~ "I<buf> に最大必要なサイズは、 B<sysconf>(3)  に引き数 "
#~ "B<_SC_GETGR_R_SIZE_MAX> を指定して実行することで分かる。"

#~ msgid ""
#~ "The maximum size needed for I<buf> can be found using B<sysconf>(3)  with "
#~ "the argument B<_SC_GETPW_R_SIZE_MAX>."
#~ msgstr ""
#~ "I<buf> に必要な最大サイズは、 B<sysconf>(3) に引き数\n"
#~ "B<_SC_GETPW_R_SIZE_MAX> を指定して実行することで分かる。"

#~ msgid "2009-03-30"
#~ msgstr "2009-03-30"

#~ msgid "2009-10-17"
#~ msgstr "2009-10-17"

#~ msgid "The field descriptions are:"
#~ msgstr "フィールドの説明:"

#~ msgid "password"
#~ msgstr "password"

#~ msgid "GID"
#~ msgstr "GID"

#~ msgid "1998-01-05"
#~ msgstr "1998-01-05"

#~ msgid "There is one entry per line, and each line has the format:"
#~ msgstr ""
#~ "パスワードファイルは 1 行ごとに 1 エントリを持ち、 各行の書式は以下の通り"
#~ "である:"
