1 # SOME DESCRIPTIVE TITLE
2 # Copyright (C) YEAR Free Software Foundation, Inc.
3 # This file is distributed under the same license as the PACKAGE package.
4 # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
8 "Project-Id-Version: PACKAGE VERSION\n"
9 "POT-Creation-Date: 2015-02-04 23:31+0900\n"
10 "PO-Revision-Date: 2015-01-25 06:37+0900\n"
11 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
12 "Language-Team: LANGUAGE <LL@li.org>\n"
15 "Content-Type: text/plain; charset=UTF-8\n"
16 "Content-Transfer-Encoding: 8bit\n"
19 #: build/C/man3/fgetgrent.3:30
25 #: build/C/man3/fgetgrent.3:30 build/C/man3/getgrnam.3:33
26 #: build/C/man3/getgrouplist.3:29
32 #: build/C/man3/fgetgrent.3:30 build/C/man3/fgetpwent.3:33
33 #: build/C/man3/getgrent_r.3:24 build/C/man3/getgrouplist.3:29
34 #: build/C/man3/getpw.3:32 build/C/man3/getpwent.3:33
35 #: build/C/man3/getpwent_r.3:24 build/C/man3/getpwnam.3:37
36 #: build/C/man3/getspnam.3:8 build/C/man3/initgroups.3:32
37 #: build/C/man3/putgrent.3:7 build/C/man3/putpwent.3:30
38 #: build/C/man3/setaliasent.3:9
44 #: build/C/man3/fgetgrent.3:30 build/C/man3/fgetpwent.3:33
45 #: build/C/man5/ftpusers.5:19 build/C/man3/getgrent.3:30
46 #: build/C/man3/getgrent_r.3:24 build/C/man3/getgrnam.3:33
47 #: build/C/man3/getgrouplist.3:29 build/C/man3/getpw.3:32
48 #: build/C/man3/getpwent.3:33 build/C/man3/getpwent_r.3:24
49 #: build/C/man3/getpwnam.3:37 build/C/man3/getspnam.3:8
50 #: build/C/man5/group.5:26 build/C/man3/initgroups.3:32
51 #: build/C/man5/passwd.5:30 build/C/man3/putgrent.3:7
52 #: build/C/man3/putpwent.3:30 build/C/man3/setaliasent.3:9
54 msgid "Linux Programmer's Manual"
55 msgstr "Linux Programmer's Manual"
58 #: build/C/man3/fgetgrent.3:31 build/C/man3/fgetpwent.3:34
59 #: build/C/man5/ftpusers.5:20 build/C/man3/getgrent.3:31
60 #: build/C/man3/getgrent_r.3:25 build/C/man3/getgrnam.3:34
61 #: build/C/man3/getgrouplist.3:30 build/C/man3/getpw.3:33
62 #: build/C/man3/getpwent.3:34 build/C/man3/getpwent_r.3:25
63 #: build/C/man3/getpwnam.3:38 build/C/man3/getspnam.3:9
64 #: build/C/man5/group.5:27 build/C/man3/initgroups.3:33
65 #: build/C/man5/passwd.5:31 build/C/man3/putgrent.3:8
66 #: build/C/man3/putpwent.3:31 build/C/man3/setaliasent.3:10
72 #: build/C/man3/fgetgrent.3:33
73 msgid "fgetgrent - get group file entry"
74 msgstr "fgetgrent - グループファイルエントリーの取り出し"
77 #: build/C/man3/fgetgrent.3:33 build/C/man3/fgetpwent.3:36
78 #: build/C/man3/getgrent.3:33 build/C/man3/getgrent_r.3:27
79 #: build/C/man3/getgrnam.3:36 build/C/man3/getgrouplist.3:32
80 #: build/C/man3/getpw.3:35 build/C/man3/getpwent.3:36
81 #: build/C/man3/getpwent_r.3:27 build/C/man3/getpwnam.3:40
82 #: build/C/man3/getspnam.3:13 build/C/man3/initgroups.3:35
83 #: build/C/man3/putgrent.3:10 build/C/man3/putpwent.3:33
84 #: build/C/man3/setaliasent.3:13
90 #: build/C/man3/fgetgrent.3:38
93 "B<#include E<lt>stdio.hE<gt>>\n"
94 "B<#include E<lt>sys/types.hE<gt>>\n"
95 "B<#include E<lt>grp.hE<gt>>\n"
97 "B<#include E<lt>stdio.hE<gt>>\n"
98 "B<#include E<lt>sys/types.hE<gt>>\n"
99 "B<#include E<lt>grp.hE<gt>>\n"
102 #: build/C/man3/fgetgrent.3:40
104 msgid "B<struct group *fgetgrent(FILE *>I<stream>B<);>\n"
105 msgstr "B<struct group *fgetgrent(FILE *>I<stream>B<);>\n"
108 #: build/C/man3/fgetgrent.3:45 build/C/man3/fgetpwent.3:48
109 #: build/C/man3/getgrent.3:48 build/C/man3/getgrent_r.3:43
110 #: build/C/man3/getgrnam.3:57 build/C/man3/getgrouplist.3:42
111 #: build/C/man3/getpwent.3:51 build/C/man3/getpwent_r.3:43
112 #: build/C/man3/getpwnam.3:61 build/C/man3/getspnam.3:61
113 #: build/C/man3/initgroups.3:46 build/C/man3/putpwent.3:45
115 "Feature Test Macro Requirements for glibc (see B<feature_test_macros>(7)):"
116 msgstr "glibc 向けの機能検査マクロの要件 (B<feature_test_macros>(7) 参照):"
119 #: build/C/man3/fgetgrent.3:49
120 msgid "B<fgetgrent>(): _SVID_SOURCE"
121 msgstr "B<fgetgrent>(): _SVID_SOURCE"
124 #: build/C/man3/fgetgrent.3:49 build/C/man3/fgetpwent.3:52
125 #: build/C/man5/ftpusers.5:22 build/C/man3/getgrent.3:68
126 #: build/C/man3/getgrent_r.3:51 build/C/man3/getgrnam.3:67
127 #: build/C/man3/getgrouplist.3:46 build/C/man3/getpw.3:43
128 #: build/C/man3/getpwent.3:62 build/C/man3/getpwent_r.3:50
129 #: build/C/man3/getpwnam.3:71 build/C/man3/getspnam.3:72
130 #: build/C/man5/group.5:29 build/C/man3/initgroups.3:50
131 #: build/C/man5/passwd.5:33 build/C/man3/putgrent.3:16
132 #: build/C/man3/putpwent.3:49 build/C/man3/setaliasent.3:31
138 #: build/C/man3/fgetgrent.3:63
140 "The B<fgetgrent>() function returns a pointer to a structure containing the "
141 "group information from the file referred to by I<stream>. The first time it "
142 "is called it returns the first entry; thereafter, it returns successive "
143 "entries. The file referred to by I<stream> must have the same format as I</"
144 "etc/group> (see B<group>(5))."
146 "B<fgetgrent>() 関数は、 I<stream> で参照されるファイルから取り出したグループ"
147 "情報 を含む構造体へのポインターを返す。最初に呼び出された時は 最初のエント"
148 "リーを返し、それ以降は、次のエントリーを返す。 I<stream> で参照されるファイル"
149 "は、 I</etc/group> と同じ形式でなければならない (B<group>(5) 参照)。"
152 #: build/C/man3/fgetgrent.3:65 build/C/man3/getgrent.3:92
153 #: build/C/man3/getgrent_r.3:68 build/C/man3/getgrnam.3:86
154 msgid "The I<group> structure is defined in I<E<lt>grp.hE<gt>> as follows:"
155 msgstr "I<group> 構造体は I<E<lt>grp.hE<gt>> で以下のように定義されている:"
158 #: build/C/man3/fgetgrent.3:75 build/C/man3/getgrent.3:102
159 #: build/C/man3/getgrent_r.3:78 build/C/man3/getgrnam.3:96
163 " char *gr_name; /* group name */\n"
164 " char *gr_passwd; /* group password */\n"
165 " gid_t gr_gid; /* group ID */\n"
166 " char **gr_mem; /* NULL-terminated array of pointers\n"
167 " to names of group members */\n"
171 " char *gr_name; /* グループ名 */\n"
172 " char *gr_passwd; /* グループのパスワード */\n"
173 " gid_t gr_gid; /* グループ ID */\n"
174 " char **gr_mem; /* グループのメンバ名へのポインター\n"
175 " の配列 (配列はヌルで終端する) */\n"
179 #: build/C/man3/fgetgrent.3:77 build/C/man3/fgetpwent.3:81
180 #: build/C/man3/getgrent.3:107 build/C/man3/getgrent_r.3:102
181 #: build/C/man3/getgrnam.3:137 build/C/man3/getgrouplist.3:78
182 #: build/C/man3/getpw.3:72 build/C/man3/getpwent.3:103
183 #: build/C/man3/getpwent_r.3:103 build/C/man3/getpwnam.3:143
184 #: build/C/man3/getspnam.3:216 build/C/man3/initgroups.3:68
185 #: build/C/man3/putgrent.3:41 build/C/man3/putpwent.3:70
186 #: build/C/man3/setaliasent.3:89
192 #: build/C/man3/fgetgrent.3:87
194 "The B<fgetgrent>() function returns a pointer to a I<group> structure, or "
195 "NULL if there are no more entries or an error occurs. In the event of an "
196 "error, I<errno> is set to indicate the cause."
198 "B<fgetgrent>() 関数は I<group> 構造体へのポインターを返す。 これ以上エント"
199 "リーが無いか、エラーが発生した場合は NULL を返す。 エラーの場合、 I<errno> に"
203 #: build/C/man3/fgetgrent.3:87 build/C/man3/fgetpwent.3:91
204 #: build/C/man3/getgrent.3:130 build/C/man3/getgrent_r.3:109
205 #: build/C/man3/getgrnam.3:175 build/C/man3/getpw.3:88
206 #: build/C/man3/getpwent.3:125 build/C/man3/getpwent_r.3:110
207 #: build/C/man3/getpwnam.3:181 build/C/man3/getspnam.3:229
208 #: build/C/man3/initgroups.3:75 build/C/man3/putpwent.3:78
214 #: build/C/man3/fgetgrent.3:88 build/C/man3/fgetpwent.3:92
215 #: build/C/man3/getgrent.3:153 build/C/man3/getgrnam.3:197
216 #: build/C/man3/getpw.3:97 build/C/man3/getpwent.3:140
217 #: build/C/man3/getpwnam.3:203 build/C/man3/initgroups.3:76
223 #. to allocate the group structure, or to allocate buffers
225 #: build/C/man3/fgetgrent.3:93 build/C/man3/getgrent.3:159
226 #: build/C/man3/getgrnam.3:204
227 msgid "Insufficient memory to allocate I<group> structure."
228 msgstr "I<group> 構造体を割り当てるためのメモリーが不十分。"
231 #: build/C/man3/fgetgrent.3:93 build/C/man3/fgetpwent.3:101
232 #: build/C/man3/getgrent.3:177 build/C/man3/getgrent_r.3:117
233 #: build/C/man3/getgrnam.3:224 build/C/man3/getgrouplist.3:98
234 #: build/C/man3/getpw.3:106 build/C/man3/getpwent.3:165
235 #: build/C/man3/getpwent_r.3:118 build/C/man3/getpwnam.3:230
236 #: build/C/man3/getspnam.3:249 build/C/man3/initgroups.3:88
237 #: build/C/man3/putgrent.3:43 build/C/man3/putpwent.3:82
238 #: build/C/man3/setaliasent.3:101
240 msgid "CONFORMING TO"
244 #: build/C/man3/fgetgrent.3:95 build/C/man3/fgetpwent.3:103
245 #: build/C/man3/putpwent.3:84
250 #: build/C/man3/fgetgrent.3:95 build/C/man3/fgetpwent.3:103
251 #: build/C/man5/ftpusers.5:49 build/C/man3/getgrent.3:179
252 #: build/C/man3/getgrent_r.3:184 build/C/man3/getgrnam.3:247
253 #: build/C/man3/getgrouplist.3:189 build/C/man3/getpw.3:115
254 #: build/C/man3/getpwent.3:170 build/C/man3/getpwent_r.3:180
255 #: build/C/man3/getpwnam.3:326 build/C/man3/getspnam.3:253
256 #: build/C/man5/group.5:61 build/C/man3/initgroups.3:90
257 #: build/C/man5/passwd.5:162 build/C/man3/putgrent.3:45
258 #: build/C/man3/putpwent.3:84 build/C/man3/setaliasent.3:145
264 #: build/C/man3/fgetgrent.3:105
266 "B<endgrent>(3), B<fgetgrent_r>(3), B<fopen>(3), B<getgrent>(3), "
267 "B<getgrgid>(3), B<getgrnam>(3), B<putgrent>(3), B<setgrent>(3), B<group>(5)"
269 "B<endgrent>(3), B<fgetgrent_r>(3), B<fopen>(3), B<getgrent>(3), "
270 "B<getgrgid>(3), B<getgrnam>(3), B<putgrent>(3), B<setgrent>(3), B<group>(5)"
273 #: build/C/man3/fgetgrent.3:105 build/C/man3/fgetpwent.3:114
274 #: build/C/man5/ftpusers.5:53 build/C/man3/getgrent.3:187
275 #: build/C/man3/getgrent_r.3:191 build/C/man3/getgrnam.3:254
276 #: build/C/man3/getgrouplist.3:196 build/C/man3/getpw.3:124
277 #: build/C/man3/getpwent.3:178 build/C/man3/getpwent_r.3:188
278 #: build/C/man3/getpwnam.3:336 build/C/man3/getspnam.3:258
279 #: build/C/man5/group.5:67 build/C/man3/initgroups.3:94
280 #: build/C/man5/passwd.5:173 build/C/man3/putgrent.3:49
281 #: build/C/man3/putpwent.3:92 build/C/man3/setaliasent.3:154
287 #: build/C/man3/fgetgrent.3:113 build/C/man3/fgetpwent.3:122
288 #: build/C/man5/ftpusers.5:61 build/C/man3/getgrent.3:195
289 #: build/C/man3/getgrent_r.3:199 build/C/man3/getgrnam.3:262
290 #: build/C/man3/getgrouplist.3:204 build/C/man3/getpw.3:132
291 #: build/C/man3/getpwent.3:186 build/C/man3/getpwent_r.3:196
292 #: build/C/man3/getpwnam.3:344 build/C/man3/getspnam.3:266
293 #: build/C/man5/group.5:75 build/C/man3/initgroups.3:102
294 #: build/C/man5/passwd.5:181 build/C/man3/putgrent.3:57
295 #: build/C/man3/putpwent.3:100 build/C/man3/setaliasent.3:162
298 #| "This page is part of release 3.78 of the Linux I<man-pages> project. A "
299 #| "description of the project, information about reporting bugs, and the "
300 #| "latest version of this page, can be found at \\%http://www.kernel.org/doc/"
303 "This page is part of release 3.79 of the Linux I<man-pages> project. A "
304 "description of the project, information about reporting bugs, and the latest "
305 "version of this page, can be found at \\%http://www.kernel.org/doc/man-"
308 "この man ページは Linux I<man-pages> プロジェクトのリリース 3.78 の一部\n"
309 "である。プロジェクトの説明とバグ報告に関する情報は\n"
310 "http://www.kernel.org/doc/man-pages/ に書かれている。"
313 #: build/C/man3/fgetpwent.3:33
319 #: build/C/man3/fgetpwent.3:33 build/C/man3/putpwent.3:30
325 #: build/C/man3/fgetpwent.3:36
326 msgid "fgetpwent - get password file entry"
327 msgstr "fgetpwent - パスワードファイルエントリーの取り出し"
330 #: build/C/man3/fgetpwent.3:41 build/C/man3/putpwent.3:38
333 "B<#include E<lt>stdio.hE<gt>>\n"
334 "B<#include E<lt>sys/types.hE<gt>>\n"
335 "B<#include E<lt>pwd.hE<gt>>\n"
337 "B<#include E<lt>stdio.hE<gt>>\n"
338 "B<#include E<lt>sys/types.hE<gt>>\n"
339 "B<#include E<lt>pwd.hE<gt>>\n"
342 #: build/C/man3/fgetpwent.3:43
344 msgid "B<struct passwd *fgetpwent(FILE *>I<stream>B<);>\n"
345 msgstr "B<struct passwd *fgetpwent(FILE *>I<stream>B<);>\n"
348 #: build/C/man3/fgetpwent.3:52
349 msgid "B<fgetpwent>(): _SVID_SOURCE"
350 msgstr "B<fgetpwent>(): _SVID_SOURCE"
353 #: build/C/man3/fgetpwent.3:65
355 "The B<fgetpwent>() function returns a pointer to a structure containing the "
356 "broken out fields of a line in the file I<stream>. The first time it is "
357 "called it returns the first entry; thereafter, it returns successive "
358 "entries. The file referred to by I<stream> must have the same format as I</"
359 "etc/passwd> (see B<passwd>(5))."
361 "B<fgetpwent>() 関数は、I<stream> から得られた行を分解したフィールド を含む構"
362 "造体へのポインターを返す。 最初に呼び出された時には最初のエントリーを返し、そ"
363 "れ以降は 次のエントリーを返す。 I<stream> で参照されるファイルは I</etc/"
364 "passwd> と同じ形式でなければならない (B<passwd>(5) 参照)。"
367 #: build/C/man3/fgetpwent.3:67 build/C/man3/getpw.3:55
368 #: build/C/man3/getpwent.3:86 build/C/man3/getpwent_r.3:67
369 #: build/C/man3/getpwnam.3:90 build/C/man3/putpwent.3:56
370 msgid "The I<passwd> structure is defined in I<E<lt>pwd.hE<gt>> as follows:"
371 msgstr "I<passwd> 構造体は、I<E<lt>pwd.hE<gt>> で以下のように定義されている:"
374 #: build/C/man3/fgetpwent.3:79
378 " char *pw_name; /* username */\n"
379 " char *pw_passwd; /* user password */\n"
380 " uid_t pw_uid; /* user ID */\n"
381 " gid_t pw_gid; /* group ID */\n"
382 " char *pw_gecos; /* real name */\n"
383 " char *pw_dir; /* home directory */\n"
384 " char *pw_shell; /* shell program */\n"
388 " char *pw_name; /* ユーザー名 */\n"
389 " char *pw_passwd; /* ユーザーのパスワード */\n"
390 " uid_t pw_uid; /* ユーザー ID */\n"
391 " gid_t pw_gid; /* グループ ID */\n"
392 " char *pw_gecos; /* 実名 */\n"
393 " char *pw_dir; /* ホームディレクトリ */\n"
394 " char *pw_shell; /* シェルプログラム */\n"
398 #: build/C/man3/fgetpwent.3:91
400 "The B<fgetpwent>() function returns a pointer to a I<passwd> structure, or "
401 "NULL if there are no more entries or an error occurs. In the event of an "
402 "error, I<errno> is set to indicate the cause."
404 "B<fgetpwent>() 関数は、 I<passwd> 構造体へのポインターを返す。 これ以上エン"
405 "トリーが無いか、エラーが発生した場合は NULL を返す。 エラーの場合、 I<errno> "
409 #. This structure is static, allocated 0 or 1 times. No memory leak. (libc45)
411 #: build/C/man3/fgetpwent.3:97 build/C/man3/getpw.3:102
412 #: build/C/man3/getpwent.3:147 build/C/man3/getpwnam.3:210
413 msgid "Insufficient memory to allocate I<passwd> structure."
414 msgstr "I<passwd> 構造体に割り当てるメモリーが十分なかった。"
417 #: build/C/man3/fgetpwent.3:97 build/C/man5/ftpusers.5:47
418 #: build/C/man3/getgrent.3:162 build/C/man3/getgrnam.3:207
419 #: build/C/man3/getpw.3:102 build/C/man3/getpwent.3:150
420 #: build/C/man3/getpwnam.3:213 build/C/man3/getspnam.3:236
421 #: build/C/man5/group.5:53 build/C/man3/initgroups.3:84
422 #: build/C/man5/passwd.5:142 build/C/man3/setaliasent.3:95
428 #: build/C/man3/fgetpwent.3:98 build/C/man3/getpw.3:103
429 #: build/C/man3/getpwent.3:151 build/C/man3/getpwnam.3:214
430 #: build/C/man5/passwd.5:144
432 msgid "I</etc/passwd>"
433 msgstr "I</etc/passwd>"
436 #: build/C/man3/fgetpwent.3:101 build/C/man3/getpw.3:106
437 msgid "password database file"
438 msgstr "パスワードデータベースファイル"
441 #: build/C/man3/fgetpwent.3:114
443 "B<endpwent>(3), B<fgetpwent_r>(3), B<fopen>(3), B<getpw>(3), B<getpwent>(3), "
444 "B<getpwnam>(3), B<getpwuid>(3), B<putpwent>(3), B<setpwent>(3), B<passwd>(5)"
446 "B<endpwent>(3), B<fgetpwent_r>(3), B<fopen>(3), B<getpw>(3), B<getpwent>(3), "
447 "B<getpwnam>(3), B<getpwuid>(3), B<putpwent>(3), B<setpwent>(3), B<passwd>(5)"
450 #: build/C/man5/ftpusers.5:19
456 #: build/C/man5/ftpusers.5:19
462 #: build/C/man5/ftpusers.5:19 build/C/man5/group.5:26 build/C/man5/passwd.5:30
468 #: build/C/man5/ftpusers.5:22
469 msgid "ftpusers - list of users that may not log in via the FTP daemon"
470 msgstr "ftpusers - FTP デーモン経由でのログインを許さないユーザーのリスト"
473 #: build/C/man5/ftpusers.5:41
475 "The text file B<ftpusers> contains a list of users that may not log in using "
476 "the File Transfer Protocol (FTP) server daemon. This file is used not "
477 "merely for system administration purposes but for improving security within "
478 "a TCP/IP networked environment. It will typically contain a list of the "
479 "users that either have no business using ftp or have too many privileges to "
480 "be allowed to log in through the FTP server daemon. Such users usually "
481 "include root, daemon, bin, uucp, and news. If your FTP server daemon "
482 "doesn't use B<ftpusers>, then it is suggested that you read its "
483 "documentation to find out how to block access for certain users. Washington "
484 "University FTP server Daemon (wuftpd) and Professional FTP Daemon (proftpd) "
485 "are known to make use of B<ftpusers>."
487 "B<ftpusers> はテキストファイルで、File Transfer Protocol (FTP) サーバーデーモ"
488 "ン を利用してのログインを許さないユーザーをリストしたものである。 このファイ"
489 "ルは単にシステム管理のためだけでなく、 TCP/IP ネットワーク環境でのセキュリ"
490 "ティを向上させるのにも利用できる。 通常は、ftp を用いた作業を行わないユーザー"
491 "や、 FTP サーバーデーモン経由でのログインを許すには 権限が大きすぎるユーザー"
492 "をリストしておく。 このようなユーザーには、例えば root, daemon, bin, uucp, "
493 "news などが含まれる。 お使いの FTP サーバーデーモンが B<ftpusers> を用いない"
494 "場合は、そのデーモンのドキュメントを読んで、 特定のユーザーのアクセスをブロッ"
495 "クするやり方を学んでおくことをすすめる。 Washington University FTP サーバー"
496 "デーモン (wuftpd) と Professional FTP デーモン (proftpd) とは、 B<ftpusers> "
500 #: build/C/man5/ftpusers.5:41
506 #: build/C/man5/ftpusers.5:47
508 "The format of B<ftpusers> is very simple. There is one account name (or "
509 "username) per line. Lines starting with a # are ignored."
511 "B<ftpusers> のフォーマットは非常に単純であり、 アカウント名 (またはユーザー"
512 "名) を各行に書くだけである。 # で始まる行は無視される。"
515 #: build/C/man5/ftpusers.5:49
516 msgid "I</etc/ftpusers>"
517 msgstr "I</etc/ftpusers>"
520 #: build/C/man5/ftpusers.5:53
521 msgid "B<passwd>(5), B<proftpd>(8), B<wuftpd>(8)"
522 msgstr "B<passwd>(5), B<proftpd>(8), B<wuftpd>(8)"
525 #: build/C/man3/getgrent.3:30
531 #: build/C/man3/getgrent.3:30
537 #: build/C/man3/getgrent.3:33
538 msgid "getgrent, setgrent, endgrent - get group file entry"
539 msgstr "getgrent, setgrent, endgrent - グループファイルエントリーの取得"
542 #: build/C/man3/getgrent.3:37 build/C/man3/getgrnam.3:40
543 #: build/C/man3/initgroups.3:39
546 "B<#include E<lt>sys/types.hE<gt>>\n"
547 "B<#include E<lt>grp.hE<gt>>\n"
549 "B<#include E<lt>sys/types.hE<gt>>\n"
550 "B<#include E<lt>grp.hE<gt>>\n"
553 #: build/C/man3/getgrent.3:39
555 msgid "B<struct group *getgrent(void);>\n"
556 msgstr "B<struct group *getgrent(void);>\n"
559 #: build/C/man3/getgrent.3:41
561 msgid "B<void setgrent(void);>\n"
562 msgstr "B<void setgrent(void);>\n"
565 #: build/C/man3/getgrent.3:43
567 msgid "B<void endgrent(void);>\n"
568 msgstr "B<void endgrent(void);>\n"
571 #: build/C/man3/getgrent.3:53
572 msgid "B<setgrent>():"
573 msgstr "B<setgrent>():"
576 #: build/C/man3/getgrent.3:56
578 "_SVID_SOURCE || _BSD_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500 || _XOPEN_SOURCE"
579 "\\ &&\\ _XOPEN_SOURCE_EXTENDED ||"
581 "_SVID_SOURCE || _BSD_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500 || _XOPEN_SOURCE"
582 "\\ &&\\ _XOPEN_SOURCE_EXTENDED ||"
585 #: build/C/man3/getgrent.3:58
586 msgid "/* Since glibc 2.12: */ _POSIX_C_SOURCE\\ E<gt>=\\ 200809L"
587 msgstr "/* Since glibc 2.12: */ _POSIX_C_SOURCE\\ E<gt>=\\ 200809L"
590 #: build/C/man3/getgrent.3:62
591 msgid "B<getgrent>(), B<endgrent>():"
592 msgstr "B<getgrent>(), B<endgrent>():"
595 #: build/C/man3/getgrent.3:65
597 "_SVID_SOURCE || _BSD_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500 || _XOPEN_SOURCE"
598 "\\ &&\\ _XOPEN_SOURCE_EXTENDED"
600 "_SVID_SOURCE || _BSD_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500 || _XOPEN_SOURCE"
601 "\\ &&\\ _XOPEN_SOURCE_EXTENDED"
604 #: build/C/man3/getgrent.3:80
606 "The B<getgrent>() function returns a pointer to a structure containing the "
607 "broken-out fields of a record in the group database (e.g., the local group "
608 "file I</etc/group>, NIS, and LDAP). The first time B<getgrent>() is "
609 "called, it returns the first entry; thereafter, it returns successive "
612 "B<getgrent>() 関数は、グループデータベースから取得したエントリーを 要素毎に"
613 "分解し、各要素を格納した構造体へのポインターを返す (グループデータベースの"
614 "例: ローカルのグループファイル I</etc/group>, NIS, LDAP)。 B<getgrent>() "
615 "は、最初に呼び出された時は最初のエントリーを返し、 それ以降は呼び出される毎に"
619 #: build/C/man3/getgrent.3:85
621 "The B<setgrent>() function rewinds to the beginning of the group database, "
622 "to allow repeated scans."
624 "B<setgrent>() 関数を使うと、もう一度読み込めるように、 グループデータベース"
628 #: build/C/man3/getgrent.3:90
630 "The B<endgrent>() function is used to close the group database after all "
631 "processing has been performed."
633 "B<endgrent>() 関数は、全ての処理が終わった後にグループ データベースをクロー"
637 #: build/C/man3/getgrent.3:107 build/C/man3/getgrent_r.3:83
638 #: build/C/man3/getgrnam.3:101
640 "For more information about the fields of this structure, see B<group>(5)."
641 msgstr "この構造体のフィールドの詳細は B<group>(5) を参照のこと。"
644 #: build/C/man3/getgrent.3:114
646 "The B<getgrent>() function returns a pointer to a I<group> structure, or "
647 "NULL if there are no more entries or an error occurs."
649 "B<getgrent>() 関数は I<group> 構造体へのポインターを返す。 これ以上エント"
650 "リーが無いか、エラーが発生した場合は NULL を返す。"
653 #: build/C/man3/getgrent.3:121
655 "Upon error, I<errno> may be set. If one wants to check I<errno> after the "
656 "call, it should be set to zero before the call."
658 "エラーが発生すると、 I<errno> が適切に設定される。 この関数の呼び出し後に "
659 "I<errno> をチェックしたい場合は、呼び出し前に I<errno> を 0 に設定しておかな"
663 #: build/C/man3/getgrent.3:130
665 "The return value may point to a static area, and may be overwritten by "
666 "subsequent calls to B<getgrent>(), B<getgrgid>(3), or B<getgrnam>(3). (Do "
667 "not pass the returned pointer to B<free>(3).)"
669 "返り値は静的な領域を指しており、その後の B<getgrent>(), B<getgrgid>(3), "
670 "B<getgrnam>(3) の呼び出しで上書きされるかもしれない。 (返されたポインターを "
671 "B<free>(3) に渡さないこと。)"
674 #: build/C/man3/getgrent.3:131
680 #: build/C/man3/getgrent.3:136
682 "The service was temporarily unavailable; try again later. For NSS backends "
683 "in glibc this indicates a temporary error talking to the backend. The error "
684 "may correct itself, retrying later is suggested."
686 "サービスが一時的に利用できなかったこと。あとでもう一度試してほしい。 NSS バッ"
687 "クエンドの場合、glibc では、バックエンドとの通信中に一時的なエラーが発生した"
688 "ことを示す。 このエラーは直るかもしれないので、あとでもう一度試すよう提案して"
692 #: build/C/man3/getgrent.3:136 build/C/man3/getgrnam.3:183
693 #: build/C/man3/getpwent.3:126 build/C/man3/getpwnam.3:189
699 #: build/C/man3/getgrent.3:139 build/C/man3/getgrnam.3:186
700 #: build/C/man3/getpwent.3:129 build/C/man3/getpwnam.3:192
701 msgid "A signal was caught."
705 #: build/C/man3/getgrent.3:139 build/C/man3/getgrnam.3:186
706 #: build/C/man3/getpwent.3:129 build/C/man3/getpwnam.3:192
712 #: build/C/man3/getgrent.3:142 build/C/man3/getgrnam.3:189
713 #: build/C/man3/getpwent.3:132 build/C/man3/getpwnam.3:195
718 #: build/C/man3/getgrent.3:142 build/C/man3/getgrnam.3:189
719 #: build/C/man3/getpwent.3:132 build/C/man3/getpwnam.3:195
725 #: build/C/man3/getgrent.3:145
726 msgid "The calling process already has too many open files."
727 msgstr "呼び出したプロセスが既にファイルをオープンし過ぎている。"
730 #: build/C/man3/getgrent.3:145 build/C/man3/getgrnam.3:194
731 #: build/C/man3/getpwent.3:137 build/C/man3/getpwnam.3:200
737 #: build/C/man3/getgrent.3:148
738 msgid "Too many open files in the system."
739 msgstr "システム上にオープンされたファイルが多過ぎる。"
742 #: build/C/man3/getgrent.3:148 build/C/man3/getgrent_r.3:110
743 #: build/C/man3/getpwent_r.3:111
749 #: build/C/man3/getgrent.3:153
751 "A necessary input file cannot be found. For NSS backends in glibc this "
752 "indicates the backend is not correctly configured."
754 "必要な入力ファイルが見つからなかった。 NSS バックエンドの場合、glibc では、こ"
755 "のエラーはバックエンドが正しく設定されていないことを示す。"
758 #: build/C/man3/getgrent.3:159 build/C/man3/getgrent_r.3:113
759 #: build/C/man3/getgrnam.3:204 build/C/man3/getpwent.3:147
760 #: build/C/man3/getpwent_r.3:114 build/C/man3/getpwnam.3:210
761 #: build/C/man3/getspnam.3:233
767 #: build/C/man3/getgrent.3:162 build/C/man3/getgrnam.3:207
768 #: build/C/man3/getpwent.3:150 build/C/man3/getpwnam.3:213
769 msgid "Insufficient buffer space supplied."
770 msgstr "与えられたバッファー空間が不十分である。"
773 #: build/C/man3/getgrent.3:163 build/C/man3/getgrnam.3:208
775 msgid "I</etc/group>"
776 msgstr "I</etc/group>"
779 #: build/C/man3/getgrent.3:166 build/C/man3/getgrnam.3:211
780 msgid "local group database file"
781 msgstr "ローカルのグループデータベースファイル"
784 #: build/C/man3/getgrent.3:166 build/C/man3/getgrnam.3:211
785 #: build/C/man3/getpwent.3:154 build/C/man3/getpwnam.3:217
791 #: build/C/man3/getgrent.3:167 build/C/man3/getgrnam.3:212
792 #: build/C/man3/getpwent.3:155 build/C/man3/getpwnam.3:218
794 msgid "Multithreading (see pthreads(7))"
795 msgstr "マルチスレッディング (pthreads(7) 参照)"
798 #: build/C/man3/getgrent.3:171
799 msgid "The B<getgrent>() function is not thread-safe."
800 msgstr "B<getgrent>() 関数はスレッドセーフではない。"
803 #: build/C/man3/getgrent.3:177
804 msgid "The B<setgrent>() and B<endgrent>() functions are thread-safe."
805 msgstr "関数 B<setgrent>() と B<endgrent>() はスレッドセーフである。"
808 #: build/C/man3/getgrent.3:179 build/C/man3/getgrnam.3:226
809 msgid "SVr4, 4.3BSD, POSIX.1-2001."
810 msgstr "SVr4, 4.3BSD, POSIX.1-2001."
813 #: build/C/man3/getgrent.3:187
815 "B<fgetgrent>(3), B<getgrent_r>(3), B<getgrgid>(3), B<getgrnam>(3), "
816 "B<getgrouplist>(3), B<putgrent>(3), B<group>(5)"
818 "B<fgetgrent>(3), B<getgrent_r>(3), B<getgrgid>(3), B<getgrnam>(3) "
819 "B<getgrouplist>(3), B<putgrent>(3), B<group>(5)"
822 #: build/C/man3/getgrent_r.3:24
828 #: build/C/man3/getgrent_r.3:24 build/C/man3/getpw.3:32
829 #: build/C/man3/getpwent_r.3:24 build/C/man3/getspnam.3:8
830 #: build/C/man3/putgrent.3:7
836 #: build/C/man3/getgrent_r.3:27
837 msgid "getgrent_r, fgetgrent_r - get group file entry reentrantly"
839 "getgrent_r, fgetgrent_r - グループファイルエントリーをリエントラント "
843 #: build/C/man3/getgrent_r.3:30
845 msgid "B<#include E<lt>grp.hE<gt>>\n"
846 msgstr "B<#include E<lt>grp.hE<gt>>\n"
849 #: build/C/man3/getgrent_r.3:32
851 msgid "B<int getgrent_r(struct group *>I<gbuf>B<, char *>I<buf>B<,>\n"
852 msgstr "B<int getgrent_r(struct group *>I<gbuf>B<, char *>I<buf>B<,>\n"
855 #: build/C/man3/getgrent_r.3:34
857 msgid "B< size_t >I<buflen>B<, struct group **>I<gbufp>B<);>\n"
858 msgstr "B< size_t >I<buflen>B<, struct group **>I<gbufp>B<);>\n"
861 #: build/C/man3/getgrent_r.3:36
863 msgid "B<int fgetgrent_r(FILE *>I<stream>B<, struct group *>I<gbuf>B<, char *>I<buf>B<,>\n"
864 msgstr "B<int fgetgrent_r(FILE *>I<stream>B<, struct group *>I<gbuf>B<, char *>I<buf>B<,>\n"
867 #: build/C/man3/getgrent_r.3:38
869 msgid "B< size_t >I<buflen>B<, struct group **>I<gbufp>B<);>\n"
870 msgstr "B< size_t >I<buflen>B<, struct group **>I<gbufp>B<);>\n"
872 #. FIXME . The FTM requirements seem inconsistent here. File a glibc bug?
874 #: build/C/man3/getgrent_r.3:48
875 msgid "B<getgrent_r>(): _GNU_SOURCE"
876 msgstr "B<getgrent_r>(): _GNU_SOURCE"
879 #: build/C/man3/getgrent_r.3:51
880 msgid "B<fgetgrent_r>(): _SVID_SOURCE"
881 msgstr "B<fgetgrent_r>(): _SVID_SOURCE"
884 #: build/C/man3/getgrent_r.3:64
886 "The functions B<getgrent_r>() and B<fgetgrent_r>() are the reentrant "
887 "versions of B<getgrent>(3) and B<fgetgrent>(3). The former reads the next "
888 "group entry from the stream initialized by B<setgrent>(3). The latter reads "
889 "the next group entry from I<stream>."
891 "関数 B<getgrent_r>() と B<fgetgrent_r>() は B<getgrent>(3) と "
892 "B<fgetgrent>(3) のリエントラント版である。 前者は、 B<setgrent>(3) によって"
893 "初期化されたストリームから、次のグループファイルのエントリーを読み込む。 後者"
894 "は、 I<stream> から次のグループファイルのエントリーを読み込む。"
897 #: build/C/man3/getgrent_r.3:102
899 "The nonreentrant functions return a pointer to static storage, where this "
900 "static storage contains further pointers to group name, password and "
901 "members. The reentrant functions described here return all of that in "
902 "caller-provided buffers. First of all there is the buffer I<gbuf> that can "
903 "hold a I<struct group>. And next the buffer I<buf> of size I<buflen> that "
904 "can hold additional strings. The result of these functions, the I<struct "
905 "group> read from the stream, is stored in the provided buffer I<*gbuf>, and "
906 "a pointer to this I<struct group> is returned in I<*gbufp>."
908 "リエントラントでない関数は静的な格納領域へのポインターを返す。 この静的な格納"
909 "領域には、更にグループ名・パスワード・ メンバへのポインターが含まれる。 ここ"
910 "で説明されているリエントラントな関数は、 呼び出し側から提供されるバッファーに"
911 "グループ名など全てを返す。 最初の引き数として I<struct group> を保持できる"
912 "バッファー I<gbuf> がある。 次にその他の文字列を保持できるサイズ I<buflen> の"
913 "バッファー I<buf> がある。 これらの関数の結果 (ストリームから読み込まれた "
914 "I<struct group>) は、 提供されたバッファー I<*gbuf> に格納され、この "
915 "I<struct group> へのポインターは I<*gbufp> に返される。"
918 #: build/C/man3/getgrent_r.3:109
920 "On success, these functions return 0 and I<*gbufp> is a pointer to the "
921 "I<struct group>. On error, these functions return an error value and "
924 "成功した場合、これらの関数は 0 を返し、 *I<gbufp> は I<struct group> へのポイ"
925 "ンターとなる。 エラーの場合、これらの関数はエラー値を返し、 *I<gbufp> は "
929 #: build/C/man3/getgrent_r.3:113 build/C/man3/getpwent_r.3:114
930 msgid "No more entries."
934 #: build/C/man3/getgrent_r.3:117 build/C/man3/getpwent_r.3:118
935 msgid "Insufficient buffer space supplied. Try again with larger buffer."
937 "十分なバッファー空間が与えられていない。 もっと大きなバッファーで再度実行する"
941 #: build/C/man3/getgrent_r.3:122 build/C/man3/getpwent_r.3:123
943 "These functions are GNU extensions, done in a style resembling the POSIX "
944 "version of functions like B<getpwnam_r>(3). Other systems use the prototype"
946 "これらの関数は GNU 拡張であり、POSIX 版の関数 B<getpwnam_r>(3) の形式に似せ"
947 "てある。 他のシステムでは以下のプロトタイプが使われている。"
950 #: build/C/man3/getgrent_r.3:127
953 "struct group *getgrent_r(struct group *grp, char *buf,\n"
956 "struct group *getgrent_r(struct group *grp, char *buf,\n"
960 #: build/C/man3/getgrent_r.3:131 build/C/man3/getpwent_r.3:132
962 msgstr "より良いものでは、以下のようになっている。"
965 #: build/C/man3/getgrent_r.3:136
968 "int getgrent_r(struct group *grp, char *buf, int buflen,\n"
971 "int getgrent_r(struct group *grp, char *buf, int buflen,\n"
975 #: build/C/man3/getgrent_r.3:138 build/C/man3/getgrnam.3:226
976 #: build/C/man3/getpwent_r.3:140 build/C/man3/getpwnam.3:235
977 #: build/C/man5/passwd.5:144
983 #: build/C/man3/getgrent_r.3:143
985 "The function B<getgrent_r>() is not really reentrant since it shares the "
986 "reading position in the stream with all other threads."
988 "関数 B<getgrent_r>() は本当のリエントラントではない。 なぜなら、ストリームの"
989 "読み込み位置を 他の全てのスレッドと共有しているためである。"
992 #: build/C/man3/getgrent_r.3:143 build/C/man3/getgrouplist.3:109
993 #: build/C/man3/getpwent_r.3:145 build/C/man3/getpwnam.3:274
994 #: build/C/man3/setaliasent.3:115
1000 #: build/C/man3/getgrent_r.3:150
1003 "#define _GNU_SOURCE\n"
1004 "#include E<lt>grp.hE<gt>\n"
1005 "#include E<lt>stdio.hE<gt>\n"
1006 "#include E<lt>stdlib.hE<gt>\n"
1007 "#define BUFLEN 4096\n"
1009 "#define _GNU_SOURCE\n"
1010 "#include E<lt>grp.hE<gt>\n"
1011 "#include E<lt>stdio.hE<gt>\n"
1012 "#include E<lt>stdlib.hE<gt>\n"
1013 "#define BUFLEN 4096\n"
1016 #: build/C/man3/getgrent_r.3:157
1022 " struct group grp, *grpp;\n"
1023 " char buf[BUFLEN];\n"
1029 " struct group grp, *grpp;\n"
1030 " char buf[BUFLEN];\n"
1034 #: build/C/man3/getgrent_r.3:174
1039 " i = getgrent_r(&grp, buf, BUFLEN, &grpp);\n"
1042 " printf(\"%s (%d):\", grpp-E<gt>gr_name, grpp-E<gt>gr_gid);\n"
1043 " for (i = 0; ; i++) {\n"
1044 " if (grpp-E<gt>gr_mem[i] == NULL)\n"
1046 " printf(\" %s\", grpp-E<gt>gr_mem[i]);\n"
1048 " printf(\"\\en\");\n"
1051 " exit(EXIT_SUCCESS);\n"
1056 " i = getgrent_r(&grp, buf, BUFLEN, &grpp);\n"
1059 " printf(\"%s (%d):\", grpp-E<gt>gr_name, grpp-E<gt>gr_gid);\n"
1060 " for (i = 0; ; i++) {\n"
1061 " if (grpp-E<gt>gr_mem[i] == NULL)\n"
1063 " printf(\" %s\", grpp-E<gt>gr_mem[i]);\n"
1065 " printf(\"\\en\");\n"
1068 " exit(EXIT_SUCCESS);\n"
1072 #: build/C/man3/getgrent_r.3:191
1074 "B<fgetgrent>(3), B<getgrent>(3), B<getgrgid>(3), B<getgrnam>(3), "
1075 "B<putgrent>(3), B<group>(5)"
1077 "B<fgetgrent>(3), B<getgrent>(3), B<getgrgid>(3), B<getgrnam>(3), "
1078 "B<putgrent>(3), B<group>(5)"
1081 #: build/C/man3/getgrnam.3:33
1087 #: build/C/man3/getgrnam.3:36
1088 msgid "getgrnam, getgrnam_r, getgrgid, getgrgid_r - get group file entry"
1090 "getgrnam, getgrnam_r, getgrgid, getgrgid_r - グループファイルエントリーの取り"
1094 #: build/C/man3/getgrnam.3:42
1096 msgid "B<struct group *getgrnam(const char *>I<name>B<);>\n"
1097 msgstr "B<struct group *getgrnam(const char *>I<name>B<);>\n"
1100 #: build/C/man3/getgrnam.3:44
1102 msgid "B<struct group *getgrgid(gid_t >I<gid>B<);>\n"
1103 msgstr "B<struct group *getgrgid(gid_t >I<gid>B<);>\n"
1106 #: build/C/man3/getgrnam.3:46
1108 msgid "B<int getgrnam_r(const char *>I<name>B<, struct group *>I<grp>B<,>\n"
1109 msgstr "B<int getgrnam_r(const char *>I<name>B<, struct group *>I<grp>B<,>\n"
1112 #: build/C/man3/getgrnam.3:48 build/C/man3/getgrnam.3:52
1114 msgid "B< char *>I<buf>B<, size_t >I<buflen>B<, struct group **>I<result>B<);>\n"
1115 msgstr "B< char *>I<buf>B<, size_t >I<buflen>B<, struct group **>I<result>B<);>\n"
1118 #: build/C/man3/getgrnam.3:50
1120 msgid "B<int getgrgid_r(gid_t >I<gid>B<, struct group *>I<grp>B<,>\n"
1121 msgstr "B<int getgrgid_r(gid_t >I<gid>B<, struct group *>I<grp>B<,>\n"
1124 #: build/C/man3/getgrnam.3:62
1125 msgid "B<getgrnam_r>(), B<getgrgid_r>():"
1126 msgstr "B<getgrnam_r>(), B<getgrgid_r>():"
1129 #: build/C/man3/getgrnam.3:65 build/C/man3/getpwnam.3:69
1131 "_POSIX_C_SOURCE\\ E<gt>=\\ 1 || _XOPEN_SOURCE || _BSD_SOURCE || _SVID_SOURCE "
1134 "_POSIX_C_SOURCE\\ E<gt>=\\ 1 || _XOPEN_SOURCE || _BSD_SOURCE || _SVID_SOURCE "
1138 #: build/C/man3/getgrnam.3:77
1140 "The B<getgrnam>() function returns a pointer to a structure containing the "
1141 "broken-out fields of the record in the group database (e.g., the local group "
1142 "file I</etc/group>, NIS, and LDAP) that matches the group name I<name>."
1144 "B<getgrnam>() 関数は、グループ名 I<name> にマッチするグループデータベースの"
1145 "エントリーを 要素毎に分解し、各要素を格納した構造体へのポインターを返す (パス"
1146 "ワードデータベースの例: ローカルのグループファイル I</etc/group>, NIS, "
1150 #: build/C/man3/getgrnam.3:84
1152 "The B<getgrgid>() function returns a pointer to a structure containing the "
1153 "broken-out fields of the record in the group database that matches the group "
1156 "B<getgrgid>() 関数は、グループ ID I<uid> にマッチするグループデータベースの"
1157 "エントリーを 要素毎に分解し、各要素を格納した構造体へのポインターを返す。"
1160 #: build/C/man3/getgrnam.3:124
1162 "The B<getgrnam_r>() and B<getgrgid_r>() functions obtain the same "
1163 "information as B<getgrnam>() and B<getgrgid>(), but store the retrieved "
1164 "I<group> structure in the space pointed to by I<grp>. The string fields "
1165 "pointed to by the members of the I<group> structure are stored in the buffer "
1166 "I<buf> of size I<buflen>. A pointer to the result (in case of success) or "
1167 "NULL (in case no entry was found or an error occurred) is stored in "
1170 "B<getgrnam_r>() と B<getgrgid_r>() 関数は、それぞれ B<getgrnam>() と\n"
1171 "B<getgrgid>() と同じ情報を取得するが、取得した I<group> 構造体を\n"
1172 "I<grp> が指す領域に格納する。I<group> 構造体のメンバーが指す文字列は、\n"
1173 "サイズ I<buflen> のバッファー I<buf> に格納される。成功した場合\n"
1174 "I<*gbufp> には結果へのポインターが格納される。エントリーが見つからなかった\n"
1175 "場合やエラーが発生した場合には I<*result> には NULL が入る。"
1178 #: build/C/man3/getgrnam.3:126 build/C/man3/getpwnam.3:132
1183 #: build/C/man3/getgrnam.3:128
1185 msgid " sysconf(_SC_GETGR_R_SIZE_MAX)\n"
1186 msgstr " sysconf(_SC_GETGR_R_SIZE_MAX)\n"
1189 #: build/C/man3/getgrnam.3:137 build/C/man3/getpwnam.3:143
1191 "returns either -1, without changing I<errno>, or an initial suggested size "
1192 "for I<buf>. (If this size is too small, the call fails with B<ERANGE>, in "
1193 "which case the caller can retry with a larger buffer.)"
1195 "は、 I<errno> を変更せずに -1 を返すか、 I<buf> の初期サイズの推奨値を\n"
1196 "返す。(このサイズが小さすぎる場合、呼び出しは B<ERANGE> で失敗し、この\n"
1197 "場合には呼び出し側はバッファーを大きくしてから再度呼び出すことができる。)"
1200 #: build/C/man3/getgrnam.3:152
1202 "The B<getgrnam>() and B<getgrgid>() functions return a pointer to a "
1203 "I<group> structure, or NULL if the matching entry is not found or an error "
1204 "occurs. If an error occurs, I<errno> is set appropriately. If one wants to "
1205 "check I<errno> after the call, it should be set to zero before the call."
1207 "B<getgrnam>() と B<getgrgid>() 関数は、 I<group> 構造体へのポインターを返"
1208 "す。 マッチするエントリーが見つからなかった場合や、 エラーが発生した場合は "
1209 "NULL を返す。 エラーが起こった場合、 I<errno> が適切に設定される。 呼び出しの"
1210 "後で I<errno> をチェックしたい場合は、 呼び出しの前に (この値を) 0 に設定して"
1214 #: build/C/man3/getgrnam.3:161
1216 "The return value may point to a static area, and may be overwritten by "
1217 "subsequent calls to B<getgrent>(3), B<getgrgid>(), or B<getgrnam>(). (Do "
1218 "not pass the returned pointer to B<free>(3).)"
1220 "返り値は静的な領域を指しており、その後の B<getgrent>(3), B<getgrgid>(), "
1221 "B<getgrnam>() の呼び出しで上書きされるかもしれない。 (返されたポインターを "
1222 "B<free>(3) に渡さないこと。)"
1225 #: build/C/man3/getgrnam.3:175
1227 "On success, B<getgrnam_r>() and B<getgrgid_r>() return zero, and set "
1228 "I<*result> to I<grp>. If no matching group record was found, these "
1229 "functions return 0 and store NULL in I<*result>. In case of error, an error "
1230 "number is returned, and NULL is stored in I<*result>."
1232 "成功すると、 B<getgrnam_r>() と B<getgrgid_r>() は 0 を返し、 I<*result> "
1233 "に I<grp> を設定する。 マッチするグループエントリーが見つからなかった場合に"
1234 "は、 0 を返し、 I<*result> に NULL を設定する。 エラーの場合、エラー番号を返"
1235 "し、 I<*result> に NULL を設定する。"
1238 #: build/C/man3/getgrnam.3:176 build/C/man3/getpwnam.3:182
1240 msgid "B<0> or B<ENOENT> or B<ESRCH> or B<EBADF> or B<EPERM> or ... "
1241 msgstr "B<0> または B<ENOENT> または B<ESRCH> または B<EBADF> または B<EPERM> または ... "
1244 #: build/C/man3/getgrnam.3:183
1245 msgid "The given I<name> or I<gid> was not found."
1246 msgstr "指定された I<name> または I<gid> が見つからなかった。"
1249 #: build/C/man3/getgrnam.3:194 build/C/man3/getpwent.3:137
1250 #: build/C/man3/getpwnam.3:200
1252 "The maximum number (B<OPEN_MAX>) of files was open already in the calling "
1255 "呼び出し元プロセスがオープンしているファイル数が すでに上限 (B<OPEN_MAX>) で"
1259 #: build/C/man3/getgrnam.3:197 build/C/man3/getpwent.3:140
1260 #: build/C/man3/getpwnam.3:203
1261 msgid "The maximum number of files was open already in the system."
1262 msgstr "システムでオープンされているファイル数がすでに上限であった。"
1265 #: build/C/man3/getgrnam.3:218
1266 msgid "The B<getgrnam>() and B<getgrgid>() functions are not thread-safe."
1267 msgstr "関数 B<getgrnam>() と B<getgrgid>() はスレッドセーフではない。"
1270 #: build/C/man3/getgrnam.3:224
1271 msgid "The B<getgrnam_r>() and B<getgrgid_r>() functions are thread-safe."
1272 msgstr "関数 B<getgrnam_r>() と B<getgrgid_r>() はスレッドセーフである。"
1275 #. AIX 5.1 - gives ESRCH
1276 #. OSF1 4.0g - gives EWOULDBLOCK
1277 #. libc, glibc up to version 2.6, Irix 6.5 - give ENOENT
1278 #. glibc since version 2.7 - give 0
1279 #. FreeBSD 4.8, OpenBSD 3.2, NetBSD 1.6 - give EPERM
1280 #. SunOS 5.8 - gives EBADF
1281 #. Tru64 5.1b, HP-UX-11i, SunOS 5.7 - give 0
1283 #: build/C/man3/getgrnam.3:247
1285 "The formulation given above under \"RETURN VALUE\" is from POSIX.1-2001. It "
1286 "does not call \"not found\" an error, hence does not specify what value "
1287 "I<errno> might have in this situation. But that makes it impossible to "
1288 "recognize errors. One might argue that according to POSIX I<errno> should "
1289 "be left unchanged if an entry is not found. Experiments on various UNIX-"
1290 "like systems shows that lots of different values occur in this situation: 0, "
1291 "ENOENT, EBADF, ESRCH, EWOULDBLOCK, EPERM, and probably others."
1293 "上記の「返り値」以下の記述は POSIX.1-2001 に拠る。 この標準は「(エントリー"
1294 "が) 見つからないこと」をエラーとしていないので、 そのような場合に I<errno> が"
1295 "どのような値になるかを定めていない。 そのため、エラーを認識することは不可能で"
1296 "ある。 POSIX に準拠して、エントリーが見つからない場合は I<errno> を変更しない"
1297 "ようにすべきである、と主張する人もいるかもしれない。 様々な UNIX 系のシステム"
1298 "で試してみると、そのような場合には 0, ENOENT, EBADF, ESRCH, EWOULDBLOCK, "
1299 "EPERM といった様々な値が返される。 他の値が返されるかもしれない。"
1302 #: build/C/man3/getgrnam.3:254
1304 "B<endgrent>(3), B<fgetgrent>(3), B<getgrent>(3), B<getpwnam>(3), "
1305 "B<setgrent>(3), B<group>(5)"
1307 "B<endgrent>(3), B<fgetgrent>(3), B<getgrent>(3), B<getpwnam>(3), "
1308 "B<setgrent>(3), B<group>(5)"
1311 #: build/C/man3/getgrouplist.3:29
1313 msgid "GETGROUPLIST"
1314 msgstr "GETGROUPLIST"
1317 #: build/C/man3/getgrouplist.3:32
1318 msgid "getgrouplist - get list of groups to which a user belongs"
1319 msgstr "getgrouplist - ユーザーが所属するグループのリストを取得する"
1322 #: build/C/man3/getgrouplist.3:34 build/C/man3/putgrent.3:14
1323 msgid "B<#include E<lt>grp.hE<gt>>"
1324 msgstr "B<#include E<lt>grp.hE<gt>>"
1327 #: build/C/man3/getgrouplist.3:36
1328 msgid "B<int getgrouplist(const char *>I<user>B<, gid_t >I<group>B<,>"
1329 msgstr "B<int getgrouplist(const char *>I<user>B<, gid_t >I<group>B<,>"
1332 #: build/C/man3/getgrouplist.3:38
1333 msgid "B< gid_t *>I<groups>B<, int *>I<ngroups>B<);>"
1334 msgstr "B< gid_t *>I<groups>B<, int *>I<ngroups>B<);>"
1337 #: build/C/man3/getgrouplist.3:46
1338 msgid "B<getgrouplist>(): _BSD_SOURCE"
1339 msgstr "B<getgrouplist>(): _BSD_SOURCE"
1342 #: build/C/man3/getgrouplist.3:58
1344 "The B<getgrouplist>() function scans the group database (see B<group>(5)) "
1345 "to obtain the list of groups that I<user> belongs to. Up to I<*ngroups> of "
1346 "these groups are returned in the array I<groups>."
1348 "B<getgrouplist>() 関数は、グループデータベース (B<group>(5) 参照) を調べ"
1349 "て、 I<user> が所属するグループのリストを取得する。 見つかったグループのうち"
1350 "最大 I<*ngroups> 個のグループが、配列 I<groups> に格納されて返される。"
1353 #: build/C/man3/getgrouplist.3:68
1355 "If it was not among the groups defined for I<user> in the group database, "
1356 "then I<group> is included in the list of groups returned by "
1357 "B<getgrouplist>(); typically this argument is specified as the group ID from "
1358 "the password record for I<user>."
1360 "引き数 I<group> がグループデータベースに I<user> が所属するグループがなかった"
1361 "場合、 B<getgrouplist>() が返すグループのリストに引き数 I<group> も追加され"
1362 "る。 通常は、この引き数にはユーザー I<user> のパスワードレコードに書かれてい"
1366 #: build/C/man3/getgrouplist.3:78
1368 "The I<ngroups> argument is a value-result argument: on return it always "
1369 "contains the number of groups found for I<user>, including I<group>; this "
1370 "value may be greater than the number of groups stored in I<groups>."
1372 "引き数 I<ngroups> は、値渡しと結果の両方に使用される引き数 (value-result "
1373 "argument) であり、 リターン時には、常に I<group> も含めた I<user> が所属する"
1374 "グループ数が格納される。 この値は I<groups> に格納されたグループ数より大きく"
1378 #: build/C/man3/getgrouplist.3:86
1380 "If the number of groups of which I<user> is a member is less than or equal "
1381 "to I<*ngroups>, then the value I<*ngroups> is returned."
1383 "I<user> が所属しているグループ数が I<*ngroups> 以下の場合、 I<*ngroups> の値"
1387 #: build/C/man3/getgrouplist.3:96
1389 "If the user is a member of more than I<*ngroups> groups, then "
1390 "B<getgrouplist>() returns -1. In this case, the value returned in "
1391 "I<*ngroups> can be used to resize the buffer passed to a further call "
1392 "B<getgrouplist>()."
1394 "指定されたユーザーが I<*ngroups> より多くのグループに所属している場合、 "
1395 "B<getgrouplist>() は -1 を返す。 この場合、 I<*ngroups> で返される値を使っ"
1396 "て、バッファーのサイズを変更してから、 B<getgrouplist>() をもう一度呼び出す"
1400 #: build/C/man3/getgrouplist.3:96
1406 #: build/C/man3/getgrouplist.3:98
1407 msgid "This function is present since glibc 2.2.4."
1408 msgstr "この関数は glibc 2.2.4 から存在する。"
1411 #: build/C/man3/getgrouplist.3:100
1412 msgid "This function is nonstandard; it appears on most BSDs."
1413 msgstr "この関数は非標準である。ほとんどの BSD に存在する。"
1416 #: build/C/man3/getgrouplist.3:100 build/C/man3/getpw.3:108
1417 #: build/C/man5/group.5:55
1423 #: build/C/man3/getgrouplist.3:109
1425 "In glibc versions before 2.3.3, the implementation of this function contains "
1426 "a buffer-overrun bug: it returns the complete list of groups for I<user> in "
1427 "the array I<groups>, even when the number of groups exceeds I<*ngroups>."
1429 "バージョン 2.3.3 より前の glibc では、 この関数の実装にはバッファーオーバーフ"
1430 "ローのバグがあり、 I<user> が所属するグループ数が I<*ngroups> より多い場合で"
1431 "あっても、 I<user> が所属するグループの全リストを配列 I<groups> に格納してし"
1435 #: build/C/man3/getgrouplist.3:118
1437 "The program below displays the group list for the user named in its first "
1438 "command-line argument. The second command-line argument specifies the "
1439 "I<ngroups> value to be supplied to B<getgrouplist>(). The following shell "
1440 "session shows examples of the use of this program:"
1442 "以下のプログラムは、一つ目のコマンドライン引き数で指定された名前のユーザー が"
1443 "所属するグループのリストを表示する。 二番目のコマンドライン引き数には、 "
1444 "B<getgrouplist>() に渡す I<ngroups> の値を指定する。 以下のシェルのセッショ"
1445 "ンはこのプログラムの使用例を示したものである。"
1448 #: build/C/man3/getgrouplist.3:128
1451 "$B< ./a.out cecilia 0>\n"
1452 "getgrouplist() returned -1; ngroups = 3\n"
1453 "$B< ./a.out cecilia 3>\n"
1459 "$B< ./a.out cecilia 0>\n"
1460 "getgrouplist() returned -1; ngroups = 3\n"
1461 "$B< ./a.out cecilia 3>\n"
1468 #: build/C/man3/getgrouplist.3:130
1470 msgid "Program source"
1474 #: build/C/man3/getgrouplist.3:137
1477 "#include E<lt>stdio.hE<gt>\n"
1478 "#include E<lt>stdlib.hE<gt>\n"
1479 "#include E<lt>grp.hE<gt>\n"
1480 "#include E<lt>pwd.hE<gt>\n"
1482 "#include E<lt>stdio.hE<gt>\n"
1483 "#include E<lt>stdlib.hE<gt>\n"
1484 "#include E<lt>grp.hE<gt>\n"
1485 "#include E<lt>pwd.hE<gt>\n"
1488 #: build/C/man3/getgrouplist.3:145
1492 "main(int argc, char *argv[])\n"
1494 " int j, ngroups;\n"
1496 " struct passwd *pw;\n"
1497 " struct group *gr;\n"
1500 "main(int argc, char *argv[])\n"
1502 " int j, ngroups;\n"
1504 " struct passwd *pw;\n"
1505 " struct group *gr;\n"
1508 #: build/C/man3/getgrouplist.3:150
1511 " if (argc != 3) {\n"
1512 " fprintf(stderr, \"Usage: %s E<lt>userE<gt> E<lt>ngroupsE<gt>\\en\", argv[0]);\n"
1513 " exit(EXIT_FAILURE);\n"
1516 " if (argc != 3) {\n"
1517 " fprintf(stderr, \"Usage: %s E<lt>userE<gt> E<lt>ngroupsE<gt>\\en\", argv[0]);\n"
1518 " exit(EXIT_FAILURE);\n"
1522 #: build/C/man3/getgrouplist.3:152
1524 msgid " ngroups = atoi(argv[2]);\n"
1525 msgstr " ngroups = atoi(argv[2]);\n"
1528 #: build/C/man3/getgrouplist.3:158
1531 " groups = malloc(ngroups * sizeof (gid_t));\n"
1532 " if (groups == NULL) {\n"
1533 " perror(\"malloc\");\n"
1534 " exit(EXIT_FAILURE);\n"
1537 " groups = malloc(ngroups * sizeof (gid_t));\n"
1538 " if (groups == NULL) {\n"
1539 " perror(\"malloc\");\n"
1540 " exit(EXIT_FAILURE);\n"
1544 #: build/C/man3/getgrouplist.3:160
1546 msgid " /* Fetch passwd structure (contains first group ID for user) */\n"
1547 msgstr " /* Fetch passwd structure (contains first group ID for user) */\n"
1550 #: build/C/man3/getgrouplist.3:166
1553 " pw = getpwnam(argv[1]);\n"
1554 " if (pw == NULL) {\n"
1555 " perror(\"getpwnam\");\n"
1556 " exit(EXIT_SUCCESS);\n"
1559 " pw = getpwnam(argv[1]);\n"
1560 " if (pw == NULL) {\n"
1561 " perror(\"getpwnam\");\n"
1562 " exit(EXIT_SUCCESS);\n"
1566 #: build/C/man3/getgrouplist.3:168
1568 msgid " /* Retrieve group list */\n"
1569 msgstr " /* Retrieve group list */\n"
1572 #: build/C/man3/getgrouplist.3:174
1575 " if (getgrouplist(argv[1], pw-E<gt>pw_gid, groups, &ngroups) == -1) {\n"
1576 " fprintf(stderr, \"getgrouplist() returned -1; ngroups = %d\\en\",\n"
1578 " exit(EXIT_FAILURE);\n"
1581 " if (getgrouplist(argv[1], pw-E<gt>pw_gid, groups, &ngroups) == -1) {\n"
1582 " fprintf(stderr, \"getgrouplist() returned -1; ngroups = %d\\en\",\n"
1584 " exit(EXIT_FAILURE);\n"
1588 #: build/C/man3/getgrouplist.3:176
1590 msgid " /* Display list of retrieved groups, along with group names */\n"
1591 msgstr " /* Display list of retrieved groups, along with group names */\n"
1594 #: build/C/man3/getgrouplist.3:185
1597 " fprintf(stderr, \"ngroups = %d\\en\", ngroups);\n"
1598 " for (j = 0; j E<lt> ngroups; j++) {\n"
1599 " printf(\"%d\", groups[j]);\n"
1600 " gr = getgrgid(groups[j]);\n"
1601 " if (gr != NULL)\n"
1602 " printf(\" (%s)\", gr-E<gt>gr_name);\n"
1603 " printf(\"\\en\");\n"
1606 " fprintf(stderr, \"ngroups = %d\\en\", ngroups);\n"
1607 " for (j = 0; j E<lt> ngroups; j++) {\n"
1608 " printf(\"%d\", groups[j]);\n"
1609 " gr = getgrgid(groups[j]);\n"
1610 " if (gr != NULL)\n"
1611 " printf(\" (%s)\", gr-E<gt>gr_name);\n"
1612 " printf(\"\\en\");\n"
1616 #: build/C/man3/getgrouplist.3:188
1619 " exit(EXIT_SUCCESS);\n"
1622 " exit(EXIT_SUCCESS);\n"
1626 #: build/C/man3/getgrouplist.3:196
1628 "B<getgroups>(2), B<setgroups>(2), B<getgrent>(3), B<group_member>(3), "
1629 "B<group>(5), B<passwd>(5)"
1631 "B<getgroups>(2), B<setgroups>(2), B<getgrent>(3), B<group_member>(3), "
1632 "B<group>(5), B<passwd>(5)"
1635 #: build/C/man3/getpw.3:32
1641 #: build/C/man3/getpw.3:35
1642 msgid "getpw - reconstruct password line entry"
1643 msgstr "getpw - パスワード行エントリーを取得する"
1646 #: build/C/man3/getpw.3:40
1649 "B<#define _GNU_SOURCE> /* See feature_test_macros(7) */\n"
1650 "B<#include E<lt>sys/types.hE<gt>>\n"
1651 "B<#include E<lt>pwd.hE<gt>>\n"
1653 "B<#define _GNU_SOURCE> /* feature_test_macros(7) 参照 */\n"
1654 "B<#include E<lt>sys/types.hE<gt>>\n"
1655 "B<#include E<lt>pwd.hE<gt>>\n"
1658 #: build/C/man3/getpw.3:42
1660 msgid "B<int getpw(uid_t >I<uid>B<, char *>I<buf>B<);>\n"
1661 msgstr "B<int getpw(uid_t >I<uid>B<, char *>I<buf>B<);>\n"
1664 #: build/C/man3/getpw.3:49
1666 "The B<getpw>() function reconstructs the password line entry for the given "
1667 "user ID I<uid> in the buffer I<buf>. The returned buffer contains a line of "
1670 "B<getpw>() 関数は、バッファー I<buf> に指定ユーザー ID I<uid> の パスワード"
1671 "行エントリーを取得する。 返されるバッファーは、以下の形式の行を含む。"
1674 #: build/C/man3/getpw.3:52
1675 msgid "B<name:passwd:uid:gid:gecos:dir:shell>"
1676 msgstr "B<name:passwd:uid:gid:gecos:dir:shell>"
1679 #: build/C/man3/getpw.3:67 build/C/man3/getpwent.3:98
1680 #: build/C/man3/getpwnam.3:102
1684 " char *pw_name; /* username */\n"
1685 " char *pw_passwd; /* user password */\n"
1686 " uid_t pw_uid; /* user ID */\n"
1687 " gid_t pw_gid; /* group ID */\n"
1688 " char *pw_gecos; /* user information */\n"
1689 " char *pw_dir; /* home directory */\n"
1690 " char *pw_shell; /* shell program */\n"
1694 " char *pw_name; /* ユーザー名 */\n"
1695 " char *pw_passwd; /* ユーザーのパスワード */\n"
1696 " uid_t pw_uid; /* ユーザー ID */\n"
1697 " gid_t pw_gid; /* グループ ID */\n"
1698 " char *pw_gecos; /* ユーザー情報 */\n"
1699 " char *pw_dir; /* ホームディレクトリ */\n"
1700 " char *pw_shell; /* シェルプログラム */\n"
1704 #: build/C/man3/getpw.3:72 build/C/man3/getpwent.3:103
1705 #: build/C/man3/getpwent_r.3:84
1707 "For more information about the fields of this structure, see B<passwd>(5)."
1708 msgstr "この構造体のフィールドの詳細は B<passwd>(5) を参照のこと。"
1711 #: build/C/man3/getpw.3:78
1713 "The B<getpw>() function returns 0 on success; on error, it returns -1, and "
1714 "I<errno> is set to indicate the error."
1716 "B<getpw>() 関数は、成功した場合 0 を返す; エラーが発生した場合 -1 を返し、エ"
1717 "ラーを 示すために I<errno> がセットされる。"
1720 #: build/C/man3/getpw.3:88
1722 "If I<uid> is not found in the password database, B<getpw>() returns -1, "
1723 "sets I<errno> to 0, and leaves I<buf> unchanged."
1725 "I<uid> がパスワードデータベースに見つからない場合、 B<getpw>() は -1 を返"
1726 "し、 I<errno> に 0 を設定し、 I<buf> は変更しない。"
1729 #: build/C/man3/getpw.3:89
1731 msgid "B<0> or B<ENOENT>"
1732 msgstr "B<0> または B<ENOENT>"
1735 #: build/C/man3/getpw.3:93
1736 msgid "No user corresponding to I<uid>."
1737 msgstr "I<uid> に対応するユーザーがいない。"
1740 #: build/C/man3/getpw.3:93 build/C/man3/putpwent.3:79
1746 #: build/C/man3/getpw.3:97
1747 msgid "I<buf> is NULL."
1748 msgstr "I<buf> が NULL。"
1751 #: build/C/man3/getpw.3:108
1756 #: build/C/man3/getpw.3:115
1758 "The B<getpw>() function is dangerous as it may overflow the provided buffer "
1759 "I<buf>. It is obsoleted by B<getpwuid>(3)."
1761 "B<getpw>() 関数は、与えられたバッファー I<buf> がオーバーフローするかもしれ"
1762 "ないので危険である。 この関数は B<getpwuid>(3) によって古いものとなった。"
1765 #: build/C/man3/getpw.3:124
1767 "B<endpwent>(3), B<fgetpwent>(3), B<getpwent>(3), B<getpwnam>(3), "
1768 "B<getpwuid>(3), B<putpwent>(3), B<setpwent>(3), B<passwd>(5)"
1770 "B<endpwent>(3), B<fgetpwent>(3), B<getpwent>(3), B<getpwnam>(3), "
1771 "B<getpwuid>(3), B<putpwent>(3), B<setpwent>(3), B<passwd>(5)"
1774 #: build/C/man3/getpwent.3:33
1780 #: build/C/man3/getpwent.3:33
1786 #: build/C/man3/getpwent.3:36
1787 msgid "getpwent, setpwent, endpwent - get password file entry"
1788 msgstr "getpwent, setpwent, endpwent - パスワードファイルのエントリーの取得"
1791 #: build/C/man3/getpwent.3:40 build/C/man3/getpwnam.3:44
1794 "B<#include E<lt>sys/types.hE<gt>>\n"
1795 "B<#include E<lt>pwd.hE<gt>>\n"
1797 "B<#include E<lt>sys/types.hE<gt>>\n"
1798 "B<#include E<lt>pwd.hE<gt>>\n"
1801 #: build/C/man3/getpwent.3:42
1803 msgid "B<struct passwd *getpwent(void);>\n"
1804 msgstr "B<struct passwd *getpwent(void);>\n"
1807 #: build/C/man3/getpwent.3:44
1809 msgid "B<void setpwent(void);>\n"
1810 msgstr "B<void setpwent(void);>\n"
1813 #: build/C/man3/getpwent.3:46
1815 msgid "B<void endpwent(void);>\n"
1816 msgstr "B<void endpwent(void);>\n"
1819 #: build/C/man3/getpwent.3:57
1820 msgid "B<getpwent>(), B<setpwent>(), B<endpwent>():"
1821 msgstr "B<getpwent>(), B<setpwent>(), B<endpwent>():"
1824 #: build/C/man3/getpwent.3:60
1826 "_BSD_SOURCE || _SVID_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500 || _XOPEN_SOURCE"
1827 "\\ &&\\ _XOPEN_SOURCE_EXTENDED"
1829 "_BSD_SOURCE || _SVID_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500 || _XOPEN_SOURCE"
1830 "\\ &&\\ _XOPEN_SOURCE_EXTENDED"
1833 #: build/C/man3/getpwent.3:74
1835 "The B<getpwent>() function returns a pointer to a structure containing the "
1836 "broken-out fields of a record from the password database (e.g., the local "
1837 "password file I</etc/passwd>, NIS, and LDAP). The first time B<getpwent>() "
1838 "is called, it returns the first entry; thereafter, it returns successive "
1841 "B<getpwent>() 関数は、パスワードデータベースから取得したエントリーを 要素毎"
1842 "に分解し、各要素を格納した構造体へのポインターを返す (パスワードデータベース"
1843 "の例: ローカルのパスワードファイル I</etc/passwd>, NIS, LDAP)。 "
1844 "B<getpwent>() は、最初に呼び出された時は最初のエントリーを返し、それ以降は "
1845 "呼び出される毎に次のエントリーを返す。"
1848 #: build/C/man3/getpwent.3:79
1850 "The B<setpwent>() function rewinds to the beginning of the password "
1852 msgstr "B<setpwent>() 関数を使うと、パスワードデータベースの先頭に戻る。"
1855 #: build/C/man3/getpwent.3:84
1857 "The B<endpwent>() function is used to close the password database after all "
1858 "processing has been performed."
1860 "B<endpwent>() 関数は、全ての処理が終わった後にパスワード データベースをク"
1864 #: build/C/man3/getpwent.3:116
1866 "The B<getpwent>() function returns a pointer to a I<passwd> structure, or "
1867 "NULL if there are no more entries or an error occurred. If an error occurs, "
1868 "I<errno> is set appropriately. If one wants to check I<errno> after the "
1869 "call, it should be set to zero before the call."
1871 "B<getpwent>() 関数は I<passwd> 構造体へのポインターを返す。 これ以上エント"
1872 "リーが無いか、エラーが発生した場合は NULL を返す。 エラーが発生すると、 "
1873 "I<errno> が適切に設定される。 この関数の呼び出し後に I<errno> をチェックした"
1874 "い場合は、呼び出し前に I<errno> を 0 に設定しておかないといけない。"
1877 #: build/C/man3/getpwent.3:125
1879 "The return value may point to a static area, and may be overwritten by "
1880 "subsequent calls to B<getpwent>(), B<getpwnam>(3), or B<getpwuid>(3). (Do "
1881 "not pass the returned pointer to B<free>(3).)"
1883 "返り値は静的な領域を指しており、その後の B<getpwent>(), B<getpwnam>(3), "
1884 "B<getpwuid>(3) の呼び出しで上書きされるかもしれない。 (返されたポインターを "
1885 "B<free>(3) に渡さないこと。)"
1888 #: build/C/man3/getpwent.3:154 build/C/man3/getpwnam.3:217
1889 msgid "local password database file"
1890 msgstr "ローカルのパスワードデータベースファイル"
1893 #: build/C/man3/getpwent.3:159
1894 msgid "The B<getpwent>() function is not thread-safe."
1895 msgstr "B<getpwent>() 関数はスレッドセーフではない。"
1898 #: build/C/man3/getpwent.3:165
1899 msgid "The B<setpwent>() and B<endpwent>() functions are thread-safe."
1900 msgstr "関数 B<setpwent>() と B<endpwent>() はスレッドセーフである。"
1903 #: build/C/man3/getpwent.3:170 build/C/man3/getpwnam.3:235
1905 "SVr4, 4.3BSD, POSIX.1-2001. The I<pw_gecos> field is not specified in "
1906 "POSIX, but is present on most implementations."
1908 "SVr4, 4.3BSD, POSIX.1-2001. I<pw_gecos> フィールドは POSIX では規定されてい"
1909 "ないが、 ほとんどの実装に存在する。"
1912 #: build/C/man3/getpwent.3:178
1914 "B<fgetpwent>(3), B<getpw>(3), B<getpwent_r>(3), B<getpwnam>(3), "
1915 "B<getpwuid>(3), B<putpwent>(3), B<passwd>(5)"
1917 "B<fgetpwent>(3), B<getpw>(3), B<getpwent_r>(3), B<getpwnam>(3), "
1918 "B<getpwuid>(3), B<putpwent>(3), B<passwd>(5)"
1921 #: build/C/man3/getpwent_r.3:24
1927 #: build/C/man3/getpwent_r.3:27
1928 msgid "getpwent_r, fgetpwent_r - get passwd file entry reentrantly"
1930 "getpwent_r, fgetpwent_r - パスワードファイルのエントリーを リエントラントで取"
1934 #: build/C/man3/getpwent_r.3:30
1936 msgid "B<#include E<lt>pwd.hE<gt>>\n"
1937 msgstr "B<#include E<lt>pwd.hE<gt>>\n"
1940 #: build/C/man3/getpwent_r.3:32
1942 msgid "B<int getpwent_r(struct passwd *>I<pwbuf>B<, char *>I<buf>B<,>\n"
1943 msgstr "B<int getpwent_r(struct passwd *>I<pwbuf>B<, char *>I<buf>B<,>\n"
1946 #: build/C/man3/getpwent_r.3:34
1948 msgid "B< size_t >I<buflen>B<, struct passwd **>I<pwbufp>B<);>\n"
1949 msgstr "B< size_t >I<buflen>B<, struct passwd **>I<pwbufp>B<);>\n"
1952 #: build/C/man3/getpwent_r.3:36
1954 msgid "B<int fgetpwent_r(FILE *>I<stream>B<, struct passwd *>I<pwbuf>B<, char *>I<buf>B<,>\n"
1955 msgstr "B<int fgetpwent_r(FILE *>I<stream>B<, struct passwd *>I<pwbuf>B<, char *>I<buf>B<,>\n"
1958 #: build/C/man3/getpwent_r.3:38
1960 msgid "B< size_t >I<buflen>B<, struct passwd **>I<pwbufp>B<);>\n"
1961 msgstr "B< size_t >I<buflen>B<, struct passwd **>I<pwbufp>B<);>\n"
1964 #: build/C/man3/getpwent_r.3:47
1965 msgid "B<getpwent_r>(), _BSD_SOURCE || _SVID_SOURCE"
1966 msgstr "B<getpwent_r>(), _BSD_SOURCE || _SVID_SOURCE"
1969 #: build/C/man3/getpwent_r.3:50
1970 msgid "B<fgetpwent_r>(): _SVID_SOURCE"
1971 msgstr "B<fgetpwent_r>(): _SVID_SOURCE"
1974 #: build/C/man3/getpwent_r.3:63
1976 "The functions B<getpwent_r>() and B<fgetpwent_r>() are the reentrant "
1977 "versions of B<getpwent>(3) and B<fgetpwent>(3). The former reads the next "
1978 "passwd entry from the stream initialized by B<setpwent>(3). The latter "
1979 "reads the next passwd entry from I<stream>."
1981 "関数 B<getpwent_r>() と B<fgetpwent_r>() は B<getpwent>(3) と "
1982 "B<fgetpwent>(3) のリエントラント (reentrant) 版である。 前者は、 "
1983 "B<setpwent>(3) によって初期化されたストリームから、次のパスワードエントリー"
1984 "を読み込む。 後者は、 I<stream> から次のパスワードエントリーを読み込む。"
1987 #: build/C/man3/getpwent_r.3:79
1991 " char *pw_name; /* username */\n"
1992 " char *pw_passwd; /* user password */\n"
1993 " uid_t pw_uid; /* user ID */\n"
1994 " gid_t pw_gid; /* group ID */\n"
1995 " char *pw_gecos; /* user information */\n"
1996 " char *pw_dir; /* home directory */\n"
1997 " char *pw_shell; /* shell program */\n"
2001 " char *pw_name; /* ユーザー名 */\n"
2002 " char *pw_passwd; /* ユーザーのパスワード */\n"
2003 " uid_t pw_uid; /* ユーザー ID */\n"
2004 " gid_t pw_gid; /* グループ ID */\n"
2005 " char *pw_gecos; /* ユーザー情報 */\n"
2006 " char *pw_dir; /* ホームディレクトリ */\n"
2007 " char *pw_shell; /* シェルプログラム */\n"
2011 #: build/C/man3/getpwent_r.3:103
2013 "The nonreentrant functions return a pointer to static storage, where this "
2014 "static storage contains further pointers to user name, password, gecos "
2015 "field, home directory and shell. The reentrant functions described here "
2016 "return all of that in caller-provided buffers. First of all there is the "
2017 "buffer I<pwbuf> that can hold a I<struct passwd>. And next the buffer "
2018 "I<buf> of size I<buflen> that can hold additional strings. The result of "
2019 "these functions, the I<struct passwd> read from the stream, is stored in the "
2020 "provided buffer I<*pwbuf>, and a pointer to this I<struct passwd> is "
2021 "returned in I<*pwbufp>."
2023 "リエントラントでない関数は静的な格納領域へのポインターを返す。 この静的な格納"
2024 "領域には、更にユーザー名・パスワード・gecos フィールド・ ホームディレクトリ・"
2025 "シェルへのポインターが含まれる。 ここで説明されているリエントラント版の関数"
2026 "は、 呼び出し側から提供されるバッファーにユーザー名など全てを返す。 最初の引"
2027 "き数として I<struct passwd> を保持できるバッファー I<pwbuf> がある。 次にその"
2028 "他の文字列を保持できるサイズ I<buflen> のバッファー I<buf> がある。 これらの"
2029 "関数の結果 (ストリームから読み込まれた I<struct passwd>) は、 提供されたバッ"
2030 "ファー I<*pwbuf> に格納され、この I<struct passwd> へのポインターは "
2034 #: build/C/man3/getpwent_r.3:110
2036 "On success, these functions return 0 and I<*pwbufp> is a pointer to the "
2037 "I<struct passwd>. On error, these functions return an error value and "
2038 "I<*pwbufp> is NULL."
2040 "成功した場合、これらの関数は 0 を返し、 I<*pwbufp> は I<struct passwd> へのポ"
2041 "インターとなる。 エラーの場合、これらの関数はエラー値を返し、 I<*pwbufp> は "
2045 #: build/C/man3/getpwent_r.3:128
2049 "getpwent_r(struct passwd *pwd, char *buf, int buflen);\n"
2052 "getpwent_r(struct passwd *pwd, char *buf, int buflen);\n"
2055 #: build/C/man3/getpwent_r.3:138
2059 "getpwent_r(struct passwd *pwd, char *buf, int buflen,\n"
2063 "getpwent_r(struct passwd *pwd, char *buf, int buflen,\n"
2067 #: build/C/man3/getpwent_r.3:145
2069 "The function B<getpwent_r>() is not really reentrant since it shares the "
2070 "reading position in the stream with all other threads."
2072 "関数 B<getpwent_r>() は本当のリエントラントではない。 なぜなら、ストリームの"
2073 "読み込み位置を 他の全てのスレッドと共有しているためである。"
2076 #: build/C/man3/getpwent_r.3:151
2079 "#define _GNU_SOURCE\n"
2080 "#include E<lt>pwd.hE<gt>\n"
2081 "#include E<lt>stdio.hE<gt>\n"
2082 "#define BUFLEN 4096\n"
2084 "#define _GNU_SOURCE\n"
2085 "#include E<lt>pwd.hE<gt>\n"
2086 "#include E<lt>stdio.hE<gt>\n"
2087 "#define BUFLEN 4096\n"
2090 #: build/C/man3/getpwent_r.3:158
2096 " struct passwd pw, *pwp;\n"
2097 " char buf[BUFLEN];\n"
2103 " struct passwd pw, *pwp;\n"
2104 " char buf[BUFLEN];\n"
2108 #: build/C/man3/getpwent_r.3:170
2113 " i = getpwent_r(&pw, buf, BUFLEN, &pwp);\n"
2116 " printf(\"%s (%d)\\etHOME %s\\etSHELL %s\\en\", pwp-E<gt>pw_name,\n"
2117 " pwp-E<gt>pw_uid, pwp-E<gt>pw_dir, pwp-E<gt>pw_shell);\n"
2120 " exit(EXIT_SUCCESS);\n"
2125 " i = getpwent_r(&pw, buf, BUFLEN, &pwp);\n"
2128 " printf(\"%s (%d)\\etHOME %s\\etSHELL %s\\en\", pwp-E<gt>pw_name,\n"
2129 " pwp-E<gt>pw_uid, pwp-E<gt>pw_dir, pwp-E<gt>pw_shell);\n"
2132 " exit(EXIT_SUCCESS);\n"
2136 #: build/C/man3/getpwent_r.3:188
2138 "B<fgetpwent>(3), B<getpw>(3), B<getpwent>(3), B<getpwnam>(3), "
2139 "B<getpwuid>(3), B<putpwent>(3), B<passwd>(5)"
2141 "B<fgetpwent>(3), B<getpw>(3), B<getpwent>(3), B<getpwnam>(3), "
2142 "B<getpwuid>(3), B<putpwent>(3), B<passwd>(5)"
2145 #: build/C/man3/getpwnam.3:37
2151 #: build/C/man3/getpwnam.3:37
2157 #: build/C/man3/getpwnam.3:40
2158 msgid "getpwnam, getpwnam_r, getpwuid, getpwuid_r - get password file entry"
2160 "getpwnam, getpwnam_r, getpwuid, getpwuid_r - パスワードファイルのエントリーの"
2164 #: build/C/man3/getpwnam.3:46
2166 msgid "B<struct passwd *getpwnam(const char *>I<name>B<);>\n"
2167 msgstr "B<struct passwd *getpwnam(const char *>I<name>B<);>\n"
2170 #: build/C/man3/getpwnam.3:48
2172 msgid "B<struct passwd *getpwuid(uid_t >I<uid>B<);>\n"
2173 msgstr "B<struct passwd *getpwuid(uid_t >I<uid>B<);>\n"
2176 #: build/C/man3/getpwnam.3:50
2178 msgid "B<int getpwnam_r(const char *>I<name>B<, struct passwd *>I<pwd>B<,>\n"
2179 msgstr "B<int getpwnam_r(const char *>I<name>B<, struct passwd *>I<pwd>B<,>\n"
2182 #: build/C/man3/getpwnam.3:52 build/C/man3/getpwnam.3:56
2184 msgid "B< char *>I<buf>B<, size_t >I<buflen>B<, struct passwd **>I<result>B<);>\n"
2185 msgstr "B< char *>I<buf>B<, size_t >I<buflen>B<, struct passwd **>I<result>B<);>\n"
2188 #: build/C/man3/getpwnam.3:54
2190 msgid "B<int getpwuid_r(uid_t >I<uid>B<, struct passwd *>I<pwd>B<,>\n"
2191 msgstr "B<int getpwuid_r(uid_t >I<uid>B<, struct passwd *>I<pwd>B<,>\n"
2194 #: build/C/man3/getpwnam.3:66
2195 msgid "B<getpwnam_r>(), B<getpwuid_r>():"
2196 msgstr "B<getpwnam_r>(), B<getpwuid_r>():"
2199 #: build/C/man3/getpwnam.3:81
2201 "The B<getpwnam>() function returns a pointer to a structure containing the "
2202 "broken-out fields of the record in the password database (e.g., the local "
2203 "password file I</etc/passwd>, NIS, and LDAP) that matches the username "
2206 "B<getpwnam>() 関数は、ユーザー名 I<name> にマッチするパスワードデータベース"
2207 "のエントリーを 要素毎に分解し、各要素を格納した構造体へのポインターを返す (パ"
2208 "スワードデータベースの例: ローカルのパスワードファイル I</etc/passwd>, NIS, "
2212 #: build/C/man3/getpwnam.3:88
2214 "The B<getpwuid>() function returns a pointer to a structure containing the "
2215 "broken-out fields of the record in the password database that matches the "
2218 "B<getpwuid>() 関数は、ユーザー ID I<uid> にマッチするパスワードデータベース"
2219 "のエントリーを 要素毎に分解し、各要素を格納した構造体へのポインターを返す。"
2222 #: build/C/man3/getpwnam.3:108
2223 msgid "See B<passwd>(5) for more information about these fields."
2224 msgstr "これらのフィールドの詳しい情報については B<passwd>(5) を参照のこと。"
2227 #: build/C/man3/getpwnam.3:130
2229 "The B<getpwnam_r>() and B<getpwuid_r>() functions obtain the same "
2230 "information as B<getpwnam>() and B<getpwuid>(), but store the retrieved "
2231 "I<passwd> structure in the space pointed to by I<pwd>. The string fields "
2232 "pointed to by the members of the I<passwd> structure are stored in the "
2233 "buffer I<buf> of size I<buflen>. A pointer to the result (in case of "
2234 "success) or NULL (in case no entry was found or an error occurred) is stored "
2237 "B<getpwnam_r>() と B<getpwuid_r>() 関数は、それぞれB<getpwnam>() と\n"
2238 "B<getpwuid>() と同じ情報を取得するが、取得した I<passwd> 構造体を\n"
2239 "I<pwd> が指す領域に格納する。I<passwd> 構造体のメンバーが指す文字列は、\n"
2240 "サイズ I<buflen> のバッファー I<buf> に格納される。成功した場合\n"
2241 "I<*result> には結果へのポインターが格納される。エントリーが見つからなかった\n"
2242 "場合やエラーが発生した場合には I<*result> には NULL が入る。"
2245 #: build/C/man3/getpwnam.3:134
2247 msgid " sysconf(_SC_GETPW_R_SIZE_MAX)\n"
2248 msgstr " sysconf(_SC_GETPW_R_SIZE_MAX)\n"
2251 #: build/C/man3/getpwnam.3:158
2253 "The B<getpwnam>() and B<getpwuid>() functions return a pointer to a "
2254 "I<passwd> structure, or NULL if the matching entry is not found or an error "
2255 "occurs. If an error occurs, I<errno> is set appropriately. If one wants to "
2256 "check I<errno> after the call, it should be set to zero before the call."
2258 "B<getpwnam>() と B<getpwuid>() 関数は、 I<passwd> 構造体へのポインターを返"
2259 "す。 一致するエントリーが見つからなかった場合や、エラーが発生した場合は NULL "
2260 "を返す。 エラーが起こった場合、 I<errno> が適切に設定される。 呼び出しの後で "
2261 "I<errno> をチェックしたい場合は、 呼び出しの前に (この値を) 0 に設定しておく"
2265 #: build/C/man3/getpwnam.3:167
2267 "The return value may point to a static area, and may be overwritten by "
2268 "subsequent calls to B<getpwent>(3), B<getpwnam>(), or B<getpwuid>(). (Do "
2269 "not pass the returned pointer to B<free>(3).)"
2271 "返り値は静的な領域を指しており、その後の B<getpwent>(3), B<getpwnam>(), "
2272 "B<getpwuid>() の呼び出しで上書きされるかもしれない。 (返されたポインターを "
2273 "B<free>(3) に渡さないこと。)"
2276 #: build/C/man3/getpwnam.3:181
2278 "On success, B<getpwnam_r>() and B<getpwuid_r>() return zero, and set "
2279 "I<*result> to I<pwd>. If no matching password record was found, these "
2280 "functions return 0 and store NULL in I<*result>. In case of error, an error "
2281 "number is returned, and NULL is stored in I<*result>."
2283 "成功すると、 B<getpwnam_r>() と B<getpwuid_r>() は 0 を返し、 I<*result> "
2284 "に I<pwd> を設定する。 マッチするパスワードエントリーが見つからなかった場合に"
2285 "は、 0 を返し、 I<*result> に NULL を設定する。 エラーの場合、エラー番号を返"
2286 "し、 I<*result> に NULL を設定する。"
2289 #: build/C/man3/getpwnam.3:189
2290 msgid "The given I<name> or I<uid> was not found."
2291 msgstr "指定された I<name> または I<uid> が見つからなかった。"
2294 #: build/C/man3/getpwnam.3:224
2295 msgid "The B<getpwnam>() and B<getpwuid>() functions are not thread-safe."
2296 msgstr "関数 B<getpwnam>() と B<getpwuid>() はスレッドセーフではない。"
2299 #: build/C/man3/getpwnam.3:230
2300 msgid "The B<getpwnam_r>() and B<getpwuid_r>() functions are thread-safe."
2301 msgstr "関数 B<getpwnam_r>() と B<getpwuid_r>() はスレッドセーフである。"
2304 #. AIX 5.1 - gives ESRCH
2305 #. OSF1 4.0g - gives EWOULDBLOCK
2306 #. libc, glibc up to version 2.6, Irix 6.5 - give ENOENT
2307 #. glibc since version 2.7 - give 0
2308 #. FreeBSD 4.8, OpenBSD 3.2, NetBSD 1.6 - give EPERM
2309 #. SunOS 5.8 - gives EBADF
2310 #. Tru64 5.1b, HP-UX-11i, SunOS 5.7 - give 0
2312 #: build/C/man3/getpwnam.3:256
2314 "The formulation given above under \"RETURN VALUE\" is from POSIX.1-2001. It "
2315 "does not call \"not found\" an error, and hence does not specify what value "
2316 "I<errno> might have in this situation. But that makes it impossible to "
2317 "recognize errors. One might argue that according to POSIX I<errno> should "
2318 "be left unchanged if an entry is not found. Experiments on various UNIX-"
2319 "like systems show that lots of different values occur in this situation: 0, "
2320 "ENOENT, EBADF, ESRCH, EWOULDBLOCK, EPERM, and probably others."
2322 "上記の「返り値」以下の記述は POSIX.1-2001 に拠る。 この標準は「(エントリー"
2323 "が) 見つからないこと」をエラーとしていないので、 そのような場合に I<errno> が"
2324 "どのような値になるかを定めていない。 そのため、エラーを認識することは不可能で"
2325 "ある。 POSIX に準拠して、エントリーが見つからない場合は I<errno> を変更しない"
2326 "ようにすべきである、と主張する人もいるかもしれない。 様々な UNIX 系のシステム"
2327 "で試してみると、そのような場合には 0, ENOENT, EBADF, ESRCH, EWOULDBLOCK, "
2328 "EPERM といった様々な値が返される。 他の値が返されるかもしれない。"
2331 #: build/C/man3/getpwnam.3:274
2333 "The I<pw_dir> field contains the name of the initial working directory of "
2334 "the user. Login programs use the value of this field to initialize the "
2335 "B<HOME> environment variable for the login shell. An application that wants "
2336 "to determine its user's home directory should inspect the value of B<HOME> "
2337 "(rather than the value I<getpwuid(getuid())-E<gt>pw_dir>) since this allows "
2338 "the user to modify their notion of \"the home directory\" during a login "
2339 "session. To determine the (initial) home directory of another user, it is "
2340 "necessary to use I<getpwnam(\"username\")-E<gt>pw_dir> or similar."
2342 "フィールド I<pw_dir> には、ユーザーの作業ディレクトリ名の初期値が格納され"
2343 "る。 ログインプロセスは、このフィールドの値を使って、 ログインシェルの "
2344 "B<HOME> 環境変数を初期化する。 アプリケーションが、ユーザーのホームディレクト"
2345 "リを決定する場合には、 (I<getpwuid(getuid())-E<gt>pw_dir> の値ではなく) "
2346 "B<HOME> の値を検査するようにすべきである。 なぜなら、このようにすることで、"
2347 "ユーザーがログインセッション中で 「ホームディレクトリ」の意味を変更できるよう"
2348 "になるからである。 別のユーザーのホームディレクトリ (の初期値) を知るには "
2349 "I<getpwnam(\"username\")-E<gt>pw_dir> か同様の方法を使う必要がある。"
2352 #: build/C/man3/getpwnam.3:279
2354 "The program below demonstrates the use of B<getpwnam_r>() to find the full "
2355 "username and user ID for the username supplied as a command-line argument."
2357 "以下のプログラムは B<getpwnam_r>() の使用例を示したもので、コマンドライン引"
2358 "き数で渡されたユーザー名に対する 完全なユーザー名とユーザー ID を探すものであ"
2362 #: build/C/man3/getpwnam.3:286
2365 "#include E<lt>pwd.hE<gt>\n"
2366 "#include E<lt>stdio.hE<gt>\n"
2367 "#include E<lt>stdlib.hE<gt>\n"
2368 "#include E<lt>unistd.hE<gt>\n"
2369 "#include E<lt>errno.hE<gt>\n"
2371 "#include E<lt>pwd.hE<gt>\n"
2372 "#include E<lt>stdio.hE<gt>\n"
2373 "#include E<lt>stdlib.hE<gt>\n"
2374 "#include E<lt>unistd.hE<gt>\n"
2375 "#include E<lt>errno.hE<gt>\n"
2378 #: build/C/man3/getpwnam.3:295
2382 "main(int argc, char *argv[])\n"
2384 " struct passwd pwd;\n"
2385 " struct passwd *result;\n"
2387 " size_t bufsize;\n"
2391 "main(int argc, char *argv[])\n"
2393 " struct passwd pwd;\n"
2394 " struct passwd *result;\n"
2396 " size_t bufsize;\n"
2400 #: build/C/man3/getpwnam.3:300
2403 " if (argc != 2) {\n"
2404 " fprintf(stderr, \"Usage: %s username\\en\", argv[0]);\n"
2405 " exit(EXIT_FAILURE);\n"
2408 " if (argc != 2) {\n"
2409 " fprintf(stderr, \"Usage: %s username\\en\", argv[0]);\n"
2410 " exit(EXIT_FAILURE);\n"
2414 #: build/C/man3/getpwnam.3:304
2417 " bufsize = sysconf(_SC_GETPW_R_SIZE_MAX);\n"
2418 " if (bufsize == -1) /* Value was indeterminate */\n"
2419 " bufsize = 16384; /* Should be more than enough */\n"
2421 " bufsize = sysconf(_SC_GETPW_R_SIZE_MAX);\n"
2422 " if (bufsize == -1) /* 値を決定できなかった */\n"
2423 " bufsize = 16384; /* 十分大きな値にすべき */\n"
2426 #: build/C/man3/getpwnam.3:310
2429 " buf = malloc(bufsize);\n"
2430 " if (buf == NULL) {\n"
2431 " perror(\"malloc\");\n"
2432 " exit(EXIT_FAILURE);\n"
2435 " buf = malloc(bufsize);\n"
2436 " if (buf == NULL) {\n"
2437 " perror(\"malloc\");\n"
2438 " exit(EXIT_FAILURE);\n"
2442 #: build/C/man3/getpwnam.3:321
2445 " s = getpwnam_r(argv[1], &pwd, buf, bufsize, &result);\n"
2446 " if (result == NULL) {\n"
2448 " printf(\"Not found\\en\");\n"
2451 " perror(\"getpwnam_r\");\n"
2453 " exit(EXIT_FAILURE);\n"
2456 " s = getpwnam_r(argv[1], &pwd, buf, bufsize, &result);\n"
2457 " if (result == NULL) {\n"
2459 " printf(\"Not found\\en\");\n"
2462 " perror(\"getpwnam_r\");\n"
2464 " exit(EXIT_FAILURE);\n"
2468 #: build/C/man3/getpwnam.3:325
2471 " printf(\"Name: %s; UID: %ld\\en\", pwd.pw_gecos, (long) pwd.pw_uid);\n"
2472 " exit(EXIT_SUCCESS);\n"
2475 " printf(\"Name: %s; UID: %ld\\en\", pwd.pw_gecos, (long) pwd.pw_uid);\n"
2476 " exit(EXIT_SUCCESS);\n"
2480 #: build/C/man3/getpwnam.3:336
2482 "B<endpwent>(3), B<fgetpwent>(3), B<getgrnam>(3), B<getpw>(3), "
2483 "B<getpwent>(3), B<getspnam>(3), B<putpwent>(3), B<setpwent>(3), B<passwd>(5)"
2485 "B<endpwent>(3), B<fgetpwent>(3), B<getgrnam>(3), B<getpw>(3), "
2486 "B<getpwent>(3), B<getspnam>(3), B<putpwent>(3), B<setpwent>(3), B<passwd>(5)"
2489 #: build/C/man3/getspnam.3:8
2495 #: build/C/man3/getspnam.3:13
2497 "getspnam, getspnam_r, getspent, getspent_r, setspent, endspent, fgetspent, "
2498 "fgetspent_r, sgetspent, sgetspent_r, putspent, lckpwdf, ulckpwdf - get "
2499 "shadow password file entry"
2501 "getspnam, getspnam_r, getspent, getspent_r, setspent, endspent,fgetspent, "
2502 "fgetspent_r, sgetspent, sgetspent_r, putspent, lckpwdf, ulckpwdf - shadow パ"
2503 "スワードファイルのエントリーを取得する"
2506 #: build/C/man3/getspnam.3:16
2508 msgid "/* General shadow password file API */\n"
2509 msgstr "/* 一般的な shadow パスワードファイル API */\n"
2512 #: build/C/man3/getspnam.3:18 build/C/man3/getspnam.3:40
2514 msgid "B<#include E<lt>shadow.hE<gt>>\n"
2515 msgstr "B<#include E<lt>shadow.hE<gt>>\n"
2518 #: build/C/man3/getspnam.3:20
2520 msgid "B<struct spwd *getspnam(const char *>I<name>B<);>\n"
2521 msgstr "B<struct spwd *getspnam(const char *>I<name>B<);>\n"
2524 #: build/C/man3/getspnam.3:22
2526 msgid "B<struct spwd *getspent(void);>\n"
2527 msgstr "B<struct spwd *getspent(void);>\n"
2530 #: build/C/man3/getspnam.3:24
2532 msgid "B<void setspent(void);>\n"
2533 msgstr "B<void setspent(void);>\n"
2536 #: build/C/man3/getspnam.3:26
2538 msgid "B<void endspent(void);>\n"
2539 msgstr "B<void endspent(void);>\n"
2542 #: build/C/man3/getspnam.3:28
2544 msgid "B<struct spwd *fgetspent(FILE *>I<stream>B<);>\n"
2545 msgstr "B<struct spwd *fgetspent(FILE *>I<stream>B<);>\n"
2548 #: build/C/man3/getspnam.3:30
2550 msgid "B<struct spwd *sgetspent(const char *>I<s>B<);>\n"
2551 msgstr "B<struct spwd *sgetspent(const char *>I<s>B<);>\n"
2554 #: build/C/man3/getspnam.3:32
2556 msgid "B<int putspent(const struct spwd *>I<p>B<, FILE *>I<stream>B<);>\n"
2557 msgstr "B<int putspent(const struct spwd *>I<p>B<, FILE *>I<stream>B<);>\n"
2560 #: build/C/man3/getspnam.3:34
2562 msgid "B<int lckpwdf(void);>\n"
2563 msgstr "B<int lckpwdf(void);>\n"
2566 #: build/C/man3/getspnam.3:36
2568 msgid "B<int ulckpwdf(void);>\n"
2569 msgstr "B<int ulckpwdf(void);>\n"
2572 #: build/C/man3/getspnam.3:38
2574 msgid "/* GNU extension */\n"
2575 msgstr "/* GNU 版における拡張 */\n"
2578 #: build/C/man3/getspnam.3:42
2580 msgid "B<int getspent_r(struct spwd *>I<spbuf>B<,>\n"
2581 msgstr "B<int getspent_r(struct spwd *>I<spbuf>B<,>\n"
2584 #: build/C/man3/getspnam.3:44 build/C/man3/getspnam.3:48
2585 #: build/C/man3/getspnam.3:52 build/C/man3/getspnam.3:56
2587 msgid "B< char *>I<buf>B<, size_t >I<buflen>B<, struct spwd **>I<spbufp>B<);>\n"
2588 msgstr "B< char *>I<buf>B<, size_t >I<buflen>B<, struct spwd **>I<spbufp>B<);>\n"
2591 #: build/C/man3/getspnam.3:46
2593 msgid "B<int getspnam_r(const char *>I<name>B<, struct spwd *>I<spbuf>B<,>\n"
2594 msgstr "B<int getspnam_r(const char *>I<name>B<, struct spwd *>I<spbuf>B<,>\n"
2597 #: build/C/man3/getspnam.3:50
2599 msgid "B<int fgetspent_r(FILE *>I<stream>B<, struct spwd *>I<spbuf>B<,>\n"
2600 msgstr "B<int fgetspent_r(FILE *>I<stream>B<, struct spwd *>I<spbuf>B<,>\n"
2603 #: build/C/man3/getspnam.3:54
2605 msgid "B<int sgetspent_r(const char *>I<s>B<, struct spwd *>I<spbuf>B<,>\n"
2606 msgstr "B<int sgetspent_r(const char *>I<s>B<, struct spwd *>I<spbuf>B<,>\n"
2609 #: build/C/man3/getspnam.3:68
2610 msgid "B<getspent_r>(), B<getspnam_r>(), B<fgetspent_r>(), B<sgetspent_r>():"
2611 msgstr "B<getspent_r>(), B<getspnam_r>(), B<fgetspent_r>(), B<sgetspent_r>():"
2614 #: build/C/man3/getspnam.3:70
2615 msgid "_BSD_SOURCE || _SVID_SOURCE"
2616 msgstr "_BSD_SOURCE || _SVID_SOURCE"
2619 #: build/C/man3/getspnam.3:84
2621 "Long ago it was considered safe to have encrypted passwords openly visible "
2622 "in the password file. When computers got faster and people got more "
2623 "security-conscious, this was no longer acceptable. Julianne Frances Haugh "
2624 "implemented the shadow password suite that keeps the encrypted passwords in "
2625 "the shadow password database (e.g., the local shadow password file I</etc/"
2626 "shadow>, NIS, and LDAP), readable only by root."
2628 "昔は暗号化されたパスワードをパスワードファイルに 見えるように公開しておいても"
2629 "安全だと考えられていた。 Julianne Frances Haugh は shadow パスワードスイート"
2630 "を実装した。 これは暗号化されたパスワードを、root のみが読むことができる "
2631 "shadow パスワードデータベース (例えば、 ローカルの shadow パスワードファイル "
2632 "I</etc/shadow>, NIS, LDAP) に保持する。"
2634 #. FIXME . I've commented out the following for the
2635 #. moment. The relationship between PAM and nsswitch.conf needs
2636 #. to be clearly documented in one place, which is pointed to by
2637 #. the pages for the user, group, and shadow password functions.
2639 #. This shadow password setup has been superseded by PAM
2640 #. (pluggable authentication modules), and the file
2641 #. .I /etc/nsswitch.conf
2642 #. now describes the sources to be used.
2644 #: build/C/man3/getspnam.3:101
2646 "The functions described below resemble those for the traditional password "
2647 "database (e.g., see B<getpwnam>(3) and B<getpwent>(3))."
2649 "以下で説明する関数は、伝統的なパスワードデータベースに対する 関数に似ている "
2650 "(例えば B<getpwnam>(3) や B<getpwent>(3) を参照)。"
2653 #: build/C/man3/getspnam.3:108
2655 "The B<getspnam>() function returns a pointer to a structure containing the "
2656 "broken-out fields of the record in the shadow password database that matches "
2657 "the username I<name>."
2659 "B<getspnam>() 関数は、ユーザー名 I<name> にマッチする shadow パスワードデー"
2660 "タベースのエントリーを 要素毎に分解し、各要素を格納した構造体へのポインターを"
2663 #. some systems require a call of setspent() before the first getspent()
2666 #: build/C/man3/getspnam.3:120
2668 "The B<getspent>() function returns a pointer to the next entry in the "
2669 "shadow password database. The position in the input stream is initialized "
2670 "by B<setspent>(). When done reading, the program may call B<endspent>() so "
2671 "that resources can be deallocated."
2673 "B<getspent>() 関数は shadow パスワードデータベースにおける次のエントリーへの"
2674 "ポインターを返す。 入力ストリームにおける位置は、 B<setspent>() で初期化され"
2675 "る。 読み込みが終わった後に、 B<endspent>() を呼び出すと、リソースを解放でき"
2679 #: build/C/man3/getspnam.3:127
2681 "The B<fgetspent>() function is similar to B<getspent>() but uses the "
2682 "supplied stream instead of the one implicitly opened by B<setspent>()."
2684 "B<fgetspent>() 関数は B<getspent>() に似ているが、 B<setspent>() で暗黙の"
2685 "うちにオープンされるストリームではなく、与えられたストリームを使う。"
2688 #: build/C/man3/getspnam.3:134
2690 "The B<sgetspent>() function parses the supplied string I<s> into a struct "
2693 "B<sgetspent>() 関数は与えられた文字列 I<s> を解析し struct I<spwd> に格納す"
2697 #: build/C/man3/getspnam.3:144
2699 "The B<putspent>() function writes the contents of the supplied struct "
2700 "I<spwd> I<*p> as a text line in the shadow password file format to "
2701 "I<stream>. String entries with value NULL and numerical entries with value "
2702 "-1 are written as an empty string."
2704 "B<putspent>() 関数は与えられた struct I<spwd> I<*p> の内容を shadow パスワー"
2705 "ドファイル形式のテキスト行で I<stream> に書き出す。 空文字列として、 値が "
2706 "NULL の文字列エントリーと値が -1 の数値エントリーが 書き出される。"
2709 #: build/C/man3/getspnam.3:159
2711 "The B<lckpwdf>() function is intended to protect against multiple "
2712 "simultaneous accesses of the shadow password database. It tries to acquire "
2713 "a lock, and returns 0 on success, or -1 on failure (lock not obtained within "
2714 "15 seconds). The B<ulckpwdf>() function releases the lock again. Note "
2715 "that there is no protection against direct access of the shadow password "
2716 "file. Only programs that use B<lckpwdf>() will notice the lock."
2718 "B<lckpwdf>() 関数は、 shadow パスワードデータベースを 多重同時アクセスから守"
2719 "るためのものである。 この関数はロックの獲得を試み、 成功した場合は 0 を返"
2720 "す。 失敗した場合 (15 秒以内にロックが取得できなかった場合) は -1 を返す。 "
2721 "B<ulckpwdf>() 関数はロックを再び解放する。 shadow パスワードファイルへの直接"
2722 "アクセスから 保護する手段がない点に注意すること。 B<lckpwdf>() を使うプログ"
2726 #. SUN doesn't have sgetspent()
2728 #: build/C/man3/getspnam.3:164
2730 "These were the functions that formed the original shadow API. They are "
2733 "これらの関数はオリジナルの shadow API を構成していた関数であり、 いろいろなシ"
2737 #: build/C/man3/getspnam.3:164
2739 msgid "Reentrant versions"
2743 #: build/C/man3/getspnam.3:181
2745 "Analogous to the reentrant functions for the password database, glibc also "
2746 "has reentrant functions for the shadow password database. The "
2747 "B<getspnam_r>() function is like B<getspnam>() but stores the retrieved "
2748 "shadow password structure in the space pointed to by I<spbuf>. This shadow "
2749 "password structure contains pointers to strings, and these strings are "
2750 "stored in the buffer I<buf> of size I<buflen>. A pointer to the result (in "
2751 "case of success) or NULL (in case no entry was found or an error occurred) "
2752 "is stored in I<*spbufp>."
2754 "パスワードデータベースに対するリエントラント版と同じように、 glibc には "
2755 "shadow パスワードファイルに対してリエントラント版がある。 B<getspnam_r>() 関"
2756 "数は B<getspnam>() と似ているが、取得した shadow パスワード構造体を "
2757 "I<spbuf> が指す領域に格納する。 shadow パスワード構造体は文字列群へのポイン"
2758 "ターを含み、 これらの文字列群はサイズ I<buflen> のバッファー I<buf> に格納さ"
2759 "れる。 I<*spbufp> には (成功した場合は) 結果へのポインターが格納され、 (エン"
2760 "トリーが見つからなかった場合またはエラーが起こった場合は) NULL が格納され"
2764 #: build/C/man3/getspnam.3:188
2766 "The functions B<getspent_r>(), B<fgetspent_r>(), and B<sgetspent_r>() are "
2767 "similarly analogous to their nonreentrant counterparts."
2769 "関数 B<getspent_r>(), B<fgetspent_r>(), B<sgetspent_r>() はそれぞれリエント"
2770 "ラントでないバージョンと同様の機能を持つ。"
2772 #. SUN doesn't have sgetspent_r()
2774 #: build/C/man3/getspnam.3:192
2776 "Some non-glibc systems also have functions with these names, often with "
2777 "different prototypes."
2779 "glibc でないシステムにもこれらと同じ名前の関数があるが、 プロトタイプが異なる"
2783 #: build/C/man3/getspnam.3:192
2789 #: build/C/man3/getspnam.3:194
2791 "The shadow password structure is defined in I<E<lt>shadow.hE<gt>> as follows:"
2793 "shadow パスワード構造体は I<E<lt>shadow.hE<gt>> で以下のように定義されている:"
2796 #: build/C/man3/getspnam.3:214
2800 " char *sp_namp; /* Login name */\n"
2801 " char *sp_pwdp; /* Encrypted password */\n"
2802 " long sp_lstchg; /* Date of last change\n"
2803 " (measured in days since\n"
2804 " 1970-01-01 00:00:00 +0000 (UTC)) */\n"
2805 " long sp_min; /* Min # of days between changes */\n"
2806 " long sp_max; /* Max # of days between changes */\n"
2807 " long sp_warn; /* # of days before password expires\n"
2808 " to warn user to change it */\n"
2809 " long sp_inact; /* # of days after password expires\n"
2810 " until account is disabled */\n"
2811 " long sp_expire; /* Date when account expires\n"
2812 " (measured in days since\n"
2813 " 1970-01-01 00:00:00 +0000 (UTC)) */\n"
2814 " unsigned long sp_flag; /* Reserved */\n"
2818 " char *sp_namp; /* ログイン名 */\n"
2819 " char *sp_pwdp; /* 暗号化されたパスワード */\n"
2820 " long sp_lstchg; /* 最終更新日\n"
2821 " (1970-01-01 00:00:00 +0000 (UTC)\n"
2823 " long sp_min; /* 変更が出来るようになるまでの最短日数 */\n"
2824 " long sp_max; /* 変更をしなくてもよい最長日数 */\n"
2825 " long sp_warn; /* パスワードが期限切れになる前に\n"
2826 " ユーザーに変更の警告を出す日数 */\n"
2827 " long sp_inact; /* パスワードが期限切れになってから\n"
2828 " アカウントが無効になるまでの日数 */\n"
2829 " long sp_expire; /* アカウントが無効になる日付\n"
2830 " (1970-01-01 00:00:00 +0000 (UTC)\n"
2832 " unsigned long sp_flag; /* 予約フィールド */\n"
2836 #: build/C/man3/getspnam.3:223
2838 "The functions that return a pointer return NULL if no more entries are "
2839 "available or if an error occurs during processing. The functions which have "
2840 "I<int> as the return value return 0 for success and -1 for failure, with "
2841 "I<errno> set to indicate the cause of the error."
2843 "ポインターを返す関数は、これ以上エントリーがない場合や 処理中にエラーが発生し"
2844 "た場合 NULL を返す。 I<int> を返り値として持つ関数は、 成功した場合 0 を返"
2845 "し、失敗した場合、 -1 を返し、 I<errno> にエラーの原因を示す値を設定する。"
2848 #: build/C/man3/getspnam.3:226
2850 "For the nonreentrant functions, the return value may point to static area, "
2851 "and may be overwritten by subsequent calls to these functions."
2853 "リエントラント版でない関数では、返り値が静的な領域を指しており、 引き続いてこ"
2854 "れらの関数を呼び出した場合に上書きされる可能性がある。"
2857 #: build/C/man3/getspnam.3:229
2859 "The reentrant functions return zero on success. In case of error, an error "
2860 "number is returned."
2862 "リエントラント版の関数は、成功した場合に 0 を返す。 エラーの場合は、エラー番"
2866 #: build/C/man3/getspnam.3:230
2872 #: build/C/man3/getspnam.3:233
2873 msgid "The caller does not have permission to access the shadow password file."
2875 "呼び出し元が shadow パスワードファイルにアクセスする許可を持っていない。"
2878 #: build/C/man3/getspnam.3:236
2879 msgid "Supplied buffer is too small."
2880 msgstr "与えられたバッファーが小さすぎる。"
2883 #: build/C/man3/getspnam.3:237
2885 msgid "I</etc/shadow>"
2886 msgstr "I</etc/shadow>"
2889 #: build/C/man3/getspnam.3:240
2890 msgid "local shadow password database file"
2891 msgstr "ローカルの shadow パスワードデータベースファイル"
2894 #: build/C/man3/getspnam.3:240
2896 msgid "I</etc/.pwd.lock>"
2897 msgstr "I</etc/.pwd.lock>"
2900 #: build/C/man3/getspnam.3:243
2905 #: build/C/man3/getspnam.3:249
2907 "The include file I<E<lt>paths.hE<gt>> defines the constant B<_PATH_SHADOW> "
2908 "to the pathname of the shadow password file."
2910 "インクルードファイル I<E<lt>paths.hE<gt>> は定数 B<_PATH_SHADOW> を定義してい"
2911 "る。 これは shadow パスワードファイルのパス名である。"
2914 #: build/C/man3/getspnam.3:253
2916 "The shadow password database and its associated API are not specified in "
2917 "POSIX.1-2001. However, many other systems provide a similar API."
2919 "shadow パスワードデータベースと関連 API は POSIX.1-2001 には記載されていな"
2920 "い。しかしながら、多くの他のシステムでも 同様の API が提供されている。"
2923 #: build/C/man3/getspnam.3:258
2924 msgid "B<getgrnam>(3), B<getpwnam>(3), B<getpwnam_r>(3), B<shadow>(5)"
2925 msgstr "B<getgrnam>(3), B<getpwnam>(3), B<getpwnam_r>(3), B<shadow>(5)"
2928 #: build/C/man5/group.5:26
2934 #: build/C/man5/group.5:26
2940 #: build/C/man5/group.5:29
2941 msgid "group - user group file"
2942 msgstr "group - ユーザーグループのファイル"
2945 #: build/C/man5/group.5:34
2947 "The I</etc/group> file is a text file that defines the groups on the "
2948 "system. There is one entry per line, with the following format:"
2950 "I</etc/group> ファイルは、そのシステムのグループを定義するテキスト\n"
2951 "ファイルである。 1 行に 1 エントリーで、各行の形式は以下のとおりである。"
2954 #: build/C/man5/group.5:37
2955 msgid "group_name:password:GID:user_list"
2956 msgstr "group_name:password:GID:user_list"
2959 #: build/C/man5/group.5:40
2960 msgid "The fields are as follows:"
2961 msgstr "各フィールドは以下の通りである:"
2964 #: build/C/man5/group.5:40
2966 msgid "I<group_name>"
2967 msgstr "I<group_name>"
2970 #: build/C/man5/group.5:43
2971 msgid "the name of the group."
2975 #: build/C/man5/group.5:43 build/C/man5/passwd.5:91
2978 msgstr "I<password>"
2981 #: build/C/man5/group.5:47
2983 "the (encrypted) group password. If this field is empty, no password is "
2986 "(暗号化された) パスワード。このフィールドが空ならパスワードは必要ない。"
2989 #: build/C/man5/group.5:47 build/C/man5/passwd.5:103
2995 #: build/C/man5/group.5:50
2996 msgid "the numeric group ID."
2997 msgstr "グループ ID 番号。"
3000 #: build/C/man5/group.5:50
3002 msgid "I<user_list>"
3003 msgstr "I<user_list>"
3006 #: build/C/man5/group.5:53
3008 "a list of the usernames that are members of this group, separated by commas."
3010 "このグループのメンバーのユーザー名のリスト。 ユーザー名はコンマで区切られる。"
3013 #: build/C/man5/group.5:55
3018 #: build/C/man5/group.5:61
3020 "As the 4.2BSD B<initgroups>(3) man page says: No-one seems to keep I</etc/"
3021 "group> up-to-date."
3023 "4.2BSD の B<initgroups>(3) には次のように書かれている: 誰も I</etc/group> を"
3024 "最新の状態に保ってはいないようである。"
3027 #: build/C/man5/group.5:67
3028 msgid "B<login>(1), B<newgrp>(1), B<getgrent>(3), B<getgrnam>(3), B<passwd>(5)"
3030 "B<login>(1), B<newgrp>(1), B<getgrent>(3), B<getgrnam>(3), B<passwd>(5)"
3033 #: build/C/man3/initgroups.3:32
3039 #: build/C/man3/initgroups.3:32
3045 #: build/C/man3/initgroups.3:35
3046 msgid "initgroups - initialize the supplementary group access list"
3047 msgstr "initgroups - 追加のグループアクセスリストの初期化"
3050 #: build/C/man3/initgroups.3:41
3052 msgid "B<int initgroups(const char *>I<user>B<, gid_t >I<group>B<);>\n"
3053 msgstr "B<int initgroups(const char *>I<user>B<, gid_t >I<group>B<);>\n"
3056 #: build/C/man3/initgroups.3:50
3057 msgid "B<initgroups>(): _BSD_SOURCE"
3058 msgstr "B<initgroups>(): _BSD_SOURCE"
3061 #: build/C/man3/initgroups.3:64
3063 "The B<initgroups>() function initializes the group access list by reading "
3064 "the group database I</etc/group> and using all groups of which I<user> is a "
3065 "member. The additional group I<group> is also added to the list."
3067 "B<initgroups>() 関数はグループデータベース I</etc/group> を読み 込んで、"
3068 "I<user> が所属している全てのグループを使って、グループアク セスリストを初期化"
3069 "する。さらに、I<group> に示されるグループもグルー プアクセスリストに追加され"
3073 #: build/C/man3/initgroups.3:68
3074 msgid "The I<user> argument must be non-NULL."
3075 msgstr "I<user> 引数は NULL であってはならない。"
3078 #: build/C/man3/initgroups.3:75
3080 "The B<initgroups>() function returns 0 on success. On error, -1 is "
3081 "returned, and I<errno> is set appropriately."
3083 "B<initgroups>() 関数は、成功すると 0 を返す。 エラーの場合は -1 を返し、 "
3084 "I<errno> を適切に設定する。"
3087 #: build/C/man3/initgroups.3:79
3088 msgid "Insufficient memory to allocate group information structure."
3089 msgstr "グループ情報構造体を配置するためのメモリーが不足している。"
3092 #: build/C/man3/initgroups.3:79
3098 #: build/C/man3/initgroups.3:84
3100 "The calling process has insufficient privilege. See the underlying system "
3101 "call B<setgroups>(2)."
3103 "呼出しプロセスが十分な特権を持っていない。 この関数の裏で実行されるシステム"
3104 "コール B<setgroups>(2) も参照のこと。"
3107 #: build/C/man3/initgroups.3:87
3109 msgid "I</etc/group>\t\tgroup database file\n"
3110 msgstr "I</etc/group>\t\tグループデータベースファイル\n"
3113 #: build/C/man3/initgroups.3:90
3114 msgid "SVr4, 4.3BSD."
3115 msgstr "SVr4, 4.3BSD."
3118 #: build/C/man3/initgroups.3:94
3119 msgid "B<getgroups>(2), B<setgroups>(2), B<credentials>(7)"
3120 msgstr "B<getgroups>(2), B<setgroups>(2), B<credentials>(7)"
3123 #: build/C/man5/passwd.5:30
3129 #: build/C/man5/passwd.5:30
3131 #| msgid "2014-02-11"
3136 #: build/C/man5/passwd.5:33
3137 msgid "passwd - password file"
3138 msgstr "passwd - パスワードファイル"
3141 #: build/C/man5/passwd.5:41
3143 "The I</etc/passwd> file is a text file that describes user login accounts "
3144 "for the system. It should have read permission allowed for all users (many "
3145 "utilities, like B<ls>(1) use it to map user IDs to usernames), but write "
3146 "access only for the superuser."
3148 "I</etc/passwd> ファイルは、そのシステムのユーザーのログインアカウントリス\n"
3149 "トを記述したテキストファイルである。パスワードファイルの読み出し許可は\n"
3150 "全ユーザーに対して与えるが(I<ls>(1) 等の多くのユーティリティではユーザー\n"
3151 "ID をユーザー名に 対応させるのに B<passwd> ファイルを使用する)、書き込\n"
3152 "み許可はスーパーユーザーにのみ与えるようにすべきである。"
3155 #: build/C/man5/passwd.5:53
3157 "In the good old days there was no great problem with this general read "
3158 "permission. Everybody could read the encrypted passwords, but the hardware "
3159 "was too slow to crack a well-chosen password, and moreover the basic "
3160 "assumption used to be that of a friendly user-community. These days many "
3161 "people run some version of the shadow password suite, where I</etc/passwd> "
3162 "has an \\(aqx\\(aq character in the password field, and the encrypted "
3163 "passwords are in I</etc/shadow>, which is readable by the superuser only."
3165 "古き良き時代には、この全ユーザーに対する読み取り許可は 特別な問題を起こ\n"
3166 "さなかった。誰でも暗号化されたパスワードを 読むことが出来たが、上手に選\n"
3167 "ばれたパスワードを破るのには 当時のハードウェアの速度はあまりに遅かった\n"
3168 "し、それに加えて 友好的なユーザー社会であることを基本的な前提としていた。\n"
3169 "最近では多くの人が、何らかのバージョンの shadow password suite\n"
3170 "(シャドウパスワード機能を実現するためのプログラム群) を動かしている。\n"
3171 "その場合 I</etc/passwd> ファイルのパスワード欄には\n"
3172 "\\(aqx\\(aq 文字が設定され、暗号化されたパスワードは\n"
3173 "I</etc/shadow> ファイルに保持される。 I</etc/shadow> ファイルはスーパー\n"
3174 "ユーザーだけが読み出すことができる。"
3177 #: build/C/man5/passwd.5:62
3179 "If the encrypted password, whether in I</etc/passwd> or in I</etc/shadow>, "
3180 "is an empty string, login is allowed without even asking for a password. "
3181 "Note that this functionality may be intentionally disabled in applications, "
3182 "or configurable (for example using the \"nullok\" or \"nonull\" arguments to "
3185 "I</etc/passwd> と I</etc/shadow> のどちらの場合でも暗号化パスワードが\n"
3186 "空文字列の場合、パスワードの問い合わせなしでのログインが許可される。\n"
3187 "この機能は、アプリケーションで意図的に無効されたり、\n"
3188 "設定可能 (例えば pam_unix.so の \"nullok\" や \"nonull\" 引き数など)\n"
3189 "になっていたりする場合がある点に注意すること。"
3192 #: build/C/man5/passwd.5:67
3194 "If the encrypted password in I</etc/passwd> is \"I<*NP*>\" (without the "
3195 "quotes), the shadow record should be obtained from an NIS+ server."
3197 "I</etc/passwd> の暗号化パスワードが \"I<*NP*>\" (クォートはなし) の場合、\n"
3198 "shadow レコードを NIS+ サーバから取得することを意味する。"
3201 #: build/C/man5/passwd.5:73
3203 "Regardless of whether shadow passwords are used, many system administrators "
3204 "use an asterisk (*) in the encrypted password field to make sure that this "
3205 "user can not authenticate him- or herself using a password. (But see NOTES "
3208 "shadow password が使われているかどうかにはよらず、多くのシステム管理者は、\n"
3209 "暗号化パスワード欄にアスタリスク (*) を設定することで、そのユーザーが\n"
3210 "パスワードでの認証が受けられないようにしている (下記の「注意」の項を参照)。"
3213 #: build/C/man5/passwd.5:78
3215 "If you create a new login, first put an asterisk (*) in the password field, "
3216 "then use B<passwd>(1) to set it."
3218 "新しいユーザーを登録する場合には、パスワード欄にアスタリスク (*) を設定してお"
3220 "B<passwd>(1) コマンドにより設定を行うようにすること。"
3223 #: build/C/man5/passwd.5:81
3225 "Each line of the file describes a single user, and contains seven colon-"
3228 "ファイルの 1 行は 1 ユーザーの情報を表し、\n"
3229 "コロン区切りの 7 つの項目を含む。"
3232 #: build/C/man5/passwd.5:84
3233 msgid "name:password:UID:GID:GECOS:directory:shell"
3234 msgstr "name:password:UID:GID:GECOS:directory:shell"
3237 #: build/C/man5/passwd.5:87
3238 msgid "The field are as follows:"
3239 msgstr "各フィールドは以下の通りである:"
3242 #: build/C/man5/passwd.5:87
3248 #: build/C/man5/passwd.5:91
3249 msgid "This is the user's login name. It should not contain capital letters."
3250 msgstr "ユーザーのログイン名。大文字を含まないすべきである。"
3253 #: build/C/man5/passwd.5:98
3255 "This is either the encrypted user password, an asterisk (*), or the letter "
3256 "\\(aqx\\(aq. (See B<pwconv>(8) for an explanation of \\(aqx\\(aq.)"
3258 "暗号化されたユーザーのパスワード、アスタリスク (*)、文字 \\(aqx\\(aq の\n"
3259 "いずれかである (\\(aqx\\(aq の説明については B<pwconv>(8) を参照)。"
3262 #: build/C/man5/passwd.5:98
3268 #: build/C/man5/passwd.5:103
3269 msgid "The privileged I<root> login account (superuser) has the user ID 0."
3271 "特権を持つ I<root> ログインアカウント (スーパーユーザー) は\n"
3275 #: build/C/man5/passwd.5:108
3277 "This is the numeric primary group ID for this user. (Additional groups for "
3278 "the user are defined in the system group file; see B<group>(5))."
3280 "このユーザーのプライマリグループ ID の番号。\n"
3281 "(このユーザーの追加のグループはシステムのグループ定義ファイル\n"
3282 "で定義される。 B<group>(5) を参照)。"
3285 #: build/C/man5/passwd.5:108
3291 #: build/C/man5/passwd.5:116
3293 "This field (sometimes called the \"comment field\") is optional and used "
3294 "only for informational purposes. Usually, it contains the full username. "
3295 "Some programs (for example, B<finger>(1)) display information from this "
3298 "本欄 (「コメント欄」と呼ばれることもある) は省略可能で、情報提供の\n"
3299 "目的のみに使われる。ユーザーのフルネームを設定することが多い。\n"
3300 "(B<finger>(1) などの) いくつかのプログラムでは、このフィールドの\n"
3304 #: build/C/man5/passwd.5:125
3306 "GECOS stands for \"General Electric Comprehensive Operating System\", which "
3307 "was renamed to GCOS when GE's large systems division was sold to Honeywell. "
3308 "Dennis Ritchie has reported: \"Sometimes we sent printer output or batch "
3309 "jobs to the GCOS machine. The gcos field in the password file was a place "
3310 "to stash the information for the $IDENTcard. Not elegant.\""
3312 "GECOS は General Electric Comprehensive Operating System を意味しており、\n"
3313 "GE 社の大規模システム部門が Honeywell 社に売却された際に GCOS へと変更\n"
3314 "された。Dennis Ritchie 氏は次のように言っている:「時々プリンタ出力や、\n"
3315 "バッチジョブを GCOS マシンに送ったりするが、パスワードファイルの \n"
3316 "gcos 欄は $IDENT カード用の情報を 隠しておくための場所なんだ。\n"
3320 #: build/C/man5/passwd.5:125
3322 msgid "I<directory>"
3323 msgstr "I<directory>"
3326 #: build/C/man5/passwd.5:132
3328 "This is the user's home directory: the initial directory where the user is "
3329 "placed after logging in. The value in this field is used to set the B<HOME> "
3330 "environment variable."
3332 "ユーザーのホームディレクトリ、つまりログイン直後のそのユーザーの\n"
3334 "このフィールドの値は B<HOME> 環境変数に設定される。"
3337 #: build/C/man5/passwd.5:132
3343 #: build/C/man5/passwd.5:142
3345 "This is the program to run at login (if empty, use I</bin/sh>). If set to a "
3346 "nonexistent executable, the user will be unable to login through "
3347 "B<login>(1). The value in this field is used to set the B<SHELL> "
3348 "environment variable."
3350 "ログイン時に動くプログラム名 (空欄の場合 I</bin/sh> が使われる)。\n"
3351 "存在しない実行ファイルが設定された場合、そのユーザーは B<login>(1) による\n"
3352 "システムへのログインができなくなる。\n"
3353 "このフィールドの値は B<SHELL> 環境変数の値に設定される。"
3356 #: build/C/man5/passwd.5:148
3358 "If you want to create user groups, there must be an entry in I</etc/group>, "
3359 "or no group will exist."
3361 "ユーザーグループを作りたい場合には、そのグループが I</etc/group> の中に\n"
3362 "定義されていなければならない。そうしないとグループを作ったことにはならない。"
3365 #: build/C/man5/passwd.5:162
3367 "If the encrypted password is set to an asterisk (*), the user will be unable "
3368 "to login using B<login>(1), but may still login using B<rlogin>(1), run "
3369 "existing processes and initiate new ones through B<rsh>(1), B<cron>(8), "
3370 "B<at>(1), or mail filters, etc. Trying to lock an account by simply "
3371 "changing the shell field yields the same result and additionally allows the "
3374 "暗号化パスワードとしてアスタリスク (*) を設定すると、 B<login>(1) を\n"
3375 "使ってのログインができなくなるが、 B<rlogin>(1) ではまだログインができる"
3377 "B<rsh>(1), B<cron>(8), B<at>(1) やメールのフィルタ等を使い、現存するプロセス"
3379 "実行させたり、新たなプロセスを起動したりすることができる。\n"
3380 "使用する shell の欄を、単に変更することでアカウントを 使えないようにする\n"
3381 "のも同様の結果となる。その場合にはさらに B<su>(1) も有効なまま残ってしまう。"
3384 #: build/C/man5/passwd.5:173
3387 #| "B<login>(1), B<passwd>(1), B<su>(1), B<crypt>(3), B<getpwent>(3), "
3388 #| "B<getpwnam>(3), B<group>(5), B<shadow>(5)"
3390 "B<chfn>(1), B<chsh>(1), B<login>(1), B<passwd>(1), B<su>(1), B<crypt>(3), "
3391 "B<getpwent>(3), B<getpwnam>(3), B<group>(5), B<shadow>(5)"
3393 "B<login>(1), B<passwd>(1), B<su>(1), B<crypt>(3), B<getpwent>(3), "
3394 "B<getpwnam>(3), B<group>(5), B<shadow>(5)"
3397 #: build/C/man3/putgrent.3:7
3403 #: build/C/man3/putgrent.3:10
3404 msgid "putgrent - write a group database entry to a file"
3405 msgstr "putgrent - グループデータベースエントリーをファイルに書き込む"
3408 #: build/C/man3/putgrent.3:12
3409 msgid "B<#define _GNU_SOURCE> /* See feature_test_macros(7) */"
3410 msgstr "B<#define _GNU_SOURCE> /* feature_test_macros(7) 参照 */"
3413 #: build/C/man3/putgrent.3:16
3414 msgid "B<int putgrent(const struct group *>I<grp>B<, FILE *>I<stream>B<);>"
3415 msgstr "B<int putgrent(const struct group *>I<grp>B<, FILE *>I<stream>B<);>"
3418 #: build/C/man3/putgrent.3:26
3420 "The B<putgrent>() function is the counterpart for B<fgetgrent>(3). The "
3421 "function writes the content of the provided I<struct group> into the "
3422 "I<stream>. The list of group members must be NULL-terminated or NULL-"
3425 "B<putgrent>() 関数は B<fgetgrent>(3) の逆である。 この関数は与えられた "
3426 "I<struct group> を I<stream> に書き込む。 グループメンバのリストは、 NULL で"
3427 "終端されるか、 NULL で初期化されなければならない。"
3430 #: build/C/man3/putgrent.3:30
3431 msgid "The I<struct group> is defined as follows:"
3432 msgstr "I<struct group> は以下のように定義される:"
3435 #: build/C/man3/putgrent.3:39
3439 " char *gr_name; /* group name */\n"
3440 " char *gr_passwd; /* group password */\n"
3441 " gid_t gr_gid; /* group ID */\n"
3442 " char **gr_mem; /* group members */\n"
3446 " char *gr_name; /* グループ名 */\n"
3447 " char *gr_passwd; /* グループパスワード */\n"
3448 " gid_t gr_gid; /* グループ ID */\n"
3449 " char **gr_mem; /* グループメンバ */\n"
3453 #: build/C/man3/putgrent.3:43
3454 msgid "The function returns zero on success, and a nonzero value on error."
3455 msgstr "この関数は、成功した場合は 0 を返し、エラーの場合は 0 以外の値を返す。"
3458 #: build/C/man3/putgrent.3:45
3459 msgid "This function is a GNU extension."
3460 msgstr "この関数は GNU による拡張である。"
3463 #: build/C/man3/putgrent.3:49
3464 msgid "B<fgetgrent>(3), B<getgrent>(3), B<group>(5)"
3465 msgstr "B<fgetgrent>(3), B<getgrent>(3), B<group>(5)"
3468 #: build/C/man3/putpwent.3:30
3474 #: build/C/man3/putpwent.3:33
3475 msgid "putpwent - write a password file entry"
3476 msgstr "putpwent - パスワードファイルエントリーの書き込み"
3479 #: build/C/man3/putpwent.3:40
3481 msgid "B<int putpwent(const struct passwd *>I<p>B<, FILE *>I<stream>B<);>\n"
3482 msgstr "B<int putpwent(const struct passwd *>I<p>B<, FILE *>I<stream>B<);>\n"
3485 #: build/C/man3/putpwent.3:49
3486 msgid "B<putpwent>(): _SVID_SOURCE"
3487 msgstr "B<putpwent>(): _SVID_SOURCE"
3490 #: build/C/man3/putpwent.3:54
3492 "The B<putpwent>() function writes a password entry from the structure I<p> "
3493 "in the file associated with I<stream>."
3495 "B<putpwent>() 関数は、構造体 I<p> からのパスワードエントリーを I<stream> に"
3499 #: build/C/man3/putpwent.3:68
3503 " char *pw_name; /* username */\n"
3504 " char *pw_passwd; /* user password */\n"
3505 " uid_t pw_uid; /* user ID */\n"
3506 " gid_t pw_gid; /* group ID */\n"
3507 " char *pw_gecos; /* real name */\n"
3508 " char *pw_dir; /* home directory */\n"
3509 " char *pw_shell; /* shell program */\n"
3513 " char *pw_name; /* ユーザー名 */\n"
3514 " char *pw_passwd; /* ユーザーのパスワード */\n"
3515 " uid_t pw_uid; /* ユーザー ID */\n"
3516 " gid_t pw_gid; /* グループ ID */\n"
3517 " char *pw_gecos; /* 本名 */\n"
3518 " char *pw_dir; /* ホームディレクトリ */\n"
3519 " char *pw_shell; /* シェルプログラム */\n"
3523 #: build/C/man3/putpwent.3:78
3525 "The B<putpwent>() function returns 0 on success, or -1 if an error occurs. "
3526 "In the event of an error, I<errno> is set to indicate the cause."
3528 "B<putpwent>() 関数は、成功した場合 0 を返す。 エラーが発生した場合 -1 を返"
3529 "し、 I<errno>に原因を示す値が設定される。"
3532 #: build/C/man3/putpwent.3:82
3533 msgid "Invalid (NULL) argument given."
3534 msgstr "無効な(NULL)引数が渡された。"
3537 #: build/C/man3/putpwent.3:92
3539 "B<endpwent>(3), B<fgetpwent>(3), B<getpw>(3), B<getpwent>(3), "
3540 "B<getpwnam>(3), B<getpwuid>(3), B<setpwent>(3)"
3542 "B<endpwent>(3), B<fgetpwent>(3), B<getpw>(3), B<getpwent>(3), "
3543 "B<getpwnam>(3), B<getpwuid>(3), B<setpwent>(3)"
3546 #: build/C/man3/setaliasent.3:9
3549 msgstr "SETALIASENT"
3552 #: build/C/man3/setaliasent.3:9
3558 #: build/C/man3/setaliasent.3:13
3560 "setaliasent, endaliasent, getaliasent, getaliasent_r, getaliasbyname, "
3561 "getaliasbyname_r - read an alias entry"
3563 "setaliasent, endaliasent, getaliasent, getaliasent_r, getaliasbyname, "
3564 "getaliasbyname_r - エイリアスエントリーを読み込む"
3567 #: build/C/man3/setaliasent.3:15
3568 msgid "B<#include E<lt>aliases.hE<gt>>"
3569 msgstr "B<#include E<lt>aliases.hE<gt>>"
3572 #: build/C/man3/setaliasent.3:17
3573 msgid "B<void setaliasent(void);>"
3574 msgstr "B<void setaliasent(void);>"
3577 #: build/C/man3/setaliasent.3:19
3578 msgid "B<void endaliasent(void);>"
3579 msgstr "B<void endaliasent(void);>"
3582 #: build/C/man3/setaliasent.3:21
3583 msgid "B<struct aliasent *getaliasent(void);>"
3584 msgstr "B<struct aliasent *getaliasent(void);>"
3587 #: build/C/man3/setaliasent.3:23
3588 msgid "B<int getaliasent_r(struct aliasent *>I<result>B<,>"
3589 msgstr "B<int getaliasent_r(struct aliasent *>I<result>B<,>"
3592 #: build/C/man3/setaliasent.3:25 build/C/man3/setaliasent.3:31
3594 "B< char *>I<buffer>B<, size_t >I<buflen>B<, struct aliasent **>I<res>B<);>"
3596 "B< char *>I<buffer>B<, size_t >I<buflen>B<, struct aliasent **>I<res>B<);>"
3599 #: build/C/man3/setaliasent.3:27
3600 msgid "B<struct aliasent *getaliasbyname(const char *>I<name>B<);>"
3601 msgstr "B<struct aliasent *getaliasbyname(const char *>I<name>B<);>"
3604 #: build/C/man3/setaliasent.3:29
3606 "B<int getaliasbyname_r(const char *>I<name>B<, struct aliasent *>I<result>B<,"
3609 "B<int getaliasbyname_r(const char *>I<name>B<, struct aliasent *>I<result>B<,"
3613 #: build/C/man3/setaliasent.3:37
3615 "One of the databases available with the Name Service Switch (NSS) is the "
3616 "aliases database, that contains mail aliases. (To find out which databases "
3617 "are supported, try I<getent --help>.) Six functions are provided to access "
3618 "the aliases database."
3620 "ネームサービススイッチ (Name Service Switch, NSS) で 利用可能なデータベース"
3621 "の 1 つとして、 メールエイリアスを保持するエイリアスデータベースがある。 (ど"
3622 "のデータベースがサポートされているかを調べるには、 getent --help を実行するこ"
3623 "と。) エイリアスデータベースにアクセスするために、 6 つの関数が提供されてい"
3627 #: build/C/man3/setaliasent.3:44
3629 "The B<getaliasent>() function returns a pointer to a structure containing "
3630 "the group information from the aliases database. The first time it is "
3631 "called it returns the first entry; thereafter, it returns successive entries."
3633 "B<getaliasent>() 関数はエイリアスデータベースから取り出した グループ情報を含"
3634 "む構造体へのポインターを返す。 1 回目に関数が呼ばれたときには、最初のエント"
3635 "リーを返す; それ以降はその後のエントリーを返す。"
3638 #: build/C/man3/setaliasent.3:49
3640 "The B<setaliasent>() function rewinds the file pointer to the beginning of "
3641 "the aliases database."
3643 "B<setaliasent>() 関数はファイルポインターをエイリアスデータベースの先頭に巻"
3647 #: build/C/man3/setaliasent.3:53
3648 msgid "The B<endaliasent>() function closes the aliases database."
3649 msgstr "B<endaliasent>() 関数はエイリアスデータベースをクローズする。"
3652 #: build/C/man3/setaliasent.3:60
3654 "B<getaliasent_r>() is the reentrant version of the previous function. The "
3655 "requested structure is stored via the first argument but the programmer "
3656 "needs to fill the other arguments also. Not providing enough space causes "
3657 "the function to fail."
3659 "B<getaliasent_r>() 関数は上記の関数のリエントラント版である。 要求された構造"
3660 "体は第 1 引き数に格納されるが、 プログラマは他の引き数も埋めてやる必要があ"
3661 "る。 充分な領域が与えられないと、この関数は失敗する。"
3664 #: build/C/man3/setaliasent.3:66
3666 "The function B<getaliasbyname>() takes the name argument and searches the "
3667 "aliases database. The entry is returned as a pointer to a I<struct "
3670 "関数 B<getaliasbyname>() は name 引き数をとり、エイリアスデータベースを検索"
3671 "する。 エントリーは I<struct aliasent> へのポインターとして返される。"
3674 #: build/C/man3/setaliasent.3:73
3676 "B<getaliasbyname_r>() is the reentrant version of the previous function. "
3677 "The requested structure is stored via the second argument but the programmer "
3678 "needs to fill the other arguments also. Not providing enough space causes "
3679 "the function to fail."
3681 "B<getaliasbyname_r>() は上記の関数のリエントラント版である。 要求された構造"
3682 "体は第 2 引き数に格納されるが、 プログラマは他の引き数も埋めてやる必要があ"
3683 "る。 充分な領域が与えられないと、この関数は失敗する。"
3686 #: build/C/man3/setaliasent.3:78
3687 msgid "The I<struct aliasent> is defined in I<E<lt>aliases.hE<gt>>:"
3688 msgstr "I<struct aliasent> は I<E<lt>aliases.hE<gt>> で定義されている。"
3691 #: build/C/man3/setaliasent.3:87
3694 "struct aliasent {\n"
3695 " char *alias_name; /* alias name */\n"
3696 " size_t alias_members_len;\n"
3697 " char **alias_members; /* alias name list */\n"
3698 " int alias_local;\n"
3701 "struct aliasent {\n"
3702 " char *alias_name; /* エイリアス名 */\n"
3703 " size_t alias_members_len;\n"
3704 " char **alias_members; /* エイリアス名のリスト */\n"
3705 " int alias_local;\n"
3709 #: build/C/man3/setaliasent.3:95
3711 "The functions B<getaliasent_r>() and B<getaliasbyname_r>() return a "
3712 "nonzero value on error."
3714 "関数 B<getaliasent_r>() と B<getaliasbyname_r>() は、エラーの場合に 0 以外"
3718 #: build/C/man3/setaliasent.3:101
3720 "The default alias database is the file I</etc/aliases>. This can be changed "
3721 "in the I</etc/nsswitch.conf> file."
3723 "デフォルトのエイリアスデータベースは、ファイル I</etc/aliases> である。 これ"
3724 "は I</etc/nsswitch.conf> ファイルで変更できる。"
3727 #: build/C/man3/setaliasent.3:104
3729 "These routines are glibc-specific. The NeXT system has similar routines:"
3731 "このルーチンは glibc 固有のものである。 NeXT システムには同様のルーチンがあ"
3735 #: build/C/man3/setaliasent.3:108
3737 msgid "#include E<lt>aliasdb.hE<gt>\n"
3738 msgstr "#include E<lt>aliasdb.hE<gt>\n"
3741 #: build/C/man3/setaliasent.3:113
3744 "void alias_setent(void);\n"
3745 "void alias_endent(void);\n"
3746 "alias_ent *alias_getent(void);\n"
3747 "alias_ent *alias_getbyname(char *name);\n"
3749 "void alias_setent(void);\n"
3750 "void alias_endent(void);\n"
3751 "alias_ent *alias_getent(void);\n"
3752 "alias_ent *alias_getbyname(char *name);\n"
3755 #: build/C/man3/setaliasent.3:119
3757 "The following example compiles with I<gcc example.c -o example>. It will "
3758 "dump all names in the alias database."
3760 "以下の例は I<gcc example.c -o example> でコンパイルできる。 これはエイリアス"
3761 "データベースにある全ての名前をダンプする。"
3764 #: build/C/man3/setaliasent.3:125
3767 "#include E<lt>aliases.hE<gt>\n"
3768 "#include E<lt>stdio.hE<gt>\n"
3769 "#include E<lt>stdlib.hE<gt>\n"
3770 "#include E<lt>errno.hE<gt>\n"
3772 "#include E<lt>aliases.hE<gt>\n"
3773 "#include E<lt>stdio.hE<gt>\n"
3774 "#include E<lt>stdlib.hE<gt>\n"
3775 "#include E<lt>errno.hE<gt>\n"
3778 #: build/C/man3/setaliasent.3:144
3784 " struct aliasent *al;\n"
3787 " al = getaliasent();\n"
3788 " if (al == NULL)\n"
3790 " printf(\"Name: %s\\en\", al-E<gt>alias_name);\n"
3793 " perror(\"reading alias\");\n"
3794 " exit(EXIT_FAILURE);\n"
3797 " exit(EXIT_SUCCESS);\n"
3803 " struct aliasent *al;\n"
3806 " al = getaliasent();\n"
3807 " if (al == NULL)\n"
3809 " printf(\"Name: %s\\en\", al-E<gt>alias_name);\n"
3812 " perror(\"reading alias\");\n"
3813 " exit(EXIT_FAILURE);\n"
3816 " exit(EXIT_SUCCESS);\n"
3818 #. /etc/sendmail/aliases
3820 #. newaliases, postalias
3822 #: build/C/man3/setaliasent.3:154
3823 msgid "B<getgrent>(3), B<getpwent>(3), B<getspent>(3), B<aliases>(5)"
3824 msgstr "B<getgrent>(3), B<getpwent>(3), B<getspent>(3), B<aliases>(5)"