OSDN Git Service

(split) LDP: Update POT and ja.po to LDP v3.52.
[linuxjm/LDP_man-pages.git] / po4a / pwdgrp / po / ja.po
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.
5 #
6 msgid ""
7 msgstr ""
8 "Project-Id-Version: PACKAGE VERSION\n"
9 "POT-Creation-Date: 2013-07-15 16:08+0900\n"
10 "PO-Revision-Date: 2013-05-01 13:56+0900\n"
11 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
12 "Language-Team: LANGUAGE <LL@li.org>\n"
13 "Language: \n"
14 "MIME-Version: 1.0\n"
15 "Content-Type: text/plain; charset=UTF-8\n"
16 "Content-Transfer-Encoding: 8bit\n"
17
18 #. type: TH
19 #: build/C/man3/fgetgrent.3:30
20 #, no-wrap
21 msgid "FGETGRENT"
22 msgstr "FGETGRENT"
23
24 #. type: TH
25 #: build/C/man3/fgetgrent.3:30 build/C/man3/fgetpwent.3:33
26 #: build/C/man3/getspnam.3:8 build/C/man3/putpwent.3:30
27 #, fuzzy, no-wrap
28 #| msgid "2013-01-22"
29 msgid "2013-04-19"
30 msgstr "2013-01-22"
31
32 #. type: TH
33 #: build/C/man3/fgetgrent.3:30 build/C/man3/fgetpwent.3:33
34 #: build/C/man3/getgrent_r.3:24 build/C/man3/getgrouplist.3:29
35 #: build/C/man3/getpw.3:32 build/C/man3/getpwent.3:33
36 #: build/C/man3/getpwent_r.3:24 build/C/man3/getpwnam.3:37
37 #: build/C/man3/getspnam.3:8 build/C/man3/initgroups.3:32
38 #: build/C/man3/putgrent.3:7 build/C/man3/putpwent.3:30
39 #: build/C/man3/setaliasent.3:9
40 #, no-wrap
41 msgid "GNU"
42 msgstr "GNU"
43
44 #. type: TH
45 #: build/C/man3/fgetgrent.3:30 build/C/man3/fgetpwent.3:33
46 #: build/C/man5/ftpusers.5:19 build/C/man3/getgrent.3:30
47 #: build/C/man3/getgrent_r.3:24 build/C/man3/getgrnam.3:33
48 #: build/C/man3/getgrouplist.3:29 build/C/man3/getpw.3:32
49 #: build/C/man3/getpwent.3:33 build/C/man3/getpwent_r.3:24
50 #: build/C/man3/getpwnam.3:37 build/C/man3/getspnam.3:8
51 #: build/C/man5/group.5:26 build/C/man3/initgroups.3:32
52 #: build/C/man5/passwd.5:30 build/C/man3/putgrent.3:7
53 #: build/C/man3/putpwent.3:30 build/C/man3/setaliasent.3:9
54 #, no-wrap
55 msgid "Linux Programmer's Manual"
56 msgstr "Linux Programmer's Manual"
57
58 #. type: SH
59 #: build/C/man3/fgetgrent.3:31 build/C/man3/fgetpwent.3:34
60 #: build/C/man5/ftpusers.5:20 build/C/man3/getgrent.3:31
61 #: build/C/man3/getgrent_r.3:25 build/C/man3/getgrnam.3:34
62 #: build/C/man3/getgrouplist.3:30 build/C/man3/getpw.3:33
63 #: build/C/man3/getpwent.3:34 build/C/man3/getpwent_r.3:25
64 #: build/C/man3/getpwnam.3:38 build/C/man3/getspnam.3:9
65 #: build/C/man5/group.5:27 build/C/man3/initgroups.3:33
66 #: build/C/man5/passwd.5:31 build/C/man3/putgrent.3:8
67 #: build/C/man3/putpwent.3:31 build/C/man3/setaliasent.3:10
68 #, no-wrap
69 msgid "NAME"
70 msgstr "名前"
71
72 #. type: Plain text
73 #: build/C/man3/fgetgrent.3:33
74 msgid "fgetgrent - get group file entry"
75 msgstr "fgetgrent - グループファイルエントリの取り出し"
76
77 #. type: SH
78 #: build/C/man3/fgetgrent.3:33 build/C/man3/fgetpwent.3:36
79 #: build/C/man3/getgrent.3:33 build/C/man3/getgrent_r.3:27
80 #: build/C/man3/getgrnam.3:36 build/C/man3/getgrouplist.3:32
81 #: build/C/man3/getpw.3:35 build/C/man3/getpwent.3:36
82 #: build/C/man3/getpwent_r.3:27 build/C/man3/getpwnam.3:40
83 #: build/C/man3/getspnam.3:13 build/C/man3/initgroups.3:35
84 #: build/C/man3/putgrent.3:10 build/C/man3/putpwent.3:33
85 #: build/C/man3/setaliasent.3:13
86 #, no-wrap
87 msgid "SYNOPSIS"
88 msgstr "書式"
89
90 #. type: Plain text
91 #: build/C/man3/fgetgrent.3:38
92 #, no-wrap
93 msgid ""
94 "B<#include E<lt>stdio.hE<gt>>\n"
95 "B<#include E<lt>sys/types.hE<gt>>\n"
96 "B<#include E<lt>grp.hE<gt>>\n"
97 msgstr ""
98 "B<#include E<lt>stdio.hE<gt>>\n"
99 "B<#include E<lt>sys/types.hE<gt>>\n"
100 "B<#include E<lt>grp.hE<gt>>\n"
101
102 #. type: Plain text
103 #: build/C/man3/fgetgrent.3:40
104 #, no-wrap
105 msgid "B<struct group *fgetgrent(FILE *>I<stream>B<);>\n"
106 msgstr "B<struct group *fgetgrent(FILE *>I<stream>B<);>\n"
107
108 #. type: Plain text
109 #: build/C/man3/fgetgrent.3:45 build/C/man3/fgetpwent.3:48
110 #: build/C/man3/getgrent.3:48 build/C/man3/getgrent_r.3:43
111 #: build/C/man3/getgrnam.3:57 build/C/man3/getgrouplist.3:42
112 #: build/C/man3/getpwent.3:51 build/C/man3/getpwent_r.3:43
113 #: build/C/man3/getpwnam.3:61 build/C/man3/getspnam.3:61
114 #: build/C/man3/initgroups.3:46 build/C/man3/putpwent.3:45
115 msgid ""
116 "Feature Test Macro Requirements for glibc (see B<feature_test_macros>(7)):"
117 msgstr "glibc 向けの機能検査マクロの要件 (B<feature_test_macros>(7)  参照):"
118
119 #. type: Plain text
120 #: build/C/man3/fgetgrent.3:49
121 msgid "B<fgetgrent>(): _SVID_SOURCE"
122 msgstr "B<fgetgrent>(): _SVID_SOURCE"
123
124 #. type: SH
125 #: build/C/man3/fgetgrent.3:49 build/C/man3/fgetpwent.3:52
126 #: build/C/man5/ftpusers.5:22 build/C/man3/getgrent.3:68
127 #: build/C/man3/getgrent_r.3:51 build/C/man3/getgrnam.3:67
128 #: build/C/man3/getgrouplist.3:46 build/C/man3/getpw.3:43
129 #: build/C/man3/getpwent.3:62 build/C/man3/getpwent_r.3:50
130 #: build/C/man3/getpwnam.3:71 build/C/man3/getspnam.3:72
131 #: build/C/man5/group.5:29 build/C/man3/initgroups.3:50
132 #: build/C/man5/passwd.5:33 build/C/man3/putgrent.3:16
133 #: build/C/man3/putpwent.3:49 build/C/man3/setaliasent.3:31
134 #, no-wrap
135 msgid "DESCRIPTION"
136 msgstr "説明"
137
138 #. type: Plain text
139 #: build/C/man3/fgetgrent.3:63
140 msgid ""
141 "The B<fgetgrent>()  function returns a pointer to a structure containing the "
142 "group information from the file referred to by I<stream>.  The first time it "
143 "is called it returns the first entry; thereafter, it returns successive "
144 "entries.  The file referred to by I<stream> must have the same format as I</"
145 "etc/group> (see B<group>(5))."
146 msgstr ""
147 "B<fgetgrent>()  関数は、 I<stream> で参照されるファイルから取り出したグループ"
148 "情報 を含む構造体へのポインタを返す。最初に呼び出された時は 最初のエントリを"
149 "返し、それ以降は、次のエントリを返す。 I<stream> で参照されるファイルは、 I</"
150 "etc/group> と同じ形式でなければならない (B<group>(5)  参照)。"
151
152 #. type: Plain text
153 #: build/C/man3/fgetgrent.3:65 build/C/man3/getgrent.3:92
154 #: build/C/man3/getgrent_r.3:68 build/C/man3/getgrnam.3:86
155 msgid "The I<group> structure is defined in I<E<lt>grp.hE<gt>> as follows:"
156 msgstr "I<group> 構造体は I<E<lt>grp.hE<gt>> で以下のように定義されている:"
157
158 #. type: Plain text
159 #: build/C/man3/fgetgrent.3:74
160 #, no-wrap
161 msgid ""
162 "struct group {\n"
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;         /* group members */\n"
167 "};\n"
168 msgstr ""
169 "struct group {\n"
170 "    char   *gr_name;        /* グループ名 */\n"
171 "    char   *gr_passwd;      /* グループのパスワード */\n"
172 "    gid_t   gr_gid;         /* グループ ID */\n"
173 "    char  **gr_mem;         /* グループのメンバ */\n"
174 "};\n"
175
176 #. type: SH
177 #: build/C/man3/fgetgrent.3:76 build/C/man3/fgetpwent.3:81
178 #: build/C/man3/getgrent.3:106 build/C/man3/getgrent_r.3:101
179 #: build/C/man3/getgrnam.3:136 build/C/man3/getgrouplist.3:78
180 #: build/C/man3/getpw.3:72 build/C/man3/getpwent.3:103
181 #: build/C/man3/getpwent_r.3:103 build/C/man3/getpwnam.3:143
182 #: build/C/man3/getspnam.3:216 build/C/man3/initgroups.3:68
183 #: build/C/man3/putgrent.3:42 build/C/man3/putpwent.3:70
184 #: build/C/man3/setaliasent.3:89
185 #, no-wrap
186 msgid "RETURN VALUE"
187 msgstr "返り値"
188
189 #. type: Plain text
190 #: build/C/man3/fgetgrent.3:86
191 #, fuzzy
192 #| msgid ""
193 #| "The B<fgetgrent>()  function returns a pointer to a I<group> structure, "
194 #| "or NULL if there are no more entries or an error occurs."
195 msgid ""
196 "The B<fgetgrent>()  function returns a pointer to a I<group> structure, or "
197 "NULL if there are no more entries or an error occurs.  In the event of an "
198 "error, I<errno> is set to indicate the cause."
199 msgstr ""
200 "B<fgetgrent>()  関数は I<group> 構造体へのポインタを返す。 これ以上エントリが"
201 "無いか、エラーが発生した場合は NULL を返す。"
202
203 #. type: SH
204 #: build/C/man3/fgetgrent.3:86 build/C/man3/fgetpwent.3:91
205 #: build/C/man3/getgrent.3:129 build/C/man3/getgrent_r.3:108
206 #: build/C/man3/getgrnam.3:174 build/C/man3/getpw.3:78
207 #: build/C/man3/getpwent.3:125 build/C/man3/getpwent_r.3:110
208 #: build/C/man3/getpwnam.3:181 build/C/man3/getspnam.3:229
209 #: build/C/man3/initgroups.3:75 build/C/man3/putpwent.3:78
210 #, no-wrap
211 msgid "ERRORS"
212 msgstr "エラー"
213
214 #. type: TP
215 #: build/C/man3/fgetgrent.3:87 build/C/man3/fgetpwent.3:92
216 #: build/C/man3/getgrent.3:142 build/C/man3/getgrnam.3:196
217 #: build/C/man3/getpw.3:87 build/C/man3/getpwent.3:140
218 #: build/C/man3/getpwnam.3:203 build/C/man3/initgroups.3:76
219 #, no-wrap
220 msgid "B<ENOMEM>"
221 msgstr "B<ENOMEM>"
222
223 #.  not in POSIX
224 #.  to allocate the group structure, or to allocate buffers
225 #. type: Plain text
226 #: build/C/man3/fgetgrent.3:92 build/C/man3/getgrent.3:148
227 #: build/C/man3/getgrnam.3:203
228 msgid "Insufficient memory to allocate I<group> structure."
229 msgstr "I<group> 構造体を割り当てるためのメモリが不十分。"
230
231 #. type: SH
232 #: build/C/man3/fgetgrent.3:92 build/C/man3/fgetpwent.3:101
233 #: build/C/man3/getgrent.3:166 build/C/man3/getgrent_r.3:116
234 #: build/C/man3/getgrnam.3:223 build/C/man3/getgrouplist.3:98
235 #: build/C/man3/getpw.3:96 build/C/man3/getpwent.3:165
236 #: build/C/man3/getpwent_r.3:118 build/C/man3/getpwnam.3:230
237 #: build/C/man3/getspnam.3:249 build/C/man3/initgroups.3:88
238 #: build/C/man3/putgrent.3:44 build/C/man3/putpwent.3:82
239 #: build/C/man3/setaliasent.3:101
240 #, no-wrap
241 msgid "CONFORMING TO"
242 msgstr "準拠"
243
244 #. type: Plain text
245 #: build/C/man3/fgetgrent.3:94 build/C/man3/fgetpwent.3:103
246 #: build/C/man3/putpwent.3:84
247 msgid "SVr4."
248 msgstr "SVr4."
249
250 #. type: SH
251 #: build/C/man3/fgetgrent.3:94 build/C/man3/fgetpwent.3:103
252 #: build/C/man5/ftpusers.5:49 build/C/man3/getgrent.3:168
253 #: build/C/man3/getgrent_r.3:183 build/C/man3/getgrnam.3:246
254 #: build/C/man3/getgrouplist.3:189 build/C/man3/getpw.3:105
255 #: build/C/man3/getpwent.3:170 build/C/man3/getpwent_r.3:180
256 #: build/C/man3/getpwnam.3:326 build/C/man3/getspnam.3:253
257 #: build/C/man5/group.5:61 build/C/man3/initgroups.3:90
258 #: build/C/man5/passwd.5:162 build/C/man3/putgrent.3:46
259 #: build/C/man3/putpwent.3:84 build/C/man3/setaliasent.3:145
260 #, no-wrap
261 msgid "SEE ALSO"
262 msgstr "関連項目"
263
264 #. type: Plain text
265 #: build/C/man3/fgetgrent.3:104
266 msgid ""
267 "B<endgrent>(3), B<fgetgrent_r>(3), B<fopen>(3), B<getgrent>(3), B<getgrgid>"
268 "(3), B<getgrnam>(3), B<putgrent>(3), B<setgrent>(3), B<group>(5)"
269 msgstr ""
270 "B<endgrent>(3), B<fgetgrent_r>(3), B<fopen>(3), B<getgrent>(3), B<getgrgid>"
271 "(3), B<getgrnam>(3), B<putgrent>(3), B<setgrent>(3), B<group>(5)"
272
273 #. type: SH
274 #: build/C/man3/fgetgrent.3:104 build/C/man3/fgetpwent.3:114
275 #: build/C/man5/ftpusers.5:53 build/C/man3/getgrent.3:176
276 #: build/C/man3/getgrent_r.3:190 build/C/man3/getgrnam.3:253
277 #: build/C/man3/getgrouplist.3:195 build/C/man3/getpw.3:114
278 #: build/C/man3/getpwent.3:178 build/C/man3/getpwent_r.3:188
279 #: build/C/man3/getpwnam.3:336 build/C/man3/getspnam.3:258
280 #: build/C/man5/group.5:67 build/C/man3/initgroups.3:94
281 #: build/C/man5/passwd.5:171 build/C/man3/putgrent.3:50
282 #: build/C/man3/putpwent.3:92 build/C/man3/setaliasent.3:154
283 #, no-wrap
284 msgid "COLOPHON"
285 msgstr "この文書について"
286
287 #. type: Plain text
288 #: build/C/man3/fgetgrent.3:111 build/C/man3/fgetpwent.3:121
289 #: build/C/man5/ftpusers.5:60 build/C/man3/getgrent.3:183
290 #: build/C/man3/getgrent_r.3:197 build/C/man3/getgrnam.3:260
291 #: build/C/man3/getgrouplist.3:202 build/C/man3/getpw.3:121
292 #: build/C/man3/getpwent.3:185 build/C/man3/getpwent_r.3:195
293 #: build/C/man3/getpwnam.3:343 build/C/man3/getspnam.3:265
294 #: build/C/man5/group.5:74 build/C/man3/initgroups.3:101
295 #: build/C/man5/passwd.5:178 build/C/man3/putgrent.3:57
296 #: build/C/man3/putpwent.3:99 build/C/man3/setaliasent.3:161
297 #, fuzzy
298 #| msgid ""
299 #| "This page is part of release 3.51 of the Linux I<man-pages> project.  A "
300 #| "description of the project, and information about reporting bugs, can be "
301 #| "found at http://www.kernel.org/doc/man-pages/."
302 msgid ""
303 "This page is part of release 3.52 of the Linux I<man-pages> project.  A "
304 "description of the project, and information about reporting bugs, can be "
305 "found at \\%http://www.kernel.org/doc/man-pages/."
306 msgstr ""
307 "この man ページは Linux I<man-pages> プロジェクトのリリース 3.51 の一部\n"
308 "である。プロジェクトの説明とバグ報告に関する情報は\n"
309 "http://www.kernel.org/doc/man-pages/ に書かれている。"
310
311 #. type: TH
312 #: build/C/man3/fgetpwent.3:33
313 #, no-wrap
314 msgid "FGETPWENT"
315 msgstr "FGETPWENT"
316
317 #. type: Plain text
318 #: build/C/man3/fgetpwent.3:36
319 msgid "fgetpwent - get password file entry"
320 msgstr "fgetpwent - パスワードファイルエントリの取り出し"
321
322 #. type: Plain text
323 #: build/C/man3/fgetpwent.3:41 build/C/man3/putpwent.3:38
324 #, no-wrap
325 msgid ""
326 "B<#include E<lt>stdio.hE<gt>>\n"
327 "B<#include E<lt>sys/types.hE<gt>>\n"
328 "B<#include E<lt>pwd.hE<gt>>\n"
329 msgstr ""
330 "B<#include E<lt>stdio.hE<gt>>\n"
331 "B<#include E<lt>sys/types.hE<gt>>\n"
332 "B<#include E<lt>pwd.hE<gt>>\n"
333
334 #. type: Plain text
335 #: build/C/man3/fgetpwent.3:43
336 #, no-wrap
337 msgid "B<struct passwd *fgetpwent(FILE *>I<stream>B<);>\n"
338 msgstr "B<struct passwd *fgetpwent(FILE *>I<stream>B<);>\n"
339
340 #. type: Plain text
341 #: build/C/man3/fgetpwent.3:52
342 msgid "B<fgetpwent>(): _SVID_SOURCE"
343 msgstr "B<fgetpwent>(): _SVID_SOURCE"
344
345 #. type: Plain text
346 #: build/C/man3/fgetpwent.3:65
347 msgid ""
348 "The B<fgetpwent>()  function returns a pointer to a structure containing the "
349 "broken out fields of a line in the file I<stream>.  The first time it is "
350 "called it returns the first entry; thereafter, it returns successive "
351 "entries.  The file referred to by I<stream> must have the same format as I</"
352 "etc/passwd> (see B<passwd>(5))."
353 msgstr ""
354 "B<fgetpwent>()  関数は、I<stream> から得られた行を分解したフィールド を含む構"
355 "造体へのポインタを返す。 最初に呼び出された時には最初のエントリを返し、それ以"
356 "降は 次のエントリを返す。 I<stream> で参照されるファイルは I</etc/passwd> と"
357 "同じ形式でなければならない (B<passwd>(5)  参照)。"
358
359 #. type: Plain text
360 #: build/C/man3/fgetpwent.3:67 build/C/man3/getpw.3:55
361 #: build/C/man3/getpwent.3:86 build/C/man3/getpwent_r.3:67
362 #: build/C/man3/getpwnam.3:90 build/C/man3/putpwent.3:56
363 msgid "The I<passwd> structure is defined in I<E<lt>pwd.hE<gt>> as follows:"
364 msgstr "I<passwd> 構造体は、I<E<lt>pwd.hE<gt>> で以下のように定義されている:"
365
366 #. type: Plain text
367 #: build/C/man3/fgetpwent.3:79
368 #, no-wrap
369 msgid ""
370 "struct passwd {\n"
371 "    char   *pw_name;       /* username */\n"
372 "    char   *pw_passwd;     /* user password */\n"
373 "    uid_t   pw_uid;        /* user ID */\n"
374 "    gid_t   pw_gid;        /* group ID */\n"
375 "    char   *pw_gecos;      /* real name */\n"
376 "    char   *pw_dir;        /* home directory */\n"
377 "    char   *pw_shell;      /* shell program */\n"
378 "};\n"
379 msgstr ""
380 "struct passwd {\n"
381 "    char   *pw_name;       /* ユーザ名 */\n"
382 "    char   *pw_passwd;     /* ユーザのパスワード */\n"
383 "    uid_t   pw_uid;        /* ユーザ ID */\n"
384 "    gid_t   pw_gid;        /* グループ ID */\n"
385 "    char   *pw_gecos;      /* 実名 */\n"
386 "    char   *pw_dir;        /* ホームディレクトリ */\n"
387 "    char   *pw_shell;      /* シェルプログラム */\n"
388 "};\n"
389
390 #. type: Plain text
391 #: build/C/man3/fgetpwent.3:91
392 #, fuzzy
393 #| msgid ""
394 #| "The B<fgetpwent>()  function returns a pointer to a I<passwd> structure, "
395 #| "or NULL if there are no more entries or an error occurs."
396 msgid ""
397 "The B<fgetpwent>()  function returns a pointer to a I<passwd> structure, or "
398 "NULL if there are no more entries or an error occurs.  In the event of an "
399 "error, I<errno> is set to indicate the cause."
400 msgstr ""
401 "B<fgetpwent>()  関数は、 I<passwd> 構造体へのポインタを返す。 これ以上エント"
402 "リが無いか、エラーが発生した場合は NULL を返す。"
403
404 #.  not in POSIX
405 #.  This structure is static, allocated 0 or 1 times. No memory leak. (libc45)
406 #. type: Plain text
407 #: build/C/man3/fgetpwent.3:97 build/C/man3/getpw.3:92
408 #: build/C/man3/getpwent.3:147 build/C/man3/getpwnam.3:210
409 msgid "Insufficient memory to allocate I<passwd> structure."
410 msgstr "I<passwd> 構造体に割り当てるメモリが十分なかった。"
411
412 #. type: SH
413 #: build/C/man3/fgetpwent.3:97 build/C/man5/ftpusers.5:47
414 #: build/C/man3/getgrent.3:151 build/C/man3/getgrnam.3:206
415 #: build/C/man3/getpw.3:92 build/C/man3/getpwent.3:150
416 #: build/C/man3/getpwnam.3:213 build/C/man3/getspnam.3:236
417 #: build/C/man5/group.5:53 build/C/man3/initgroups.3:84
418 #: build/C/man5/passwd.5:142 build/C/man3/setaliasent.3:95
419 #, no-wrap
420 msgid "FILES"
421 msgstr "ファイル"
422
423 #. type: Plain text
424 #: build/C/man3/fgetpwent.3:98 build/C/man3/getpw.3:93
425 #: build/C/man3/getpwent.3:151 build/C/man3/getpwnam.3:214
426 #: build/C/man5/passwd.5:144
427 #, no-wrap
428 msgid "I</etc/passwd>"
429 msgstr "I</etc/passwd>"
430
431 #. type: Plain text
432 #: build/C/man3/fgetpwent.3:101 build/C/man3/getpw.3:96
433 msgid "password database file"
434 msgstr "パスワードデータベースファイル"
435
436 #. type: Plain text
437 #: build/C/man3/fgetpwent.3:114
438 msgid ""
439 "B<endpwent>(3), B<fgetpwent_r>(3), B<fopen>(3), B<getpw>(3), B<getpwent>(3), "
440 "B<getpwnam>(3), B<getpwuid>(3), B<putpwent>(3), B<setpwent>(3), B<passwd>(5)"
441 msgstr ""
442 "B<endpwent>(3), B<fgetpwent_r>(3), B<fopen>(3), B<getpw>(3), B<getpwent>(3), "
443 "B<getpwnam>(3), B<getpwuid>(3), B<putpwent>(3), B<setpwent>(3), B<passwd>(5)"
444
445 #. type: TH
446 #: build/C/man5/ftpusers.5:19
447 #, no-wrap
448 msgid "FTPUSERS"
449 msgstr "FTPUSERS"
450
451 #. type: TH
452 #: build/C/man5/ftpusers.5:19
453 #, no-wrap
454 msgid "2000-08-27"
455 msgstr "2000-08-27"
456
457 #. type: TH
458 #: build/C/man5/ftpusers.5:19 build/C/man5/group.5:26 build/C/man5/passwd.5:30
459 #, no-wrap
460 msgid "Linux"
461 msgstr "Linux"
462
463 #. type: Plain text
464 #: build/C/man5/ftpusers.5:22
465 msgid "ftpusers - list of users that may not log in via the FTP daemon"
466 msgstr "ftpusers - FTP デーモン経由でのログインを許さないユーザーのリスト"
467
468 #. type: Plain text
469 #: build/C/man5/ftpusers.5:41
470 msgid ""
471 "The text file B<ftpusers> contains a list of users that may not log in using "
472 "the File Transfer Protocol (FTP) server daemon.  This file is used not "
473 "merely for system administration purposes but for improving security within "
474 "a TCP/IP networked environment.  It will typically contain a list of the "
475 "users that either have no business using ftp or have too many privileges to "
476 "be allowed to log in through the FTP server daemon.  Such users usually "
477 "include root, daemon, bin, uucp, and news.  If your FTP server daemon "
478 "doesn't use B<ftpusers> then it is suggested that you read its documentation "
479 "to find out how to block access for certain users.  Washington University "
480 "FTP server Daemon (wuftpd) and Professional FTP Daemon (proftpd) are known "
481 "to make use of B<ftpusers>."
482 msgstr ""
483 "B<ftpusers> はテキストファイルで、File Transfer Protocol (FTP) サーバーデーモ"
484 "ン を利用してのログインを許さないユーザーをリストしたものである。 このファイ"
485 "ルは単にシステム管理のためだけでなく、 TCP/IP ネットワーク環境でのセキュリ"
486 "ティを向上させるのにも利用できる。 通常は、ftp を用いた作業を行わないユーザー"
487 "や、 FTP サーバーデーモン経由でのログインを許すには 権限が大きすぎるユーザー"
488 "をリストしておく。 このようなユーザーには、例えば root, daemon, bin, uucp, "
489 "news などが含まれる。 お使いの FTP サーバーデーモンが B<ftpusers> を用いない"
490 "場合は、そのデーモンのドキュメントを読んで、 特定のユーザーのアクセスをブロッ"
491 "クするやり方を学んでおくことをすすめる。 Washington University FTP サーバー"
492 "デーモン (wuftpd) と Professional FTP デーモン (proftpd) とは、 B<ftpusers> "
493 "を利用することがわかっている。"
494
495 #. type: SS
496 #: build/C/man5/ftpusers.5:41
497 #, no-wrap
498 msgid "Format"
499 msgstr "フォーマット"
500
501 #. type: Plain text
502 #: build/C/man5/ftpusers.5:47
503 msgid ""
504 "The format of B<ftpusers> is very simple.  There is one account name (or "
505 "username) per line.  Lines starting with a # are ignored."
506 msgstr ""
507 "B<ftpusers> のフォーマットは非常に単純であり、 アカウント名 (またはユーザー"
508 "名) を各行に書くだけである。 # で始まる行は無視される。"
509
510 #. type: Plain text
511 #: build/C/man5/ftpusers.5:49
512 msgid "I</etc/ftpusers>"
513 msgstr "I</etc/ftpusers>"
514
515 #. type: Plain text
516 #: build/C/man5/ftpusers.5:53
517 msgid "B<passwd>(5), B<proftpd>(8), B<wuftpd>(8)"
518 msgstr "B<passwd>(5), B<proftpd>(8), B<wuftpd>(8)"
519
520 #. type: TH
521 #: build/C/man3/getgrent.3:30
522 #, no-wrap
523 msgid "GETGRENT"
524 msgstr "GETGRENT"
525
526 #. type: TH
527 #: build/C/man3/getgrent.3:30 build/C/man3/getgrnam.3:33
528 #: build/C/man3/getpwent.3:33 build/C/man3/getpwnam.3:37
529 #, fuzzy, no-wrap
530 #| msgid "2013-01-22"
531 msgid "2013-06-21"
532 msgstr "2013-01-22"
533
534 #. type: Plain text
535 #: build/C/man3/getgrent.3:33
536 msgid "getgrent, setgrent, endgrent - get group file entry"
537 msgstr "getgrent, setgrent, endgrent - グループファイルエントリの取得"
538
539 #. type: Plain text
540 #: build/C/man3/getgrent.3:37 build/C/man3/getgrnam.3:40
541 #: build/C/man3/initgroups.3:39
542 #, no-wrap
543 msgid ""
544 "B<#include E<lt>sys/types.hE<gt>>\n"
545 "B<#include E<lt>grp.hE<gt>>\n"
546 msgstr ""
547 "B<#include E<lt>sys/types.hE<gt>>\n"
548 "B<#include E<lt>grp.hE<gt>>\n"
549
550 #. type: Plain text
551 #: build/C/man3/getgrent.3:39
552 #, no-wrap
553 msgid "B<struct group *getgrent(void);>\n"
554 msgstr "B<struct group *getgrent(void);>\n"
555
556 #. type: Plain text
557 #: build/C/man3/getgrent.3:41
558 #, no-wrap
559 msgid "B<void setgrent(void);>\n"
560 msgstr "B<void setgrent(void);>\n"
561
562 #. type: Plain text
563 #: build/C/man3/getgrent.3:43
564 #, no-wrap
565 msgid "B<void endgrent(void);>\n"
566 msgstr "B<void endgrent(void);>\n"
567
568 #. type: Plain text
569 #: build/C/man3/getgrent.3:53
570 msgid "B<setgrent>():"
571 msgstr "B<setgrent>():"
572
573 #. type: Plain text
574 #: build/C/man3/getgrent.3:56
575 msgid ""
576 "_SVID_SOURCE || _BSD_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500 || _XOPEN_SOURCE"
577 "\\ &&\\ _XOPEN_SOURCE_EXTENDED ||"
578 msgstr ""
579 "_SVID_SOURCE || _BSD_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500 || _XOPEN_SOURCE"
580 "\\ &&\\ _XOPEN_SOURCE_EXTENDED ||"
581
582 #. type: Plain text
583 #: build/C/man3/getgrent.3:58
584 msgid "/* Since glibc 2.12: */ _POSIX_C_SOURCE\\ E<gt>=\\ 200809L"
585 msgstr "/* Since glibc 2.12: */ _POSIX_C_SOURCE\\ E<gt>=\\ 200809L"
586
587 #. type: Plain text
588 #: build/C/man3/getgrent.3:62
589 msgid "B<getgrent>(), B<endgrent>():"
590 msgstr "B<getgrent>(), B<endgrent>():"
591
592 #. type: Plain text
593 #: build/C/man3/getgrent.3:65
594 msgid ""
595 "_SVID_SOURCE || _BSD_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500 || _XOPEN_SOURCE"
596 "\\ &&\\ _XOPEN_SOURCE_EXTENDED"
597 msgstr ""
598 "_SVID_SOURCE || _BSD_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500 || _XOPEN_SOURCE"
599 "\\ &&\\ _XOPEN_SOURCE_EXTENDED"
600
601 #. type: Plain text
602 #: build/C/man3/getgrent.3:80
603 msgid ""
604 "The B<getgrent>()  function returns a pointer to a structure containing the "
605 "broken-out fields of a record in the group database (e.g., the local group "
606 "file I</etc/group>, NIS, and LDAP).  The first time B<getgrent>()  is "
607 "called, it returns the first entry; thereafter, it returns successive "
608 "entries."
609 msgstr ""
610 "B<getgrent>()  関数は、グループ・データベースから取得したエントリを 要素毎に"
611 "分解し、各要素を格納した構造体へのポインタを返す (グループ・データベースの"
612 "例: ローカルのグループファイル I</etc/group>, NIS, LDAP)。 B<getgrent>()  "
613 "は、最初に呼び出された時は最初のエントリを返し、 それ以降は呼び出される毎に次"
614 "のエントリを返す。"
615
616 #. type: Plain text
617 #: build/C/man3/getgrent.3:85
618 msgid ""
619 "The B<setgrent>()  function rewinds to the beginning of the group database, "
620 "to allow repeated scans."
621 msgstr ""
622 "B<setgrent>()  関数を使うと、もう一度読み込めるように、 グループ・データベー"
623 "スの先頭に戻る。"
624
625 #. type: Plain text
626 #: build/C/man3/getgrent.3:90
627 msgid ""
628 "The B<endgrent>()  function is used to close the group database after all "
629 "processing has been performed."
630 msgstr ""
631 "B<endgrent>()  関数は、全ての処理が終わった後にグループ・ データベースをク"
632 "ローズする。"
633
634 #. type: Plain text
635 #: build/C/man3/getgrent.3:101 build/C/man3/getgrnam.3:95
636 #, no-wrap
637 msgid ""
638 "struct group {\n"
639 "    char   *gr_name;       /* group name */\n"
640 "    char   *gr_passwd;     /* group password */\n"
641 "    gid_t   gr_gid;        /* group ID */\n"
642 "    char  **gr_mem;        /* group members */\n"
643 "};\n"
644 msgstr ""
645 "struct group {\n"
646 "    char   *gr_name;       /* グループ名 */\n"
647 "    char   *gr_passwd;     /* グループのパスワード */\n"
648 "    gid_t   gr_gid;        /* グループ ID */\n"
649 "    char  **gr_mem;        /* グループのメンバ */\n"
650 "};\n"
651
652 #. type: Plain text
653 #: build/C/man3/getgrent.3:106 build/C/man3/getgrent_r.3:82
654 #: build/C/man3/getgrnam.3:100
655 msgid ""
656 "For more information about the fields of this structure, see B<group>(5)."
657 msgstr "この構造体のフィールドの詳細は B<group>(5)  を参照のこと。"
658
659 #. type: Plain text
660 #: build/C/man3/getgrent.3:113
661 msgid ""
662 "The B<getgrent>()  function returns a pointer to a I<group> structure, or "
663 "NULL if there are no more entries or an error occurs."
664 msgstr ""
665 "B<getgrent>()  関数は I<group> 構造体へのポインタを返す。 これ以上エントリが"
666 "無いか、エラーが発生した場合は NULL を返す。"
667
668 #. type: Plain text
669 #: build/C/man3/getgrent.3:120
670 msgid ""
671 "Upon error, I<errno> may be set.  If one wants to check I<errno> after the "
672 "call, it should be set to zero before the call."
673 msgstr ""
674 "エラーが発生すると、 I<errno> が適切に設定される。 この関数の呼び出し後に "
675 "I<errno> をチェックしたい場合は、呼び出し前に I<errno> を 0 に設定しておかな"
676 "いといけない。"
677
678 #. type: Plain text
679 #: build/C/man3/getgrent.3:129
680 msgid ""
681 "The return value may point to a static area, and may be overwritten by "
682 "subsequent calls to B<getgrent>(), B<getgrgid>(3), or B<getgrnam>(3).  (Do "
683 "not pass the returned pointer to B<free>(3).)"
684 msgstr ""
685 "返り値は静的な領域を指しており、その後の B<getgrent>(), B<getgrgid>(3), "
686 "B<getgrnam>(3)  の呼び出しで上書きされるかもしれない。 (返されたポインタを "
687 "B<free>(3)  に渡さないこと。)"
688
689 #. type: TP
690 #: build/C/man3/getgrent.3:130 build/C/man3/getgrnam.3:182
691 #: build/C/man3/getpwent.3:126 build/C/man3/getpwnam.3:189
692 #, no-wrap
693 msgid "B<EINTR>"
694 msgstr "B<EINTR>"
695
696 #. type: Plain text
697 #: build/C/man3/getgrent.3:133 build/C/man3/getgrnam.3:185
698 #: build/C/man3/getpwent.3:129 build/C/man3/getpwnam.3:192
699 msgid "A signal was caught."
700 msgstr "シグナルが捕捉された。"
701
702 #. type: TP
703 #: build/C/man3/getgrent.3:133 build/C/man3/getgrnam.3:185
704 #: build/C/man3/getpwent.3:129 build/C/man3/getpwnam.3:192
705 #, no-wrap
706 msgid "B<EIO>"
707 msgstr "B<EIO>"
708
709 #. type: Plain text
710 #: build/C/man3/getgrent.3:136 build/C/man3/getgrnam.3:188
711 #: build/C/man3/getpwent.3:132 build/C/man3/getpwnam.3:195
712 msgid "I/O error."
713 msgstr "I/O エラー。"
714
715 #. type: TP
716 #: build/C/man3/getgrent.3:136 build/C/man3/getgrnam.3:188
717 #: build/C/man3/getpwent.3:132 build/C/man3/getpwnam.3:195
718 #, no-wrap
719 msgid "B<EMFILE>"
720 msgstr "B<EMFILE>"
721
722 #. type: Plain text
723 #: build/C/man3/getgrent.3:139
724 msgid "The calling process already has too many open files."
725 msgstr "呼び出したプロセスが既にファイルをオープンし過ぎている。"
726
727 #. type: TP
728 #: build/C/man3/getgrent.3:139 build/C/man3/getgrnam.3:193
729 #: build/C/man3/getpwent.3:137 build/C/man3/getpwnam.3:200
730 #, no-wrap
731 msgid "B<ENFILE>"
732 msgstr "B<ENFILE>"
733
734 #. type: Plain text
735 #: build/C/man3/getgrent.3:142
736 msgid "Too many open files in the system."
737 msgstr "システム上にオープンされたファイルが多過ぎる。"
738
739 #. type: TP
740 #: build/C/man3/getgrent.3:148 build/C/man3/getgrent_r.3:112
741 #: build/C/man3/getgrnam.3:203 build/C/man3/getpwent.3:147
742 #: build/C/man3/getpwent_r.3:114 build/C/man3/getpwnam.3:210
743 #: build/C/man3/getspnam.3:233
744 #, no-wrap
745 msgid "B<ERANGE>"
746 msgstr "B<ERANGE>"
747
748 #. type: Plain text
749 #: build/C/man3/getgrent.3:151 build/C/man3/getgrnam.3:206
750 #: build/C/man3/getpwent.3:150 build/C/man3/getpwnam.3:213
751 msgid "Insufficient buffer space supplied."
752 msgstr "与えられたバッファ空間が不十分である。"
753
754 #. type: TP
755 #: build/C/man3/getgrent.3:152 build/C/man3/getgrnam.3:207
756 #, no-wrap
757 msgid "I</etc/group>"
758 msgstr "I</etc/group>"
759
760 #. type: Plain text
761 #: build/C/man3/getgrent.3:155 build/C/man3/getgrnam.3:210
762 msgid "local group database file"
763 msgstr "ローカルのグループ・データベースファイル"
764
765 #. type: SH
766 #: build/C/man3/getgrent.3:155 build/C/man3/getgrnam.3:210
767 #: build/C/man3/getpwent.3:154 build/C/man3/getpwnam.3:217
768 #, no-wrap
769 msgid "ATTRIBUTES"
770 msgstr ""
771
772 #. type: SS
773 #: build/C/man3/getgrent.3:156 build/C/man3/getgrnam.3:211
774 #: build/C/man3/getpwent.3:155 build/C/man3/getpwnam.3:218
775 #, no-wrap
776 msgid "Multithreading (see pthreads(7))"
777 msgstr ""
778
779 #. type: Plain text
780 #: build/C/man3/getgrent.3:160
781 #, fuzzy
782 #| msgid "The B<endaliasent>()  function closes the aliases database."
783 msgid "The B<getgrent()> function is not thread-safe."
784 msgstr "B<endaliasent>()  関数はエイリアスデータベースをクローズする。"
785
786 #. type: Plain text
787 #: build/C/man3/getgrent.3:166
788 msgid "The B<setgrent()> and B<endgrent()> functions are thread-safe."
789 msgstr ""
790
791 #. type: Plain text
792 #: build/C/man3/getgrent.3:168 build/C/man3/getgrnam.3:225
793 msgid "SVr4, 4.3BSD, POSIX.1-2001."
794 msgstr "SVr4, 4.3BSD, POSIX.1-2001."
795
796 #. type: Plain text
797 #: build/C/man3/getgrent.3:176
798 msgid ""
799 "B<fgetgrent>(3), B<getgrent_r>(3), B<getgrgid>(3), B<getgrnam>(3), "
800 "B<getgrouplist>(3), B<putgrent>(3), B<group>(5)"
801 msgstr ""
802 "B<fgetgrent>(3), B<getgrent_r>(3), B<getgrgid>(3), B<getgrnam>(3)  "
803 "B<getgrouplist>(3), B<putgrent>(3), B<group>(5)"
804
805 #. type: TH
806 #: build/C/man3/getgrent_r.3:24
807 #, no-wrap
808 msgid "GETGRENT_R"
809 msgstr "GETGRENT_R"
810
811 #. type: TH
812 #: build/C/man3/getgrent_r.3:24 build/C/man3/getpw.3:32
813 #: build/C/man3/getpwent_r.3:24 build/C/man5/group.5:26
814 #, no-wrap
815 msgid "2010-10-21"
816 msgstr "2010-10-21"
817
818 #. type: Plain text
819 #: build/C/man3/getgrent_r.3:27
820 msgid "getgrent_r, fgetgrent_r - get group file entry reentrantly"
821 msgstr ""
822 "getgrent_r, fgetgrent_r - グループファイルエントリをリエントラント "
823 "(reentrant) に取り出す"
824
825 #. type: Plain text
826 #: build/C/man3/getgrent_r.3:30
827 #, no-wrap
828 msgid "B<#include E<lt>grp.hE<gt>>\n"
829 msgstr "B<#include E<lt>grp.hE<gt>>\n"
830
831 #. type: Plain text
832 #: build/C/man3/getgrent_r.3:32
833 #, no-wrap
834 msgid "B<int getgrent_r(struct group *>I<gbuf>B<, char *>I<buf>B<,>\n"
835 msgstr "B<int getgrent_r(struct group *>I<gbuf>B<, char *>I<buf>B<,>\n"
836
837 #. type: Plain text
838 #: build/C/man3/getgrent_r.3:34
839 #, no-wrap
840 msgid "B<               size_t >I<buflen>B<, struct group **>I<gbufp>B<);>\n"
841 msgstr "B<               size_t >I<buflen>B<, struct group **>I<gbufp>B<);>\n"
842
843 #. type: Plain text
844 #: build/C/man3/getgrent_r.3:36
845 #, no-wrap
846 msgid "B<int fgetgrent_r(FILE *>I<fp>B<, struct group *>I<gbuf>B<, char *>I<buf>B<,>\n"
847 msgstr "B<int fgetgrent_r(FILE *>I<fp>B<, struct group *>I<gbuf>B<, char *>I<buf>B<,>\n"
848
849 #. type: Plain text
850 #: build/C/man3/getgrent_r.3:38
851 #, no-wrap
852 msgid "B<                size_t >I<buflen>B<, struct group **>I<gbufp>B<);>\n"
853 msgstr "B<                size_t >I<buflen>B<, struct group **>I<gbufp>B<);>\n"
854
855 #.  FIXME . The FTM requirements seem inconsistent here.  File a glibc bug?
856 #. type: Plain text
857 #: build/C/man3/getgrent_r.3:48
858 msgid "B<getgrent_r>(): _GNU_SOURCE"
859 msgstr "B<getgrent_r>(): _GNU_SOURCE"
860
861 #. type: Plain text
862 #: build/C/man3/getgrent_r.3:51
863 msgid "B<fgetgrent_r>(): _SVID_SOURCE"
864 msgstr "B<fgetgrent_r>(): _SVID_SOURCE"
865
866 #. type: Plain text
867 #: build/C/man3/getgrent_r.3:64
868 msgid ""
869 "The functions B<getgrent_r>()  and B<fgetgrent_r>()  are the reentrant "
870 "versions of B<getgrent>(3)  and B<fgetgrent>(3).  The former reads the next "
871 "group entry from the stream initialized by B<setgrent>(3).  The latter reads "
872 "the next group entry from the stream I<fp>."
873 msgstr ""
874 "関数 B<getgrent_r>()  と B<fgetgrent_r>()  は B<getgrent>(3)  と B<fgetgrent>"
875 "(3)  のリエントラント版である。 前者は、 B<setgrent>(3)  によって初期化された"
876 "ストリームから、次のグループファイルのエントリを読み込む。 後者は、ストリー"
877 "ム I<fp> から次のグループファイルのエントリを読み込む。"
878
879 #. type: Plain text
880 #: build/C/man3/getgrent_r.3:77
881 #, no-wrap
882 msgid ""
883 "struct group {\n"
884 "    char    *gr_name;     /* group name */\n"
885 "    char    *gr_passwd;   /* group password */\n"
886 "    gid_t    gr_gid;      /* group ID */\n"
887 "    char   **gr_mem;      /* group members */\n"
888 "};\n"
889 msgstr ""
890 "struct group {\n"
891 "    char    *gr_name;     /* グループ名 */\n"
892 "    char    *gr_passwd;   /* グループパスワード */\n"
893 "    gid_t    gr_gid;      /* グループ ID */\n"
894 "    char   **gr_mem;      /* グループメンバ */\n"
895 "};\n"
896
897 #. type: Plain text
898 #: build/C/man3/getgrent_r.3:101
899 msgid ""
900 "The nonreentrant functions return a pointer to static storage, where this "
901 "static storage contains further pointers to group name, password and "
902 "members.  The reentrant functions described here return all of that in "
903 "caller-provided buffers.  First of all there is the buffer I<gbuf> that can "
904 "hold a I<struct group>.  And next the buffer I<buf> of size I<buflen> that "
905 "can hold additional strings.  The result of these functions, the I<struct "
906 "group> read from the stream, is stored in the provided buffer I<*gbuf>, and "
907 "a pointer to this I<struct group> is returned in I<*gbufp>."
908 msgstr ""
909 "リエントラントでない関数は静的な格納領域へのポインタを返す。 この静的な格納領"
910 "域には、更にグループ名・パスワード・ メンバへのポインタが含まれる。 ここで説"
911 "明されているリエントラントな関数は、 呼び出し側から提供されるバッファにグルー"
912 "プ名など全てを返す。 最初の引き数として I<struct group> を保持できるバッファ "
913 "I<gbuf> がある。 次にその他の文字列を保持できるサイズ I<buflen> のバッファ "
914 "I<buf> がある。 これらの関数の結果 (ストリームから読み込まれた I<struct "
915 "group>) は、 提供されたバッファ I<*gbuf> に格納され、この I<struct group> へ"
916 "のポインタは I<*gbufp> に返される。"
917
918 #. type: Plain text
919 #: build/C/man3/getgrent_r.3:108
920 msgid ""
921 "On success, these functions return 0 and I<*gbufp> is a pointer to the "
922 "I<struct group>.  On error, these functions return an error value and "
923 "I<*gbufp> is NULL."
924 msgstr ""
925 "成功した場合、これらの関数は 0 を返し、 *I<gbufp> は I<struct group> へのポイ"
926 "ンタとなる。 エラーの場合、これらの関数はエラー値を返し、 *I<gbufp> は NULL "
927 "になる。"
928
929 #. type: TP
930 #: build/C/man3/getgrent_r.3:109 build/C/man3/getpw.3:83
931 #: build/C/man3/getpwent_r.3:111
932 #, no-wrap
933 msgid "B<ENOENT>"
934 msgstr "B<ENOENT>"
935
936 #. type: Plain text
937 #: build/C/man3/getgrent_r.3:112 build/C/man3/getpwent_r.3:114
938 msgid "No more entries."
939 msgstr "次のエントリがない。"
940
941 #. type: Plain text
942 #: build/C/man3/getgrent_r.3:116 build/C/man3/getpwent_r.3:118
943 msgid "Insufficient buffer space supplied.  Try again with larger buffer."
944 msgstr ""
945 "十分なバッファ空間が与えられていない。 もっと大きなバッファで再度実行するこ"
946 "と。"
947
948 #. type: Plain text
949 #: build/C/man3/getgrent_r.3:121 build/C/man3/getpwent_r.3:123
950 msgid ""
951 "These functions are GNU extensions, done in a style resembling the POSIX "
952 "version of functions like B<getpwnam_r>(3).  Other systems use prototype"
953 msgstr ""
954 "これらの関数は GNU 拡張であり、POSIX 版の関数 B<getpwnam_r>(3)  の形式に似せ"
955 "てある。 他のシステムでは以下のプロトタイプが使われている。"
956
957 #. type: Plain text
958 #: build/C/man3/getgrent_r.3:126
959 #, no-wrap
960 msgid ""
961 "struct group *getgrent_r(struct group *grp, char *buf,\n"
962 "                         int buflen);\n"
963 msgstr ""
964 "struct group *getgrent_r(struct group *grp, char *buf,\n"
965 "                         int buflen);\n"
966
967 #. type: Plain text
968 #: build/C/man3/getgrent_r.3:130 build/C/man3/getpwent_r.3:132
969 msgid "or, better,"
970 msgstr "より良いものでは、以下のようになっている。"
971
972 #. type: Plain text
973 #: build/C/man3/getgrent_r.3:135
974 #, no-wrap
975 msgid ""
976 "int getgrent_r(struct group *grp, char *buf, int buflen,\n"
977 "               FILE **gr_fp);\n"
978 msgstr ""
979 "int getgrent_r(struct group *grp, char *buf, int buflen,\n"
980 "               FILE **gr_fp);\n"
981
982 #. type: SH
983 #: build/C/man3/getgrent_r.3:137 build/C/man3/getgrnam.3:225
984 #: build/C/man3/getpwent_r.3:140 build/C/man3/getpwnam.3:235
985 #: build/C/man5/passwd.5:144
986 #, no-wrap
987 msgid "NOTES"
988 msgstr "注意"
989
990 #. type: Plain text
991 #: build/C/man3/getgrent_r.3:142
992 msgid ""
993 "The function B<getgrent_r>()  is not really reentrant since it shares the "
994 "reading position in the stream with all other threads."
995 msgstr ""
996 "関数 B<getgrent_r>()  は本当のリエントラントではない。 なぜなら、ストリームの"
997 "読み込み位置を 他の全てのスレッドと共有しているためである。"
998
999 #. type: SH
1000 #: build/C/man3/getgrent_r.3:142 build/C/man3/getgrouplist.3:109
1001 #: build/C/man3/getpwent_r.3:145 build/C/man3/getpwnam.3:274
1002 #: build/C/man3/setaliasent.3:115
1003 #, no-wrap
1004 msgid "EXAMPLE"
1005 msgstr "例"
1006
1007 #. type: Plain text
1008 #: build/C/man3/getgrent_r.3:149
1009 #, no-wrap
1010 msgid ""
1011 "#define _GNU_SOURCE\n"
1012 "#include E<lt>grp.hE<gt>\n"
1013 "#include E<lt>stdio.hE<gt>\n"
1014 "#include E<lt>stdlib.hE<gt>\n"
1015 "#define BUFLEN 4096\n"
1016 msgstr ""
1017 "#define _GNU_SOURCE\n"
1018 "#include E<lt>grp.hE<gt>\n"
1019 "#include E<lt>stdio.hE<gt>\n"
1020 "#include E<lt>stdlib.hE<gt>\n"
1021 "#define BUFLEN 4096\n"
1022
1023 #. type: Plain text
1024 #: build/C/man3/getgrent_r.3:156
1025 #, no-wrap
1026 msgid ""
1027 "int\n"
1028 "main(void)\n"
1029 "{\n"
1030 "    struct group grp, *grpp;\n"
1031 "    char buf[BUFLEN];\n"
1032 "    int i;\n"
1033 msgstr ""
1034 "int\n"
1035 "main(void)\n"
1036 "{\n"
1037 "    struct group grp, *grpp;\n"
1038 "    char buf[BUFLEN];\n"
1039 "    int i;\n"
1040
1041 #. type: Plain text
1042 #: build/C/man3/getgrent_r.3:173
1043 #, no-wrap
1044 msgid ""
1045 "    setgrent();\n"
1046 "    while (1) {\n"
1047 "        i = getgrent_r(&grp, buf, BUFLEN, &grpp);\n"
1048 "        if (i)\n"
1049 "            break;\n"
1050 "        printf(\"%s (%d):\", grpp-E<gt>gr_name, grpp-E<gt>gr_gid);\n"
1051 "        for (i = 0; ; i++) {\n"
1052 "            if (grpp-E<gt>gr_mem[i] == NULL)\n"
1053 "                break;\n"
1054 "            printf(\" %s\", grpp-E<gt>gr_mem[i]);\n"
1055 "        }\n"
1056 "        printf(\"\\en\");\n"
1057 "    }\n"
1058 "    endgrent();\n"
1059 "    exit(EXIT_SUCCESS);\n"
1060 "}\n"
1061 msgstr ""
1062 "    setgrent();\n"
1063 "    while (1) {\n"
1064 "        i = getgrent_r(&grp, buf, BUFLEN, &grpp);\n"
1065 "        if (i)\n"
1066 "            break;\n"
1067 "        printf(\"%s (%d):\", grpp-E<gt>gr_name, grpp-E<gt>gr_gid);\n"
1068 "        for (i = 0; ; i++) {\n"
1069 "            if (grpp-E<gt>gr_mem[i] == NULL)\n"
1070 "                break;\n"
1071 "            printf(\" %s\", grpp-E<gt>gr_mem[i]);\n"
1072 "        }\n"
1073 "        printf(\"\\en\");\n"
1074 "    }\n"
1075 "    endgrent();\n"
1076 "    exit(EXIT_SUCCESS);\n"
1077 "}\n"
1078
1079 #. type: Plain text
1080 #: build/C/man3/getgrent_r.3:190
1081 msgid ""
1082 "B<fgetgrent>(3), B<getgrent>(3), B<getgrgid>(3), B<getgrnam>(3), B<putgrent>"
1083 "(3), B<group>(5)"
1084 msgstr ""
1085 "B<fgetgrent>(3), B<getgrent>(3), B<getgrgid>(3), B<getgrnam>(3), B<putgrent>"
1086 "(3), B<group>(5)"
1087
1088 #. type: TH
1089 #: build/C/man3/getgrnam.3:33
1090 #, no-wrap
1091 msgid "GETGRNAM"
1092 msgstr "GETGRNAM"
1093
1094 #. type: Plain text
1095 #: build/C/man3/getgrnam.3:36
1096 msgid "getgrnam, getgrnam_r, getgrgid, getgrgid_r - get group file entry"
1097 msgstr ""
1098 "getgrnam, getgrnam_r, getgrgid, getgrgid_r - グループファイルエントリの取り出"
1099 "し"
1100
1101 #. type: Plain text
1102 #: build/C/man3/getgrnam.3:42
1103 #, no-wrap
1104 msgid "B<struct group *getgrnam(const char *>I<name>B<);>\n"
1105 msgstr "B<struct group *getgrnam(const char *>I<name>B<);>\n"
1106
1107 #. type: Plain text
1108 #: build/C/man3/getgrnam.3:44
1109 #, no-wrap
1110 msgid "B<struct group *getgrgid(gid_t >I<gid>B<);>\n"
1111 msgstr "B<struct group *getgrgid(gid_t >I<gid>B<);>\n"
1112
1113 #. type: Plain text
1114 #: build/C/man3/getgrnam.3:46
1115 #, no-wrap
1116 msgid "B<int getgrnam_r(const char *>I<name>B<, struct group *>I<grp>B<,>\n"
1117 msgstr "B<int getgrnam_r(const char *>I<name>B<, struct group *>I<grp>B<,>\n"
1118
1119 #. type: Plain text
1120 #: build/C/man3/getgrnam.3:48 build/C/man3/getgrnam.3:52
1121 #, no-wrap
1122 msgid "B<          char *>I<buf>B<, size_t >I<buflen>B<, struct group **>I<result>B<);>\n"
1123 msgstr "B<          char *>I<buf>B<, size_t >I<buflen>B<, struct group **>I<result>B<);>\n"
1124
1125 #. type: Plain text
1126 #: build/C/man3/getgrnam.3:50
1127 #, no-wrap
1128 msgid "B<int getgrgid_r(gid_t >I<gid>B<, struct group *>I<grp>B<,>\n"
1129 msgstr "B<int getgrgid_r(gid_t >I<gid>B<, struct group *>I<grp>B<,>\n"
1130
1131 #. type: Plain text
1132 #: build/C/man3/getgrnam.3:62
1133 msgid "B<getgrnam_r>(), B<getgrgid_r>():"
1134 msgstr "B<getgrnam_r>(), B<getgrgid_r>():"
1135
1136 #. type: Plain text
1137 #: build/C/man3/getgrnam.3:65 build/C/man3/getpwnam.3:69
1138 msgid ""
1139 "_POSIX_C_SOURCE\\ E<gt>=\\ 1 || _XOPEN_SOURCE || _BSD_SOURCE || _SVID_SOURCE "
1140 "|| _POSIX_SOURCE"
1141 msgstr ""
1142 "_POSIX_C_SOURCE\\ E<gt>=\\ 1 || _XOPEN_SOURCE || _BSD_SOURCE || _SVID_SOURCE "
1143 "|| _POSIX_SOURCE"
1144
1145 #. type: Plain text
1146 #: build/C/man3/getgrnam.3:77
1147 msgid ""
1148 "The B<getgrnam>()  function returns a pointer to a structure containing the "
1149 "broken-out fields of the record in the group database (e.g., the local group "
1150 "file I</etc/group>, NIS, and LDAP)  that matches the group name I<name>."
1151 msgstr ""
1152 "B<getgrnam>()  関数は、グループ名 I<name> にマッチするグループ・データベース"
1153 "のエントリを 要素毎に分解し、各要素を格納した構造体へのポインタを返す (パス"
1154 "ワード・データベースの例: ローカルのグループファイル I</etc/group>, NIS, "
1155 "LDAP)。"
1156
1157 #. type: Plain text
1158 #: build/C/man3/getgrnam.3:84
1159 msgid ""
1160 "The B<getgrgid>()  function returns a pointer to a structure containing the "
1161 "broken-out fields of the record in the group database that matches the group "
1162 "ID I<gid>."
1163 msgstr ""
1164 "B<getgrgid>()  関数は、グループ ID I<uid> にマッチするグループ・データベース"
1165 "のエントリを 要素毎に分解し、各要素を格納した構造体へのポインタを返す。"
1166
1167 #. type: Plain text
1168 #: build/C/man3/getgrnam.3:123
1169 msgid ""
1170 "The B<getgrnam_r>()  and B<getgrgid_r>()  functions obtain the same "
1171 "information as B<getgrnam>()  and B<getgrgid>(), but store the retrieved "
1172 "I<group> structure in the space pointed to by I<grp>.  The string fields "
1173 "pointed to by the members of the I<group> structure are stored in the buffer "
1174 "I<buf> of size I<buflen>.  A pointer to the result (in case of success) or "
1175 "NULL (in case no entry was found or an error occurred) is stored in "
1176 "I<*result>."
1177 msgstr ""
1178 "B<getgrnam_r>() と B<getgrgid_r>() 関数は、それぞれ B<getgrnam>() と\n"
1179 "B<getgrgid>() と同じ情報を取得するが、取得した I<group> 構造体を\n"
1180 "I<grp> が指す領域に格納する。I<group> 構造体のメンバーが指す文字列は、\n"
1181 "サイズ I<buflen> のバッファ I<buf> に格納される。成功した場合\n"
1182 "I<*gbufp> には結果へのポインタが格納される。エントリが見つからなかった\n"
1183 "場合やエラーが発生した場合には I<*result> には NULL が入る。"
1184
1185 #. type: Plain text
1186 #: build/C/man3/getgrnam.3:125 build/C/man3/getpwnam.3:132
1187 msgid "The call"
1188 msgstr "呼び出し"
1189
1190 #. type: Plain text
1191 #: build/C/man3/getgrnam.3:127
1192 #, no-wrap
1193 msgid "    sysconf(_SC_GETGR_R_SIZE_MAX)\n"
1194 msgstr "    sysconf(_SC_GETGR_R_SIZE_MAX)\n"
1195
1196 #. type: Plain text
1197 #: build/C/man3/getgrnam.3:136 build/C/man3/getpwnam.3:143
1198 msgid ""
1199 "returns either -1, without changing I<errno>, or an initial suggested size "
1200 "for I<buf>.  (If this size is too small, the call fails with B<ERANGE>, in "
1201 "which case the caller can retry with a larger buffer.)"
1202 msgstr ""
1203 "は、 I<errno> を変更せずに -1 を返すか、 I<buf> の初期サイズの推奨値を\n"
1204 "返す。(このサイズが小さすぎる場合、呼び出しは B<ERANGE> で失敗し、この\n"
1205 "場合には呼び出し側はバッファを大きくしてから再度呼び出すことができる。)"
1206
1207 #. type: Plain text
1208 #: build/C/man3/getgrnam.3:151
1209 msgid ""
1210 "The B<getgrnam>()  and B<getgrgid>()  functions return a pointer to a "
1211 "I<group> structure, or NULL if the matching entry is not found or an error "
1212 "occurs.  If an error occurs, I<errno> is set appropriately.  If one wants to "
1213 "check I<errno> after the call, it should be set to zero before the call."
1214 msgstr ""
1215 "B<getgrnam>()  と B<getgrgid>()  関数は、 I<group> 構造体へのポインタを返"
1216 "す。 マッチするエントリが見つからなかった場合や、 エラーが発生した場合は "
1217 "NULL を返す。 エラーが起こった場合、 I<errno> が適切に設定される。 呼び出しの"
1218 "後で I<errno> をチェックしたい場合は、 呼び出しの前に (この値を) 0 に設定して"
1219 "おくべきである。"
1220
1221 #. type: Plain text
1222 #: build/C/man3/getgrnam.3:160
1223 msgid ""
1224 "The return value may point to a static area, and may be overwritten by "
1225 "subsequent calls to B<getgrent>(3), B<getgrgid>(), or B<getgrnam>().  (Do "
1226 "not pass the returned pointer to B<free>(3).)"
1227 msgstr ""
1228 "返り値は静的な領域を指しており、その後の B<getgrent>(3), B<getgrgid>(), "
1229 "B<getgrnam>()  の呼び出しで上書きされるかもしれない。 (返されたポインタを "
1230 "B<free>(3)  に渡さないこと。)"
1231
1232 #. type: Plain text
1233 #: build/C/man3/getgrnam.3:174
1234 msgid ""
1235 "On success, B<getgrnam_r>()  and B<getgrgid_r>()  return zero, and set "
1236 "I<*result> to I<grp>.  If no matching group record was found, these "
1237 "functions return 0 and store NULL in I<*result>.  In case of error, an error "
1238 "number is returned, and NULL is stored in I<*result>."
1239 msgstr ""
1240 "成功すると、 B<getgrnam_r>()  と B<getgrgid_r>()  は 0 を返し、 I<*result> "
1241 "に I<grp> を設定する。 マッチするグループ・エントリが見つからなかった場合に"
1242 "は、 0 を返し、 I<*result> に NULL を設定する。 エラーの場合、エラー番号を返"
1243 "し、 I<*result> に NULL を設定する。"
1244
1245 #. type: TP
1246 #: build/C/man3/getgrnam.3:175 build/C/man3/getpwnam.3:182
1247 #, no-wrap
1248 msgid "B<0> or B<ENOENT> or B<ESRCH> or B<EBADF> or B<EPERM> or ... "
1249 msgstr "B<0> または B<ENOENT> または B<ESRCH> または B<EBADF> または B<EPERM> または ... "
1250
1251 #. type: Plain text
1252 #: build/C/man3/getgrnam.3:182
1253 msgid "The given I<name> or I<gid> was not found."
1254 msgstr "指定された I<name> または I<gid> が見つからなかった。"
1255
1256 #. type: Plain text
1257 #: build/C/man3/getgrnam.3:193 build/C/man3/getpwent.3:137
1258 #: build/C/man3/getpwnam.3:200
1259 msgid ""
1260 "The maximum number (B<OPEN_MAX>)  of files was open already in the calling "
1261 "process."
1262 msgstr ""
1263 "呼び出し元プロセスがオープンしているファイル数が すでに上限 (B<OPEN_MAX>)  で"
1264 "あった。"
1265
1266 #. type: Plain text
1267 #: build/C/man3/getgrnam.3:196 build/C/man3/getpwent.3:140
1268 #: build/C/man3/getpwnam.3:203
1269 msgid "The maximum number of files was open already in the system."
1270 msgstr "システムでオープンされているファイル数がすでに上限であった。"
1271
1272 #. type: Plain text
1273 #: build/C/man3/getgrnam.3:217
1274 #, fuzzy
1275 #| msgid ""
1276 #| "The functions B<getaliasent_r>()  and B<getaliasbyname_r>()  return a "
1277 #| "nonzero value on error."
1278 msgid "The functions B<getgrnam>()  and B<getgrgid>()  are not thread-safe."
1279 msgstr ""
1280 "関数 B<getaliasent_r>()  と B<getaliasbyname_r>()  は、エラーの場合に 0 以外"
1281 "の値を返す。"
1282
1283 #. type: Plain text
1284 #: build/C/man3/getgrnam.3:223
1285 #, fuzzy
1286 #| msgid ""
1287 #| "The functions B<getaliasent_r>()  and B<getaliasbyname_r>()  return a "
1288 #| "nonzero value on error."
1289 msgid "The functions B<getgrnam_r>()  and B<getgrgid_r>()  are thread-safe."
1290 msgstr ""
1291 "関数 B<getaliasent_r>()  と B<getaliasbyname_r>()  は、エラーの場合に 0 以外"
1292 "の値を返す。"
1293
1294 #.  more precisely:
1295 #.  AIX 5.1 - gives ESRCH
1296 #.  OSF1 4.0g - gives EWOULDBLOCK
1297 #.  libc, glibc up to version 2.6, Irix 6.5 - give ENOENT
1298 #.  glibc since version 2.7 - give 0
1299 #.  FreeBSD 4.8, OpenBSD 3.2, NetBSD 1.6 - give EPERM
1300 #.  SunOS 5.8 - gives EBADF
1301 #.  Tru64 5.1b, HP-UX-11i, SunOS 5.7 - give 0
1302 #. type: Plain text
1303 #: build/C/man3/getgrnam.3:246
1304 msgid ""
1305 "The formulation given above under \"RETURN VALUE\" is from POSIX.1-2001.  It "
1306 "does not call \"not found\" an error, hence does not specify what value "
1307 "I<errno> might have in this situation.  But that makes it impossible to "
1308 "recognize errors.  One might argue that according to POSIX I<errno> should "
1309 "be left unchanged if an entry is not found.  Experiments on various UNIX-"
1310 "like systems shows that lots of different values occur in this situation: 0, "
1311 "ENOENT, EBADF, ESRCH, EWOULDBLOCK, EPERM and probably others."
1312 msgstr ""
1313 "上記の「返り値」以下の記述は POSIX.1-2001 に拠る。 この標準は「(エントリが) "
1314 "見つからないこと」をエラーとしていないので、 そのような場合に I<errno> がどの"
1315 "ような値になるかを定めていない。 そのため、エラーを認識することは不可能であ"
1316 "る。 POSIX に準拠して、エントリが見つからない場合は I<errno> を変更しないよう"
1317 "にすべきである、と主張する人もいるかもしれない。 様々な UNIX 系のシステムで試"
1318 "してみると、そのような場合には 0, ENOENT, EBADF, ESRCH, EWOULDBLOCK, EPERM と"
1319 "いった様々な値が返される。 他の値が返されるかもしれない。"
1320
1321 #. type: Plain text
1322 #: build/C/man3/getgrnam.3:253
1323 msgid ""
1324 "B<endgrent>(3), B<fgetgrent>(3), B<getgrent>(3), B<getpwnam>(3), B<setgrent>"
1325 "(3), B<group>(5)"
1326 msgstr ""
1327 "B<endgrent>(3), B<fgetgrent>(3), B<getgrent>(3), B<getpwnam>(3), B<setgrent>"
1328 "(3), B<group>(5)"
1329
1330 #. type: TH
1331 #: build/C/man3/getgrouplist.3:29
1332 #, no-wrap
1333 msgid "GETGROUPLIST"
1334 msgstr "GETGROUPLIST"
1335
1336 #. type: TH
1337 #: build/C/man3/getgrouplist.3:29
1338 #, no-wrap
1339 msgid "2008-07-03"
1340 msgstr "2009-07-03"
1341
1342 #. type: Plain text
1343 #: build/C/man3/getgrouplist.3:32
1344 msgid "getgrouplist - get list of groups to which a user belongs"
1345 msgstr "getgrouplist - ユーザが所属するグループのリストを取得する"
1346
1347 #. type: Plain text
1348 #: build/C/man3/getgrouplist.3:34 build/C/man3/putgrent.3:14
1349 msgid "B<#include E<lt>grp.hE<gt>>"
1350 msgstr "B<#include E<lt>grp.hE<gt>>"
1351
1352 #. type: Plain text
1353 #: build/C/man3/getgrouplist.3:36
1354 msgid "B<int getgrouplist(const char *>I<user>B<, gid_t >I<group>B<,>"
1355 msgstr "B<int getgrouplist(const char *>I<user>B<, gid_t >I<group>B<,>"
1356
1357 #. type: Plain text
1358 #: build/C/man3/getgrouplist.3:38
1359 msgid "B< gid_t *>I<groups>B<, int *>I<ngroups>B<);>"
1360 msgstr "B< gid_t *>I<groups>B<, int *>I<ngroups>B<);>"
1361
1362 #. type: Plain text
1363 #: build/C/man3/getgrouplist.3:46
1364 msgid "B<getgrouplist>(): _BSD_SOURCE"
1365 msgstr "B<getgrouplist>(): _BSD_SOURCE"
1366
1367 #. type: Plain text
1368 #: build/C/man3/getgrouplist.3:58
1369 msgid ""
1370 "The B<getgrouplist>()  function scans the group database (see B<group>(5))  "
1371 "to obtain the list of groups that I<user> belongs to.  Up to I<*ngroups> of "
1372 "these groups are returned in the array I<groups>."
1373 msgstr ""
1374 "B<getgrouplist>()  関数は、グループデータベース (B<group>(5)  参照) を調べ"
1375 "て、 I<user> が所属するグループのリストを取得する。 見つかったグループのうち"
1376 "最大 I<*ngroups> 個のグループが、配列 I<groups> に格納されて返される。"
1377
1378 #. type: Plain text
1379 #: build/C/man3/getgrouplist.3:68
1380 msgid ""
1381 "If it was not among the groups defined for I<user> in the group database, "
1382 "then I<group> is included in the list of groups returned by B<getgrouplist>"
1383 "(); typically this argument is specified as the group ID from the password "
1384 "record for I<user>."
1385 msgstr ""
1386 "引き数 I<group> がグループデータベースに I<user> が所属するグループがなかった"
1387 "場合、 B<getgrouplist>()  が返すグループのリストに引き数 I<group> も追加され"
1388 "る。 通常は、この引き数にはユーザ I<user> のパスワードレコードに書かれている"
1389 "グループ ID を指定する。"
1390
1391 #. type: Plain text
1392 #: build/C/man3/getgrouplist.3:78
1393 msgid ""
1394 "The I<ngroups> argument is a value-result argument: on return it always "
1395 "contains the number of groups found for I<user>, including I<group>; this "
1396 "value may be greater than the number of groups stored in I<groups>."
1397 msgstr ""
1398 "引き数 I<ngroups> は、値渡しと結果の両方に使用される引き数 (value-result "
1399 "argument) であり、 リターン時には、常に I<group> も含めた I<user> が所属する"
1400 "グループ数が格納される。 この値は I<groups> に格納されたグループ数より大きく"
1401 "なる可能性がある。"
1402
1403 #. type: Plain text
1404 #: build/C/man3/getgrouplist.3:86
1405 msgid ""
1406 "If the number of groups of which I<user> is a member is less than or equal "
1407 "to I<*ngroups>, then the value I<*ngroups> is returned."
1408 msgstr ""
1409 "I<user> が所属しているグループ数が I<*ngroups> 以下の場合、 I<*ngroups> の値"
1410 "が返される。"
1411
1412 #. type: Plain text
1413 #: build/C/man3/getgrouplist.3:96
1414 msgid ""
1415 "If the user is a member of more than I<*ngroups> groups, then B<getgrouplist>"
1416 "()  returns -1.  In this case the value returned in I<*ngroups> can be used "
1417 "to resize the buffer passed to a further call B<getgrouplist>()."
1418 msgstr ""
1419 "指定されたユーザが I<*ngroups> より多くのグループに所属している場合、 "
1420 "B<getgrouplist>()  は -1 を返す。 この場合、 I<*ngroups> で返される値を使っ"
1421 "て、バッファのサイズを変更してから、 B<getgrouplist>()  をもう一度呼び出すこ"
1422 "とができる。"
1423
1424 #. type: SH
1425 #: build/C/man3/getgrouplist.3:96
1426 #, no-wrap
1427 msgid "VERSIONS"
1428 msgstr "バージョン"
1429
1430 #. type: Plain text
1431 #: build/C/man3/getgrouplist.3:98
1432 msgid "This function is present since glibc 2.2.4."
1433 msgstr "この関数は glibc 2.2.4 から存在する。"
1434
1435 #. type: Plain text
1436 #: build/C/man3/getgrouplist.3:100
1437 msgid "This function is nonstandard; it appears on most BSDs."
1438 msgstr "この関数は非標準である。ほとんどの BSD に存在する。"
1439
1440 #. type: SH
1441 #: build/C/man3/getgrouplist.3:100 build/C/man3/getpw.3:98
1442 #: build/C/man5/group.5:55
1443 #, no-wrap
1444 msgid "BUGS"
1445 msgstr "バグ"
1446
1447 #. type: Plain text
1448 #: build/C/man3/getgrouplist.3:109
1449 msgid ""
1450 "In glibc versions before 2.3.3, the implementation of this function contains "
1451 "a buffer-overrun bug: it returns the complete list of groups for I<user> in "
1452 "the array I<groups>, even when the number of groups exceeds I<*ngroups>."
1453 msgstr ""
1454 "バージョン 2.3.3 より前の glibc では、 この関数の実装にはバッファオーバーフ"
1455 "ローのバグがあり、 I<user> が所属するグループ数が I<*ngroups> より多い場合で"
1456 "あっても、 I<user> が所属するグループの全リストを配列 I<groups> に格納してし"
1457 "まう。"
1458
1459 #. type: Plain text
1460 #: build/C/man3/getgrouplist.3:118
1461 msgid ""
1462 "The program below displays the group list for the user named in its first "
1463 "command-line argument.  The second command-line argument specifies the "
1464 "I<ngroups> value to be supplied to B<getgrouplist>().  The following shell "
1465 "session shows examples of the use of this program:"
1466 msgstr ""
1467 "以下のプログラムは、一つ目のコマンドライン引き数で指定された名前のユーザ が所"
1468 "属するグループのリストを表示する。 二番目のコマンドライン引き数には、 "
1469 "B<getgrouplist>()  に渡す I<ngroups> の値を指定する。 以下のシェルのセッショ"
1470 "ンはこのプログラムの使用例を示したものである。"
1471
1472 #. type: Plain text
1473 #: build/C/man3/getgrouplist.3:128
1474 #, no-wrap
1475 msgid ""
1476 "$B< ./a.out cecilia 0>\n"
1477 "getgrouplist() returned -1; ngroups = 3\n"
1478 "$B< ./a.out cecilia 3>\n"
1479 "ngroups = 3\n"
1480 "16 (dialout)\n"
1481 "33 (video)\n"
1482 "100 (users)\n"
1483 msgstr ""
1484 "$B< ./a.out cecilia 0>\n"
1485 "getgrouplist() returned -1; ngroups = 3\n"
1486 "$B< ./a.out cecilia 3>\n"
1487 "ngroups = 3\n"
1488 "16 (dialout)\n"
1489 "33 (video)\n"
1490 "100 (users)\n"
1491
1492 #. type: SS
1493 #: build/C/man3/getgrouplist.3:130
1494 #, no-wrap
1495 msgid "Program source"
1496 msgstr "プログラムのソース"
1497
1498 #. type: Plain text
1499 #: build/C/man3/getgrouplist.3:137
1500 #, no-wrap
1501 msgid ""
1502 "#include E<lt>stdio.hE<gt>\n"
1503 "#include E<lt>stdlib.hE<gt>\n"
1504 "#include E<lt>grp.hE<gt>\n"
1505 "#include E<lt>pwd.hE<gt>\n"
1506 msgstr ""
1507 "#include E<lt>stdio.hE<gt>\n"
1508 "#include E<lt>stdlib.hE<gt>\n"
1509 "#include E<lt>grp.hE<gt>\n"
1510 "#include E<lt>pwd.hE<gt>\n"
1511
1512 #. type: Plain text
1513 #: build/C/man3/getgrouplist.3:145
1514 #, no-wrap
1515 msgid ""
1516 "int\n"
1517 "main(int argc, char *argv[])\n"
1518 "{\n"
1519 "    int j, ngroups;\n"
1520 "    gid_t *groups;\n"
1521 "    struct passwd *pw;\n"
1522 "    struct group *gr;\n"
1523 msgstr ""
1524 "int\n"
1525 "main(int argc, char *argv[])\n"
1526 "{\n"
1527 "    int j, ngroups;\n"
1528 "    gid_t *groups;\n"
1529 "    struct passwd *pw;\n"
1530 "    struct group *gr;\n"
1531
1532 #. type: Plain text
1533 #: build/C/man3/getgrouplist.3:150
1534 #, no-wrap
1535 msgid ""
1536 "    if (argc != 3) {\n"
1537 "        fprintf(stderr, \"Usage: %s E<lt>userE<gt> E<lt>ngroupsE<gt>\\en\", argv[0]);\n"
1538 "        exit(EXIT_FAILURE);\n"
1539 "    }\n"
1540 msgstr ""
1541 "    if (argc != 3) {\n"
1542 "        fprintf(stderr, \"Usage: %s E<lt>userE<gt> E<lt>ngroupsE<gt>\\en\", argv[0]);\n"
1543 "        exit(EXIT_FAILURE);\n"
1544 "    }\n"
1545
1546 #. type: Plain text
1547 #: build/C/man3/getgrouplist.3:152
1548 #, no-wrap
1549 msgid "    ngroups = atoi(argv[2]);\n"
1550 msgstr "    ngroups = atoi(argv[2]);\n"
1551
1552 #. type: Plain text
1553 #: build/C/man3/getgrouplist.3:158
1554 #, no-wrap
1555 msgid ""
1556 "    groups = malloc(ngroups * sizeof (gid_t));\n"
1557 "    if (groups == NULL) {\n"
1558 "        perror(\"malloc\");\n"
1559 "        exit(EXIT_FAILURE);\n"
1560 "    }\n"
1561 msgstr ""
1562 "    groups = malloc(ngroups * sizeof (gid_t));\n"
1563 "    if (groups == NULL) {\n"
1564 "        perror(\"malloc\");\n"
1565 "        exit(EXIT_FAILURE);\n"
1566 "    }\n"
1567
1568 #. type: Plain text
1569 #: build/C/man3/getgrouplist.3:160
1570 #, no-wrap
1571 msgid "    /* Fetch passwd structure (contains first group ID for user) */\n"
1572 msgstr "    /* Fetch passwd structure (contains first group ID for user) */\n"
1573
1574 #. type: Plain text
1575 #: build/C/man3/getgrouplist.3:166
1576 #, no-wrap
1577 msgid ""
1578 "    pw = getpwnam(argv[1]);\n"
1579 "    if (pw == NULL) {\n"
1580 "        perror(\"getpwnam\");\n"
1581 "        exit(EXIT_SUCCESS);\n"
1582 "    }\n"
1583 msgstr ""
1584 "    pw = getpwnam(argv[1]);\n"
1585 "    if (pw == NULL) {\n"
1586 "        perror(\"getpwnam\");\n"
1587 "        exit(EXIT_SUCCESS);\n"
1588 "    }\n"
1589
1590 #. type: Plain text
1591 #: build/C/man3/getgrouplist.3:168
1592 #, no-wrap
1593 msgid "    /* Retrieve group list */\n"
1594 msgstr "    /* Retrieve group list */\n"
1595
1596 #. type: Plain text
1597 #: build/C/man3/getgrouplist.3:174
1598 #, no-wrap
1599 msgid ""
1600 "    if (getgrouplist(argv[1], pw-E<gt>pw_gid, groups, &ngroups) == -1) {\n"
1601 "        fprintf(stderr, \"getgrouplist() returned -1; ngroups = %d\\en\",\n"
1602 "                ngroups);\n"
1603 "\texit(EXIT_FAILURE);\n"
1604 "    }\n"
1605 msgstr ""
1606 "    if (getgrouplist(argv[1], pw-E<gt>pw_gid, groups, &ngroups) == -1) {\n"
1607 "        fprintf(stderr, \"getgrouplist() returned -1; ngroups = %d\\en\",\n"
1608 "                ngroups);\n"
1609 "\texit(EXIT_FAILURE);\n"
1610 "    }\n"
1611
1612 #. type: Plain text
1613 #: build/C/man3/getgrouplist.3:176
1614 #, no-wrap
1615 msgid "    /* Display list of retrieved groups, along with group names */\n"
1616 msgstr "    /* Display list of retrieved groups, along with group names */\n"
1617
1618 #. type: Plain text
1619 #: build/C/man3/getgrouplist.3:185
1620 #, no-wrap
1621 msgid ""
1622 "    fprintf(stderr, \"ngroups = %d\\en\", ngroups);\n"
1623 "    for (j = 0; j E<lt> ngroups; j++) {\n"
1624 "        printf(\"%d\", groups[j]);\n"
1625 "        gr = getgrgid(groups[j]);\n"
1626 "        if (gr != NULL)\n"
1627 "            printf(\" (%s)\", gr-E<gt>gr_name);\n"
1628 "        printf(\"\\en\");\n"
1629 "    }\n"
1630 msgstr ""
1631 "    fprintf(stderr, \"ngroups = %d\\en\", ngroups);\n"
1632 "    for (j = 0; j E<lt> ngroups; j++) {\n"
1633 "        printf(\"%d\", groups[j]);\n"
1634 "        gr = getgrgid(groups[j]);\n"
1635 "        if (gr != NULL)\n"
1636 "            printf(\" (%s)\", gr-E<gt>gr_name);\n"
1637 "        printf(\"\\en\");\n"
1638 "    }\n"
1639
1640 #. type: Plain text
1641 #: build/C/man3/getgrouplist.3:188
1642 #, no-wrap
1643 msgid ""
1644 "    exit(EXIT_SUCCESS);\n"
1645 "}\n"
1646 msgstr ""
1647 "    exit(EXIT_SUCCESS);\n"
1648 "}\n"
1649
1650 #. type: Plain text
1651 #: build/C/man3/getgrouplist.3:195
1652 msgid ""
1653 "B<getgroups>(2), B<setgroups>(2), B<getgrent>(3), B<group>(5), B<passwd>(5)"
1654 msgstr ""
1655 "B<getgroups>(2), B<setgroups>(2), B<getgrent>(3), B<group>(5), B<passwd>(5)"
1656
1657 #. type: TH
1658 #: build/C/man3/getpw.3:32
1659 #, no-wrap
1660 msgid "GETPW"
1661 msgstr "GETPW"
1662
1663 #. type: Plain text
1664 #: build/C/man3/getpw.3:35
1665 msgid "getpw - reconstruct password line entry"
1666 msgstr "getpw - パスワード行エントリを取得する"
1667
1668 #. type: Plain text
1669 #: build/C/man3/getpw.3:40
1670 #, no-wrap
1671 msgid ""
1672 "B<#define _GNU_SOURCE>             /* See feature_test_macros(7) */\n"
1673 "B<#include E<lt>sys/types.hE<gt>>\n"
1674 "B<#include E<lt>pwd.hE<gt>>\n"
1675 msgstr ""
1676 "B<#define _GNU_SOURCE>             /* feature_test_macros(7) 参照 */\n"
1677 "B<#include E<lt>sys/types.hE<gt>>\n"
1678 "B<#include E<lt>pwd.hE<gt>>\n"
1679
1680 #. type: Plain text
1681 #: build/C/man3/getpw.3:42
1682 #, no-wrap
1683 msgid "B<int getpw(uid_t >I<uid>B<, char *>I<buf>B<);>\n"
1684 msgstr "B<int getpw(uid_t >I<uid>B<, char *>I<buf>B<);>\n"
1685
1686 #. type: Plain text
1687 #: build/C/man3/getpw.3:49
1688 msgid ""
1689 "The B<getpw>()  function reconstructs the password line entry for the given "
1690 "user ID I<uid> in the buffer I<buf>.  The returned buffer contains a line of "
1691 "format"
1692 msgstr ""
1693 "B<getpw>()  関数は、バッファ I<buf> に指定ユーザ ID I<uid> の パスワード行エ"
1694 "ントリを取得する。 返されるバッファは、以下の形式の行を含む。"
1695
1696 #. type: Plain text
1697 #: build/C/man3/getpw.3:52
1698 msgid "B<name:passwd:uid:gid:gecos:dir:shell>"
1699 msgstr "B<name:passwd:uid:gid:gecos:dir:shell>"
1700
1701 #. type: Plain text
1702 #: build/C/man3/getpw.3:67 build/C/man3/getpwent.3:98
1703 #: build/C/man3/getpwnam.3:102
1704 #, no-wrap
1705 msgid ""
1706 "struct passwd {\n"
1707 "    char   *pw_name;       /* username */\n"
1708 "    char   *pw_passwd;     /* user password */\n"
1709 "    uid_t   pw_uid;        /* user ID */\n"
1710 "    gid_t   pw_gid;        /* group ID */\n"
1711 "    char   *pw_gecos;      /* user information */\n"
1712 "    char   *pw_dir;        /* home directory */\n"
1713 "    char   *pw_shell;      /* shell program */\n"
1714 "};\n"
1715 msgstr ""
1716 "struct passwd {\n"
1717 "    char   *pw_name;       /* ユーザ名 */\n"
1718 "    char   *pw_passwd;     /* ユーザのパスワード */\n"
1719 "    uid_t   pw_uid;        /* ユーザ ID */\n"
1720 "    gid_t   pw_gid;        /* グループ ID */\n"
1721 "    char   *pw_gecos;      /* ユーザ情報 */\n"
1722 "    char   *pw_dir;        /* ホームディレクトリ */\n"
1723 "    char   *pw_shell;      /* シェルプログラム */\n"
1724 "};\n"
1725
1726 #. type: Plain text
1727 #: build/C/man3/getpw.3:72 build/C/man3/getpwent.3:103
1728 #: build/C/man3/getpwent_r.3:84
1729 msgid ""
1730 "For more information about the fields of this structure, see B<passwd>(5)."
1731 msgstr "この構造体のフィールドの詳細は B<passwd>(5)  を参照のこと。"
1732
1733 #. type: Plain text
1734 #: build/C/man3/getpw.3:78
1735 msgid ""
1736 "The B<getpw>()  function returns 0 on success; on error, it returns -1, and "
1737 "I<errno> is set to indicate the error."
1738 msgstr ""
1739 "B<getpw>()  関数は、成功した場合 0 を返す; エラーが発生した場合 -1 を返し、エ"
1740 "ラーを 示すために I<error> がセットされる。"
1741
1742 #. type: TP
1743 #: build/C/man3/getpw.3:79 build/C/man3/putpwent.3:79
1744 #, no-wrap
1745 msgid "B<EINVAL>"
1746 msgstr "B<EINVAL>"
1747
1748 #. type: Plain text
1749 #: build/C/man3/getpw.3:83
1750 msgid "I<buf> is NULL."
1751 msgstr "I<buf> が NULL。"
1752
1753 #. type: Plain text
1754 #: build/C/man3/getpw.3:87
1755 msgid "No user corresponding to I<uid>."
1756 msgstr "I<uid> に対応するユーザがいない。"
1757
1758 #. type: Plain text
1759 #: build/C/man3/getpw.3:98
1760 msgid "SVr2."
1761 msgstr "SVr2"
1762
1763 #. type: Plain text
1764 #: build/C/man3/getpw.3:105
1765 msgid ""
1766 "The B<getpw>()  function is dangerous as it may overflow the provided buffer "
1767 "I<buf>.  It is obsoleted by B<getpwuid>(3)."
1768 msgstr ""
1769 "B<getpw>()  関数は、与えられたバッファ I<buf> がオーバーフローするかもしれな"
1770 "いので危険である。 この関数は B<getpwuid>(3)  によって古いものとなった。"
1771
1772 #. type: Plain text
1773 #: build/C/man3/getpw.3:114
1774 msgid ""
1775 "B<endpwent>(3), B<fgetpwent>(3), B<getpwent>(3), B<getpwnam>(3), B<getpwuid>"
1776 "(3), B<putpwent>(3), B<setpwent>(3), B<passwd>(5)"
1777 msgstr ""
1778 "B<endpwent>(3), B<fgetpwent>(3), B<getpwent>(3), B<getpwnam>(3), B<getpwuid>"
1779 "(3), B<putpwent>(3), B<setpwent>(3), B<passwd>(5)"
1780
1781 #. type: TH
1782 #: build/C/man3/getpwent.3:33
1783 #, no-wrap
1784 msgid "GETPWENT"
1785 msgstr "GETPWENT"
1786
1787 #. type: Plain text
1788 #: build/C/man3/getpwent.3:36
1789 msgid "getpwent, setpwent, endpwent - get password file entry"
1790 msgstr "getpwent, setpwent, endpwent - パスワードファイルのエントリの取得"
1791
1792 #. type: Plain text
1793 #: build/C/man3/getpwent.3:40 build/C/man3/getpwnam.3:44
1794 #, no-wrap
1795 msgid ""
1796 "B<#include E<lt>sys/types.hE<gt>>\n"
1797 "B<#include E<lt>pwd.hE<gt>>\n"
1798 msgstr ""
1799 "B<#include E<lt>sys/types.hE<gt>>\n"
1800 "B<#include E<lt>pwd.hE<gt>>\n"
1801
1802 #. type: Plain text
1803 #: build/C/man3/getpwent.3:42
1804 #, no-wrap
1805 msgid "B<struct passwd *getpwent(void);>\n"
1806 msgstr "B<struct passwd *getpwent(void);>\n"
1807
1808 #. type: Plain text
1809 #: build/C/man3/getpwent.3:44
1810 #, no-wrap
1811 msgid "B<void setpwent(void);>\n"
1812 msgstr "B<void setpwent(void);>\n"
1813
1814 #. type: Plain text
1815 #: build/C/man3/getpwent.3:46
1816 #, no-wrap
1817 msgid "B<void endpwent(void);>\n"
1818 msgstr "B<void endpwent(void);>\n"
1819
1820 #. type: Plain text
1821 #: build/C/man3/getpwent.3:57
1822 msgid "B<getpwent>(), B<setpwent>(), B<endpwent>():"
1823 msgstr "B<getpwent>(), B<setpwent>(), B<endpwent>():"
1824
1825 #. type: Plain text
1826 #: build/C/man3/getpwent.3:60
1827 msgid ""
1828 "_BSD_SOURCE || _SVID_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500 || _XOPEN_SOURCE"
1829 "\\ &&\\ _XOPEN_SOURCE_EXTENDED"
1830 msgstr ""
1831 "_BSD_SOURCE || _SVID_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500 || _XOPEN_SOURCE"
1832 "\\ &&\\ _XOPEN_SOURCE_EXTENDED"
1833
1834 #. type: Plain text
1835 #: build/C/man3/getpwent.3:74
1836 msgid ""
1837 "The B<getpwent>()  function returns a pointer to a structure containing the "
1838 "broken-out fields of a record from the password database (e.g., the local "
1839 "password file I</etc/passwd>, NIS, and LDAP).  The first time B<getpwent>()  "
1840 "is called, it returns the first entry; thereafter, it returns successive "
1841 "entries."
1842 msgstr ""
1843 "B<getpwent>()  関数は、パスワード・データベースから取得したエントリを 要素毎"
1844 "に分解し、各要素を格納した構造体へのポインタを返す (パスワード・データベース"
1845 "の例: ローカルのパスワードファイル I</etc/passwd>, NIS, LDAP)。 B<getpwent>"
1846 "()  は、最初に呼び出された時は最初のエントリを返し、それ以降は 呼び出される毎"
1847 "に次のエントリを返す。"
1848
1849 #. type: Plain text
1850 #: build/C/man3/getpwent.3:79
1851 msgid ""
1852 "The B<setpwent>()  function rewinds to the beginning of the password "
1853 "database."
1854 msgstr "B<setpwent>()  関数を使うと、パスワード・データベースの先頭に戻る。"
1855
1856 #. type: Plain text
1857 #: build/C/man3/getpwent.3:84
1858 msgid ""
1859 "The B<endpwent>()  function is used to close the password database after all "
1860 "processing has been performed."
1861 msgstr ""
1862 "B<endpwent>()  関数は、全ての処理が終わった後にパスワード・ データベースをク"
1863 "ローズする。"
1864
1865 #. type: Plain text
1866 #: build/C/man3/getpwent.3:116
1867 msgid ""
1868 "The B<getpwent>()  function returns a pointer to a I<passwd> structure, or "
1869 "NULL if there are no more entries or an error occurs.  If an error occurs, "
1870 "I<errno> is set appropriately.  If one wants to check I<errno> after the "
1871 "call, it should be set to zero before the call."
1872 msgstr ""
1873 "B<getpwent>()  関数は I<passwd> 構造体へのポインタを返す。 これ以上エントリが"
1874 "無いか、エラーが発生した場合は NULL を返す。 エラーが発生すると、 I<errno> が"
1875 "適切に設定される。 この関数の呼び出し後に I<errno> をチェックしたい場合は、呼"
1876 "び出し前に I<errno> を 0 に設定しておかないといけない。"
1877
1878 #. type: Plain text
1879 #: build/C/man3/getpwent.3:125
1880 msgid ""
1881 "The return value may point to a static area, and may be overwritten by "
1882 "subsequent calls to B<getpwent>(), B<getpwnam>(3), or B<getpwuid>(3).  (Do "
1883 "not pass the returned pointer to B<free>(3).)"
1884 msgstr ""
1885 "返り値は静的な領域を指しており、その後の B<getpwent>(), B<getpwnam>(3), "
1886 "B<getpwuid>(3)  の呼び出しで上書きされるかもしれない。 (返されたポインタを "
1887 "B<free>(3)  に渡さないこと。)"
1888
1889 #. type: Plain text
1890 #: build/C/man3/getpwent.3:154 build/C/man3/getpwnam.3:217
1891 msgid "local password database file"
1892 msgstr "ローカルのパスワード・データベースファイル"
1893
1894 #. type: Plain text
1895 #: build/C/man3/getpwent.3:159
1896 #, fuzzy
1897 #| msgid ""
1898 #| "The B<setpwent>()  function rewinds to the beginning of the password "
1899 #| "database."
1900 msgid "The B<getpwent()> function is not thread-safe."
1901 msgstr "B<setpwent>()  関数を使うと、パスワード・データベースの先頭に戻る。"
1902
1903 #. type: Plain text
1904 #: build/C/man3/getpwent.3:165
1905 msgid "The B<setpwent()> and B<endpwent()> functions are thread-safe."
1906 msgstr ""
1907
1908 #. type: Plain text
1909 #: build/C/man3/getpwent.3:170 build/C/man3/getpwnam.3:235
1910 msgid ""
1911 "SVr4, 4.3BSD, POSIX.1-2001.  The I<pw_gecos> field is not specified in "
1912 "POSIX, but is present on most implementations."
1913 msgstr ""
1914 "SVr4, 4.3BSD, POSIX.1-2001.  I<pw_gecos> フィールドは POSIX では規定されてい"
1915 "ないが、 ほとんどの実装に存在する。"
1916
1917 #. type: Plain text
1918 #: build/C/man3/getpwent.3:178
1919 msgid ""
1920 "B<fgetpwent>(3), B<getpw>(3), B<getpwent_r>(3), B<getpwnam>(3), B<getpwuid>"
1921 "(3), B<putpwent>(3), B<passwd>(5)"
1922 msgstr ""
1923 "B<fgetpwent>(3), B<getpw>(3), B<getpwent_r>(3), B<getpwnam>(3), B<getpwuid>"
1924 "(3), B<putpwent>(3), B<passwd>(5)"
1925
1926 #. type: TH
1927 #: build/C/man3/getpwent_r.3:24
1928 #, no-wrap
1929 msgid "GETPWENT_R"
1930 msgstr "GETPWENT_R"
1931
1932 #. type: Plain text
1933 #: build/C/man3/getpwent_r.3:27
1934 msgid "getpwent_r, fgetpwent_r - get passwd file entry reentrantly"
1935 msgstr ""
1936 "getpwent_r, fgetpwent_r - パスワードファイルのエントリを リエントラントで取り"
1937 "出す"
1938
1939 #. type: Plain text
1940 #: build/C/man3/getpwent_r.3:30
1941 #, no-wrap
1942 msgid "B<#include E<lt>pwd.hE<gt>>\n"
1943 msgstr "B<#include E<lt>pwd.hE<gt>>\n"
1944
1945 #. type: Plain text
1946 #: build/C/man3/getpwent_r.3:32
1947 #, no-wrap
1948 msgid "B<int getpwent_r(struct passwd *>I<pwbuf>B<, char *>I<buf>B<,>\n"
1949 msgstr "B<int getpwent_r(struct passwd *>I<pwbuf>B<, char *>I<buf>B<,>\n"
1950
1951 #. type: Plain text
1952 #: build/C/man3/getpwent_r.3:34
1953 #, no-wrap
1954 msgid "B<               size_t >I<buflen>B<, struct passwd **>I<pwbufp>B<);>\n"
1955 msgstr "B<               size_t >I<buflen>B<, struct passwd **>I<pwbufp>B<);>\n"
1956
1957 #. type: Plain text
1958 #: build/C/man3/getpwent_r.3:36
1959 #, no-wrap
1960 msgid "B<int fgetpwent_r(FILE *>I<fp>B<, struct passwd *>I<pwbuf>B<, char *>I<buf>B<,>\n"
1961 msgstr "B<int fgetpwent_r(FILE *>I<fp>B<, struct passwd *>I<pwbuf>B<, char *>I<buf>B<,>\n"
1962
1963 #. type: Plain text
1964 #: build/C/man3/getpwent_r.3:38
1965 #, no-wrap
1966 msgid "B<                size_t >I<buflen>B<, struct passwd **>I<pwbufp>B<);>\n"
1967 msgstr "B<                size_t >I<buflen>B<, struct passwd **>I<pwbufp>B<);>\n"
1968
1969 #. type: Plain text
1970 #: build/C/man3/getpwent_r.3:47
1971 msgid "B<getpwent_r>(), _BSD_SOURCE || _SVID_SOURCE"
1972 msgstr "B<getpwent_r>(), _BSD_SOURCE || _SVID_SOURCE"
1973
1974 #. type: Plain text
1975 #: build/C/man3/getpwent_r.3:50
1976 msgid "B<fgetpwent_r>(): _SVID_SOURCE"
1977 msgstr "B<fgetpwent_r>(): _SVID_SOURCE"
1978
1979 #. type: Plain text
1980 #: build/C/man3/getpwent_r.3:63
1981 msgid ""
1982 "The functions B<getpwent_r>()  and B<fgetpwent_r>()  are the reentrant "
1983 "versions of B<getpwent>(3)  and B<fgetpwent>(3).  The former reads the next "
1984 "passwd entry from the stream initialized by B<setpwent>(3).  The latter "
1985 "reads the next passwd entry from the stream I<fp>."
1986 msgstr ""
1987 "関数 B<getpwent_r>()  と B<fgetpwent_r>()  は B<getpwent>(3)  と B<fgetpwent>"
1988 "(3)  のリエントラント (reentrant) 版である。 前者は、 B<setpwent>(3)  によっ"
1989 "て初期化されたストリームから、次のパスワードエントリを読み込む。 後者は、スト"
1990 "リーム I<fp> から次のパスワードエントリを読み込む。"
1991
1992 #. type: Plain text
1993 #: build/C/man3/getpwent_r.3:79
1994 #, no-wrap
1995 msgid ""
1996 "struct passwd {\n"
1997 "    char    *pw_name;      /* username */\n"
1998 "    char    *pw_passwd;    /* user password */\n"
1999 "    uid_t    pw_uid;       /* user ID */\n"
2000 "    gid_t    pw_gid;       /* group ID */\n"
2001 "    char    *pw_gecos;     /* user information */\n"
2002 "    char    *pw_dir;       /* home directory */\n"
2003 "    char    *pw_shell;     /* shell program */\n"
2004 "};\n"
2005 msgstr ""
2006 "struct passwd {\n"
2007 "    char    *pw_name;      /* ユーザ名 */\n"
2008 "    char    *pw_passwd;    /* ユーザのパスワード */\n"
2009 "    uid_t    pw_uid;       /* ユーザ ID */\n"
2010 "    gid_t    pw_gid;       /* グループ ID */\n"
2011 "    char    *pw_gecos;     /* ユーザ情報 */\n"
2012 "    char    *pw_dir;       /* ホームディレクトリ */\n"
2013 "    char    *pw_shell;     /* シェルプログラム */\n"
2014 "};\n"
2015
2016 #. type: Plain text
2017 #: build/C/man3/getpwent_r.3:103
2018 msgid ""
2019 "The nonreentrant functions return a pointer to static storage, where this "
2020 "static storage contains further pointers to user name, password, gecos "
2021 "field, home directory and shell.  The reentrant functions described here "
2022 "return all of that in caller-provided buffers.  First of all there is the "
2023 "buffer I<pwbuf> that can hold a I<struct passwd>.  And next the buffer "
2024 "I<buf> of size I<buflen> that can hold additional strings.  The result of "
2025 "these functions, the I<struct passwd> read from the stream, is stored in the "
2026 "provided buffer I<*pwbuf>, and a pointer to this I<struct passwd> is "
2027 "returned in I<*pwbufp>."
2028 msgstr ""
2029 "リエントラントでない関数は静的な格納領域へのポインタを返す。 この静的な格納領"
2030 "域には、更にユーザ名・パスワード・gecos フィールド・ ホームディレクトリ・シェ"
2031 "ルへのポインタが含まれる。 ここで説明されているリエントラント版の関数は、 呼"
2032 "び出し側から提供されるバッファにユーザ名など全てを返す。 最初の引き数として "
2033 "I<struct passwd> を保持できるバッファ I<pwbuf> がある。 次にその他の文字列を"
2034 "保持できるサイズ I<buflen> のバッファ I<buf> がある。 これらの関数の結果 (ス"
2035 "トリームから読み込まれた I<struct passwd>) は、 提供されたバッファ I<*pwbuf> "
2036 "に格納され、この I<struct passwd> へのポインタは I<*pwbufp> に返される。"
2037
2038 #. type: Plain text
2039 #: build/C/man3/getpwent_r.3:110
2040 msgid ""
2041 "On success, these functions return 0 and I<*pwbufp> is a pointer to the "
2042 "I<struct passwd>.  On error, these functions return an error value and "
2043 "I<*pwbufp> is NULL."
2044 msgstr ""
2045 "成功した場合、これらの関数は 0 を返し、 I<*pwbufp> は I<struct passwd> へのポ"
2046 "インタとなる。 エラーの場合、これらの関数はエラー値を返し、 I<*pwbufp> は "
2047 "NULL になる。"
2048
2049 #. type: Plain text
2050 #: build/C/man3/getpwent_r.3:128
2051 #, no-wrap
2052 msgid ""
2053 "struct passwd *\n"
2054 "getpwent_r(struct passwd *pwd, char *buf, int buflen);\n"
2055 msgstr ""
2056 "struct passwd *\n"
2057 "getpwent_r(struct passwd *pwd, char *buf, int buflen);\n"
2058
2059 #. type: Plain text
2060 #: build/C/man3/getpwent_r.3:138
2061 #, no-wrap
2062 msgid ""
2063 "int\n"
2064 "getpwent_r(struct passwd *pwd, char *buf, int buflen,\n"
2065 "           FILE **pw_fp);\n"
2066 msgstr ""
2067 "int\n"
2068 "getpwent_r(struct passwd *pwd, char *buf, int buflen,\n"
2069 "           FILE **pw_fp);\n"
2070
2071 #. type: Plain text
2072 #: build/C/man3/getpwent_r.3:145
2073 msgid ""
2074 "The function B<getpwent_r>()  is not really reentrant since it shares the "
2075 "reading position in the stream with all other threads."
2076 msgstr ""
2077 "関数 B<getpwent_r>()  は本当のリエントラントではない。 なぜなら、ストリームの"
2078 "読み込み位置を 他の全てのスレッドと共有しているためである。"
2079
2080 #. type: Plain text
2081 #: build/C/man3/getpwent_r.3:151
2082 #, no-wrap
2083 msgid ""
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"
2088 msgstr ""
2089 "#define _GNU_SOURCE\n"
2090 "#include E<lt>pwd.hE<gt>\n"
2091 "#include E<lt>stdio.hE<gt>\n"
2092 "#define BUFLEN 4096\n"
2093
2094 #. type: Plain text
2095 #: build/C/man3/getpwent_r.3:158
2096 #, no-wrap
2097 msgid ""
2098 "int\n"
2099 "main(void)\n"
2100 "{\n"
2101 "    struct passwd pw, *pwp;\n"
2102 "    char buf[BUFLEN];\n"
2103 "    int i;\n"
2104 msgstr ""
2105 "int\n"
2106 "main(void)\n"
2107 "{\n"
2108 "    struct passwd pw, *pwp;\n"
2109 "    char buf[BUFLEN];\n"
2110 "    int i;\n"
2111
2112 #. type: Plain text
2113 #: build/C/man3/getpwent_r.3:170
2114 #, no-wrap
2115 msgid ""
2116 "    setpwent();\n"
2117 "    while (1) {\n"
2118 "        i = getpwent_r(&pw, buf, BUFLEN, &pwp);\n"
2119 "        if (i)\n"
2120 "            break;\n"
2121 "        printf(\"%s (%d)\\etHOME %s\\etSHELL %s\\en\", pwp-E<gt>pw_name,\n"
2122 "               pwp-E<gt>pw_uid, pwp-E<gt>pw_dir, pwp-E<gt>pw_shell);\n"
2123 "    }\n"
2124 "    endpwent();\n"
2125 "    exit(EXIT_SUCCESS);\n"
2126 "}\n"
2127 msgstr ""
2128 "    setpwent();\n"
2129 "    while (1) {\n"
2130 "        i = getpwent_r(&pw, buf, BUFLEN, &pwp);\n"
2131 "        if (i)\n"
2132 "            break;\n"
2133 "        printf(\"%s (%d)\\etHOME %s\\etSHELL %s\\en\", pwp-E<gt>pw_name,\n"
2134 "               pwp-E<gt>pw_uid, pwp-E<gt>pw_dir, pwp-E<gt>pw_shell);\n"
2135 "    }\n"
2136 "    endpwent();\n"
2137 "    exit(EXIT_SUCCESS);\n"
2138 "}\n"
2139
2140 #. type: Plain text
2141 #: build/C/man3/getpwent_r.3:188
2142 msgid ""
2143 "B<fgetpwent>(3), B<getpw>(3), B<getpwent>(3), B<getpwnam>(3), B<getpwuid>"
2144 "(3), B<putpwent>(3), B<passwd>(5)"
2145 msgstr ""
2146 "B<fgetpwent>(3), B<getpw>(3), B<getpwent>(3), B<getpwnam>(3), B<getpwuid>"
2147 "(3), B<putpwent>(3), B<passwd>(5)"
2148
2149 #. type: TH
2150 #: build/C/man3/getpwnam.3:37
2151 #, no-wrap
2152 msgid "GETPWNAM"
2153 msgstr "GETPWNAM"
2154
2155 #. type: Plain text
2156 #: build/C/man3/getpwnam.3:40
2157 msgid "getpwnam, getpwnam_r, getpwuid, getpwuid_r - get password file entry"
2158 msgstr ""
2159 "getpwnam, getpwnam_r, getpwuid, getpwuid_r - パスワードファイルのエントリの取"
2160 "得"
2161
2162 #. type: Plain text
2163 #: build/C/man3/getpwnam.3:46
2164 #, no-wrap
2165 msgid "B<struct passwd *getpwnam(const char *>I<name>B<);>\n"
2166 msgstr "B<struct passwd *getpwnam(const char *>I<name>B<);>\n"
2167
2168 #. type: Plain text
2169 #: build/C/man3/getpwnam.3:48
2170 #, no-wrap
2171 msgid "B<struct passwd *getpwuid(uid_t >I<uid>B<);>\n"
2172 msgstr "B<struct passwd *getpwuid(uid_t >I<uid>B<);>\n"
2173
2174 #. type: Plain text
2175 #: build/C/man3/getpwnam.3:50
2176 #, no-wrap
2177 msgid "B<int getpwnam_r(const char *>I<name>B<, struct passwd *>I<pwd>B<,>\n"
2178 msgstr "B<int getpwnam_r(const char *>I<name>B<, struct passwd *>I<pwd>B<,>\n"
2179
2180 #. type: Plain text
2181 #: build/C/man3/getpwnam.3:52 build/C/man3/getpwnam.3:56
2182 #, no-wrap
2183 msgid "B<            char *>I<buf>B<, size_t >I<buflen>B<, struct passwd **>I<result>B<);>\n"
2184 msgstr "B<            char *>I<buf>B<, size_t >I<buflen>B<, struct passwd **>I<result>B<);>\n"
2185
2186 #. type: Plain text
2187 #: build/C/man3/getpwnam.3:54
2188 #, no-wrap
2189 msgid "B<int getpwuid_r(uid_t >I<uid>B<, struct passwd *>I<pwd>B<,>\n"
2190 msgstr "B<int getpwuid_r(uid_t >I<uid>B<, struct passwd *>I<pwd>B<,>\n"
2191
2192 #. type: Plain text
2193 #: build/C/man3/getpwnam.3:66
2194 msgid "B<getpwnam_r>(), B<getpwuid_r>():"
2195 msgstr "B<getpwnam_r>(), B<getpwuid_r>():"
2196
2197 #. type: Plain text
2198 #: build/C/man3/getpwnam.3:81
2199 msgid ""
2200 "The B<getpwnam>()  function returns a pointer to a structure containing the "
2201 "broken-out fields of the record in the password database (e.g., the local "
2202 "password file I</etc/passwd>, NIS, and LDAP)  that matches the username "
2203 "I<name>."
2204 msgstr ""
2205 "B<getpwnam>()  関数は、ユーザ名 I<name> にマッチするパスワード・データベース"
2206 "のエントリを 要素毎に分解し、各要素を格納した構造体へのポインタを返す (パス"
2207 "ワード・データベースの例: ローカルのパスワードファイル I</etc/passwd>, NIS, "
2208 "LDAP)。"
2209
2210 #. type: Plain text
2211 #: build/C/man3/getpwnam.3:88
2212 msgid ""
2213 "The B<getpwuid>()  function returns a pointer to a structure containing the "
2214 "broken-out fields of the record in the password database that matches the "
2215 "user ID I<uid>."
2216 msgstr ""
2217 "B<getpwuid>()  関数は、ユーザ ID I<uid> にマッチするパスワード・データベース"
2218 "のエントリを 要素毎に分解し、各要素を格納した構造体へのポインタを返す。"
2219
2220 #. type: Plain text
2221 #: build/C/man3/getpwnam.3:108
2222 msgid "See B<passwd>(5)  for more information about these fields."
2223 msgstr "これらのフィールドの詳しい情報については B<passwd>(5) を参照のこと。"
2224
2225 #. type: Plain text
2226 #: build/C/man3/getpwnam.3:130
2227 msgid ""
2228 "The B<getpwnam_r>()  and B<getpwuid_r>()  functions obtain the same "
2229 "information as B<getpwnam>()  and B<getpwuid>(), but store the retrieved "
2230 "I<passwd> structure in the space pointed to by I<pwd>.  The string fields "
2231 "pointed to by the members of the I<passwd> structure are stored in the "
2232 "buffer I<buf> of size I<buflen>.  A pointer to the result (in case of "
2233 "success) or NULL (in case no entry was found or an error occurred) is stored "
2234 "in I<*result>."
2235 msgstr ""
2236 "B<getpwnam_r>() と B<getpwuid_r>() 関数は、それぞれB<getpwnam>() と\n"
2237 "B<getpwuid>() と同じ情報を取得するが、取得した I<passwd> 構造体を\n"
2238 "I<pwd> が指す領域に格納する。I<passwd> 構造体のメンバーが指す文字列は、\n"
2239 "サイズ I<buflen> のバッファ I<buf> に格納される。成功した場合\n"
2240 "I<*result> には結果へのポインタが格納される。エントリが見つからなかった\n"
2241 "場合やエラーが発生した場合には I<*result> には NULL が入る。"
2242
2243 #. type: Plain text
2244 #: build/C/man3/getpwnam.3:134
2245 #, no-wrap
2246 msgid "    sysconf(_SC_GETPW_R_SIZE_MAX)\n"
2247 msgstr "    sysconf(_SC_GETPW_R_SIZE_MAX)\n"
2248
2249 #. type: Plain text
2250 #: build/C/man3/getpwnam.3:158
2251 msgid ""
2252 "The B<getpwnam>()  and B<getpwuid>()  functions return a pointer to a "
2253 "I<passwd> structure, or NULL if the matching entry is not found or an error "
2254 "occurs.  If an error occurs, I<errno> is set appropriately.  If one wants to "
2255 "check I<errno> after the call, it should be set to zero before the call."
2256 msgstr ""
2257 "B<getpwnam>()  と B<getpwuid>()  関数は、 I<passwd> 構造体へのポインタを返"
2258 "す。 一致するエントリが見つからなかった場合や、エラーが発生した場合は NULL を"
2259 "返す。 エラーが起こった場合、 I<errno> が適切に設定される。 呼び出しの後で "
2260 "I<errno> をチェックしたい場合は、 呼び出しの前に (この値を) 0 に設定しておく"
2261 "べきである。"
2262
2263 #. type: Plain text
2264 #: build/C/man3/getpwnam.3:167
2265 msgid ""
2266 "The return value may point to a static area, and may be overwritten by "
2267 "subsequent calls to B<getpwent>(3), B<getpwnam>(), or B<getpwuid>().  (Do "
2268 "not pass the returned pointer to B<free>(3).)"
2269 msgstr ""
2270 "返り値は静的な領域を指しており、その後の B<getpwent>(3), B<getpwnam>(), "
2271 "B<getpwuid>()  の呼び出しで上書きされるかもしれない。 (返されたポインタを "
2272 "B<free>(3)  に渡さないこと。)"
2273
2274 #. type: Plain text
2275 #: build/C/man3/getpwnam.3:181
2276 msgid ""
2277 "On success, B<getpwnam_r>()  and B<getpwuid_r>()  return zero, and set "
2278 "I<*result> to I<pwd>.  If no matching password record was found, these "
2279 "functions return 0 and store NULL in I<*result>.  In case of error, an error "
2280 "number is returned, and NULL is stored in I<*result>."
2281 msgstr ""
2282 "成功すると、 B<getpwnam_r>()  と B<getpwuid_r>()  は 0 を返し、 I<*result> "
2283 "に I<pwd> を設定する。 マッチするパスワード・エントリが見つからなかった場合に"
2284 "は、 0 を返し、 I<*result> に NULL を設定する。 エラーの場合、エラー番号を返"
2285 "し、 I<*result> に NULL を設定する。"
2286
2287 #. type: Plain text
2288 #: build/C/man3/getpwnam.3:189
2289 msgid "The given I<name> or I<uid> was not found."
2290 msgstr "指定された I<name> または I<uid> が見つからなかった。"
2291
2292 #. type: Plain text
2293 #: build/C/man3/getpwnam.3:224
2294 #, fuzzy
2295 #| msgid ""
2296 #| "The functions B<getaliasent_r>()  and B<getaliasbyname_r>()  return a "
2297 #| "nonzero value on error."
2298 msgid "The functions B<getpwnam>()  and B<getpwuid>()  are not thread_safe."
2299 msgstr ""
2300 "関数 B<getaliasent_r>()  と B<getaliasbyname_r>()  は、エラーの場合に 0 以外"
2301 "の値を返す。"
2302
2303 #. type: Plain text
2304 #: build/C/man3/getpwnam.3:230
2305 #, fuzzy
2306 #| msgid ""
2307 #| "The functions B<getaliasent_r>()  and B<getaliasbyname_r>()  return a "
2308 #| "nonzero value on error."
2309 msgid "The functions B<getpwnam_r>()  and B<getpwuid_r>()  are thread-safe."
2310 msgstr ""
2311 "関数 B<getaliasent_r>()  と B<getaliasbyname_r>()  は、エラーの場合に 0 以外"
2312 "の値を返す。"
2313
2314 #.  more precisely:
2315 #.  AIX 5.1 - gives ESRCH
2316 #.  OSF1 4.0g - gives EWOULDBLOCK
2317 #.  libc, glibc up to version 2.6, Irix 6.5 - give ENOENT
2318 #.  glibc since version 2.7 - give 0
2319 #.  FreeBSD 4.8, OpenBSD 3.2, NetBSD 1.6 - give EPERM
2320 #.  SunOS 5.8 - gives EBADF
2321 #.  Tru64 5.1b, HP-UX-11i, SunOS 5.7 - give 0
2322 #. type: Plain text
2323 #: build/C/man3/getpwnam.3:256
2324 msgid ""
2325 "The formulation given above under \"RETURN VALUE\" is from POSIX.1-2001.  It "
2326 "does not call \"not found\" an error, and hence does not specify what value "
2327 "I<errno> might have in this situation.  But that makes it impossible to "
2328 "recognize errors.  One might argue that according to POSIX I<errno> should "
2329 "be left unchanged if an entry is not found.  Experiments on various UNIX-"
2330 "like systems show that lots of different values occur in this situation: 0, "
2331 "ENOENT, EBADF, ESRCH, EWOULDBLOCK, EPERM and probably others."
2332 msgstr ""
2333 "上記の「返り値」以下の記述は POSIX.1-2001 に拠る。 この標準は「(エントリが) "
2334 "見つからないこと」をエラーとしていないので、 そのような場合に I<errno> がどの"
2335 "ような値になるかを定めていない。 そのため、エラーを認識することは不可能であ"
2336 "る。 POSIX に準拠して、エントリが見つからない場合は I<errno> を変更しないよう"
2337 "にすべきである、と主張する人もいるかもしれない。 様々な UNIX 系のシステムで試"
2338 "してみると、そのような場合には 0, ENOENT, EBADF, ESRCH, EWOULDBLOCK, EPERM と"
2339 "いった様々な値が返される。 他の値が返されるかもしれない。"
2340
2341 #. type: Plain text
2342 #: build/C/man3/getpwnam.3:274
2343 msgid ""
2344 "The I<pw_dir> field contains the name of the initial working directory of "
2345 "the user.  Login programs use the value of this field to initialize the "
2346 "B<HOME> environment variable for the login shell.  An application that wants "
2347 "to determine its user's home directory should inspect the value of B<HOME> "
2348 "(rather than the value I<getpwuid(getuid())-E<gt>pw_dir>)  since this allows "
2349 "the user to modify their notion of \"the home directory\" during a login "
2350 "session.  To determine the (initial) home directory of another user, it is "
2351 "necessary to use I<getpwnam(\"username\")-E<gt>pw_dir> or similar."
2352 msgstr ""
2353 "フィールド I<pw_dir> には、ユーザの作業ディレクトリ名の初期値が格納される。 "
2354 "ログインプロセスは、このフィールドの値を使って、 ログインシェルの B<HOME> 環"
2355 "境変数を初期化する。 アプリケーションが、ユーザのホーム・ディレクトリを決定す"
2356 "る場合には、 (I<getpwuid(getuid())-E<gt>pw_dir> の値ではなく)  B<HOME> の値を"
2357 "検査するようにすべきである。 なぜなら、このようにすることで、ユーザがログイ"
2358 "ン・セッション中で 「ホーム・ディレクトリ」の意味を変更できるようになるからで"
2359 "ある。 別のユーザのホーム・ディレクトリ (の初期値) を知るには I<getpwnam"
2360 "(\"username\")-E<gt>pw_dir> か同様の方法を使う必要がある。"
2361
2362 #. type: Plain text
2363 #: build/C/man3/getpwnam.3:279
2364 msgid ""
2365 "The program below demonstrates the use of B<getpwnam_r>()  to find the full "
2366 "username and user ID for the username supplied as a command-line argument."
2367 msgstr ""
2368 "以下のプログラムは B<getpwnam_r>()  の使用例を示したもので、コマンドライン引"
2369 "き数で渡されたユーザ名に対する 完全なユーザ名とユーザ ID を探すものである。"
2370
2371 #. type: Plain text
2372 #: build/C/man3/getpwnam.3:286
2373 #, no-wrap
2374 msgid ""
2375 "#include E<lt>pwd.hE<gt>\n"
2376 "#include E<lt>stdio.hE<gt>\n"
2377 "#include E<lt>stdlib.hE<gt>\n"
2378 "#include E<lt>unistd.hE<gt>\n"
2379 "#include E<lt>errno.hE<gt>\n"
2380 msgstr ""
2381 "#include E<lt>pwd.hE<gt>\n"
2382 "#include E<lt>stdio.hE<gt>\n"
2383 "#include E<lt>stdlib.hE<gt>\n"
2384 "#include E<lt>unistd.hE<gt>\n"
2385 "#include E<lt>errno.hE<gt>\n"
2386
2387 #. type: Plain text
2388 #: build/C/man3/getpwnam.3:295
2389 #, no-wrap
2390 msgid ""
2391 "int\n"
2392 "main(int argc, char *argv[])\n"
2393 "{\n"
2394 "    struct passwd pwd;\n"
2395 "    struct passwd *result;\n"
2396 "    char *buf;\n"
2397 "    size_t bufsize;\n"
2398 "    int s;\n"
2399 msgstr ""
2400 "int\n"
2401 "main(int argc, char *argv[])\n"
2402 "{\n"
2403 "    struct passwd pwd;\n"
2404 "    struct passwd *result;\n"
2405 "    char *buf;\n"
2406 "    size_t bufsize;\n"
2407 "    int s;\n"
2408
2409 #. type: Plain text
2410 #: build/C/man3/getpwnam.3:300
2411 #, no-wrap
2412 msgid ""
2413 "    if (argc != 2) {\n"
2414 "        fprintf(stderr, \"Usage: %s username\\en\", argv[0]);\n"
2415 "        exit(EXIT_FAILURE);\n"
2416 "    }\n"
2417 msgstr ""
2418 "    if (argc != 2) {\n"
2419 "        fprintf(stderr, \"Usage: %s username\\en\", argv[0]);\n"
2420 "        exit(EXIT_FAILURE);\n"
2421 "    }\n"
2422
2423 #. type: Plain text
2424 #: build/C/man3/getpwnam.3:304
2425 #, no-wrap
2426 msgid ""
2427 "    bufsize = sysconf(_SC_GETPW_R_SIZE_MAX);\n"
2428 "    if (bufsize == -1)          /* Value was indeterminate */\n"
2429 "        bufsize = 16384;        /* Should be more than enough */\n"
2430 msgstr ""
2431 "    bufsize = sysconf(_SC_GETPW_R_SIZE_MAX);\n"
2432 "    if (bufsize == -1)          /* 値を決定できなかった */\n"
2433 "        bufsize = 16384;        /* 十分大きな値にすべき */\n"
2434
2435 #. type: Plain text
2436 #: build/C/man3/getpwnam.3:310
2437 #, no-wrap
2438 msgid ""
2439 "    buf = malloc(bufsize);\n"
2440 "    if (buf == NULL) {\n"
2441 "        perror(\"malloc\");\n"
2442 "        exit(EXIT_FAILURE);\n"
2443 "    }\n"
2444 msgstr ""
2445 "    buf = malloc(bufsize);\n"
2446 "    if (buf == NULL) {\n"
2447 "        perror(\"malloc\");\n"
2448 "        exit(EXIT_FAILURE);\n"
2449 "    }\n"
2450
2451 #. type: Plain text
2452 #: build/C/man3/getpwnam.3:321
2453 #, no-wrap
2454 msgid ""
2455 "    s = getpwnam_r(argv[1], &pwd, buf, bufsize, &result);\n"
2456 "    if (result == NULL) {\n"
2457 "        if (s == 0)\n"
2458 "            printf(\"Not found\\en\");\n"
2459 "        else {\n"
2460 "            errno = s;\n"
2461 "            perror(\"getpwnam_r\");\n"
2462 "        }\n"
2463 "        exit(EXIT_FAILURE);\n"
2464 "    }\n"
2465 msgstr ""
2466 "    s = getpwnam_r(argv[1], &pwd, buf, bufsize, &result);\n"
2467 "    if (result == NULL) {\n"
2468 "        if (s == 0)\n"
2469 "            printf(\"Not found\\en\");\n"
2470 "        else {\n"
2471 "            errno = s;\n"
2472 "            perror(\"getpwnam_r\");\n"
2473 "        }\n"
2474 "        exit(EXIT_FAILURE);\n"
2475 "    }\n"
2476
2477 #. type: Plain text
2478 #: build/C/man3/getpwnam.3:325
2479 #, no-wrap
2480 msgid ""
2481 "    printf(\"Name: %s; UID: %ld\\en\", pwd.pw_gecos, (long) pwd.pw_uid);\n"
2482 "    exit(EXIT_SUCCESS);\n"
2483 "}\n"
2484 msgstr ""
2485 "    printf(\"Name: %s; UID: %ld\\en\", pwd.pw_gecos, (long) pwd.pw_uid);\n"
2486 "    exit(EXIT_SUCCESS);\n"
2487 "}\n"
2488
2489 #. type: Plain text
2490 #: build/C/man3/getpwnam.3:336
2491 msgid ""
2492 "B<endpwent>(3), B<fgetpwent>(3), B<getgrnam>(3), B<getpw>(3), B<getpwent>"
2493 "(3), B<getspnam>(3), B<putpwent>(3), B<setpwent>(3), B<passwd>(5)"
2494 msgstr ""
2495 "B<endpwent>(3), B<fgetpwent>(3), B<getgrnam>(3), B<getpw>(3), B<getpwent>"
2496 "(3), B<getspnam>(3), B<putpwent>(3), B<setpwent>(3), B<passwd>(5)"
2497
2498 #. type: TH
2499 #: build/C/man3/getspnam.3:8
2500 #, no-wrap
2501 msgid "GETSPNAM"
2502 msgstr "GETSPNAM"
2503
2504 #. type: Plain text
2505 #: build/C/man3/getspnam.3:13
2506 msgid ""
2507 "getspnam, getspnam_r, getspent, getspent_r, setspent, endspent, fgetspent, "
2508 "fgetspent_r, sgetspent, sgetspent_r, putspent, lckpwdf, ulckpwdf - get "
2509 "shadow password file entry"
2510 msgstr ""
2511 "getspnam, getspnam_r, getspent, getspent_r, setspent, endspent,fgetspent, "
2512 "fgetspent_r, sgetspent, sgetspent_r, putspent, lckpwdf, ulckpwdf - shadow パ"
2513 "スワードファイルのエントリを取得する"
2514
2515 #. type: Plain text
2516 #: build/C/man3/getspnam.3:16
2517 #, no-wrap
2518 msgid "/* General shadow password file API */\n"
2519 msgstr "/* 一般的な shadow パスワードファイル API */\n"
2520
2521 #. type: Plain text
2522 #: build/C/man3/getspnam.3:18 build/C/man3/getspnam.3:40
2523 #, no-wrap
2524 msgid "B<#include E<lt>shadow.hE<gt>>\n"
2525 msgstr "B<#include E<lt>shadow.hE<gt>>\n"
2526
2527 #. type: Plain text
2528 #: build/C/man3/getspnam.3:20
2529 #, no-wrap
2530 msgid "B<struct spwd *getspnam(const char *>I<name>B<);>\n"
2531 msgstr "B<struct spwd *getspnam(const char *>I<name>B<);>\n"
2532
2533 #. type: Plain text
2534 #: build/C/man3/getspnam.3:22
2535 #, no-wrap
2536 msgid "B<struct spwd *getspent(void);>\n"
2537 msgstr "B<struct spwd *getspent(void);>\n"
2538
2539 #. type: Plain text
2540 #: build/C/man3/getspnam.3:24
2541 #, no-wrap
2542 msgid "B<void setspent(void);>\n"
2543 msgstr "B<void setspent(void);>\n"
2544
2545 #. type: Plain text
2546 #: build/C/man3/getspnam.3:26
2547 #, no-wrap
2548 msgid "B<void endspent(void);>\n"
2549 msgstr "B<void endspent(void);>\n"
2550
2551 #. type: Plain text
2552 #: build/C/man3/getspnam.3:28
2553 #, no-wrap
2554 msgid "B<struct spwd *fgetspent(FILE *>I<fp>B<);>\n"
2555 msgstr "B<struct spwd *fgetspent(FILE *>I<fp>B<);>\n"
2556
2557 #. type: Plain text
2558 #: build/C/man3/getspnam.3:30
2559 #, no-wrap
2560 msgid "B<struct spwd *sgetspent(const char *>I<s>B<);>\n"
2561 msgstr "B<struct spwd *sgetspent(const char *>I<s>B<);>\n"
2562
2563 #. type: Plain text
2564 #: build/C/man3/getspnam.3:32
2565 #, no-wrap
2566 msgid "B<int putspent(struct spwd *>I<p>B<, FILE *>I<fp>B<);>\n"
2567 msgstr "B<int putspent(struct spwd *>I<p>B<, FILE *>I<fp>B<);>\n"
2568
2569 #. type: Plain text
2570 #: build/C/man3/getspnam.3:34
2571 #, no-wrap
2572 msgid "B<int lckpwdf(void);>\n"
2573 msgstr "B<int lckpwdf(void);>\n"
2574
2575 #. type: Plain text
2576 #: build/C/man3/getspnam.3:36
2577 #, no-wrap
2578 msgid "B<int ulckpwdf(void);>\n"
2579 msgstr "B<int ulckpwdf(void);>\n"
2580
2581 #. type: Plain text
2582 #: build/C/man3/getspnam.3:38
2583 #, no-wrap
2584 msgid "/* GNU extension */\n"
2585 msgstr "/* GNU 版における拡張 */\n"
2586
2587 #. type: Plain text
2588 #: build/C/man3/getspnam.3:42
2589 #, no-wrap
2590 msgid "B<int getspent_r(struct spwd *>I<spbuf>B<,>\n"
2591 msgstr "B<int getspent_r(struct spwd *>I<spbuf>B<,>\n"
2592
2593 #. type: Plain text
2594 #: build/C/man3/getspnam.3:44 build/C/man3/getspnam.3:48
2595 #: build/C/man3/getspnam.3:52 build/C/man3/getspnam.3:56
2596 #, no-wrap
2597 msgid "B<        char *>I<buf>B<, size_t >I<buflen>B<, struct spwd **>I<spbufp>B<);>\n"
2598 msgstr "B<        char *>I<buf>B<, size_t >I<buflen>B<, struct spwd **>I<spbufp>B<);>\n"
2599
2600 #. type: Plain text
2601 #: build/C/man3/getspnam.3:46
2602 #, no-wrap
2603 msgid "B<int getspnam_r(const char *>I<name>B<, struct spwd *>I<spbuf>B<,>\n"
2604 msgstr "B<int getspnam_r(const char *>I<name>B<, struct spwd *>I<spbuf>B<,>\n"
2605
2606 #. type: Plain text
2607 #: build/C/man3/getspnam.3:50
2608 #, no-wrap
2609 msgid "B<int fgetspent_r(FILE *>I<fp>B<, struct spwd *>I<spbuf>B<,>\n"
2610 msgstr "B<int fgetspent_r(FILE *>I<fp>B<, struct spwd *>I<spbuf>B<,>\n"
2611
2612 #. type: Plain text
2613 #: build/C/man3/getspnam.3:54
2614 #, no-wrap
2615 msgid "B<int sgetspent_r(const char *>I<s>B<, struct spwd *>I<spbuf>B<,>\n"
2616 msgstr "B<int sgetspent_r(const char *>I<s>B<, struct spwd *>I<spbuf>B<,>\n"
2617
2618 #. type: Plain text
2619 #: build/C/man3/getspnam.3:68
2620 msgid "B<getspent_r>(), B<getspnam_r>(), B<fgetspent_r>(), B<sgetspent_r>():"
2621 msgstr "B<getspent_r>(), B<getspnam_r>(), B<fgetspent_r>(), B<sgetspent_r>():"
2622
2623 #. type: Plain text
2624 #: build/C/man3/getspnam.3:70
2625 msgid "_BSD_SOURCE || _SVID_SOURCE"
2626 msgstr "_BSD_SOURCE || _SVID_SOURCE"
2627
2628 #. type: Plain text
2629 #: build/C/man3/getspnam.3:84
2630 msgid ""
2631 "Long ago it was considered safe to have encrypted passwords openly visible "
2632 "in the password file.  When computers got faster and people got more "
2633 "security-conscious, this was no longer acceptable.  Julianne Frances Haugh "
2634 "implemented the shadow password suite that keeps the encrypted passwords in "
2635 "the shadow password database (e.g., the local shadow password file I</etc/"
2636 "shadow>, NIS, and LDAP), readable only by root."
2637 msgstr ""
2638 "昔は暗号化されたパスワードをパスワードファイルに 見えるように公開しておいても"
2639 "安全だと考えられていた。 Julianne Frances Haugh は shadow パスワード・スイー"
2640 "トを実装した。 これは暗号化されたパスワードを、root のみが読むことができる "
2641 "shadow パスワード・データベース (例えば、 ローカルの shadow パスワードファイ"
2642 "ル I</etc/shadow>, NIS, LDAP)  に保持する。"
2643
2644 #.  FIXME I've commented out the following for the
2645 #.  moment.  The relationship between PAM and nsswitch.conf needs
2646 #.  to be clearly documented in one place, which is pointed to by
2647 #.  the pages for the user, group, and shadow password functions.
2648 #.  (Jul 2005, mtk)
2649 #.  This shadow password setup has been superseded by PAM
2650 #.  (pluggable authentication modules), and the file
2651 #.  .I /etc/nsswitch.conf
2652 #.  now describes the sources to be used.
2653 #. type: Plain text
2654 #: build/C/man3/getspnam.3:101
2655 msgid ""
2656 "The functions described below resemble those for the traditional password "
2657 "database (e.g., see B<getpwnam>(3)  and B<getpwent>(3))."
2658 msgstr ""
2659 "以下で説明する関数は、伝統的なパスワード・データベースに対する 関数に似てい"
2660 "る (例えば B<getpwnam>(3)  や B<getpwent>(3)  を参照)。"
2661
2662 #. type: Plain text
2663 #: build/C/man3/getspnam.3:108
2664 msgid ""
2665 "The B<getspnam>()  function returns a pointer to a structure containing the "
2666 "broken-out fields of the record in the shadow password database that matches "
2667 "the username I<name>."
2668 msgstr ""
2669 "B<getspnam>()  関数は、ユーザ名 I<name> にマッチする shadow パスワード・デー"
2670 "タベースのエントリを 要素毎に分解し、各要素を格納した構造体へのポインタを返"
2671 "す。"
2672
2673 #.  some systems require a call of setspent() before the first getspent()
2674 #.  glibc does not
2675 #. type: Plain text
2676 #: build/C/man3/getspnam.3:120
2677 msgid ""
2678 "The B<getspent>()  function returns a pointer to the next entry in the "
2679 "shadow password database.  The position in the input stream is initialized "
2680 "by B<setspent>().  When done reading, the program may call B<endspent>()  so "
2681 "that resources can be deallocated."
2682 msgstr ""
2683 "B<getspent>()  関数は shadow パスワード・データベースにおける次のエントリへの"
2684 "ポインタを返す。 入力ストリームにおける位置は、 B<setspent>()  で初期化され"
2685 "る。 読み込みが終わった後に、 B<endspent>()  を呼び出すと、リソースを解放でき"
2686 "る。"
2687
2688 #. type: Plain text
2689 #: build/C/man3/getspnam.3:127
2690 msgid ""
2691 "The B<fgetspent>()  function is similar to B<getspent>()  but uses the "
2692 "supplied stream instead of the one implicitly opened by B<setspent>()."
2693 msgstr ""
2694 "B<fgetspent>()  関数は B<getspent>()  に似ているが、 B<setspent>()  で暗黙の"
2695 "うちにオープンされるストリームではなく、与えられたストリームを使う。"
2696
2697 #. type: Plain text
2698 #: build/C/man3/getspnam.3:134
2699 msgid ""
2700 "The B<sgetspent>()  function parses the supplied string I<s> into a struct "
2701 "I<spwd>."
2702 msgstr ""
2703 "B<sgetspent>()  関数は与えられた文字列 I<s> を解析し struct I<spwd> に格納す"
2704 "る。"
2705
2706 #. type: Plain text
2707 #: build/C/man3/getspnam.3:144
2708 msgid ""
2709 "The B<putspent>()  function writes the contents of the supplied struct "
2710 "I<spwd> I<*p> as a text line in the shadow password file format to the "
2711 "stream I<fp>.  String entries with value NULL and numerical entries with "
2712 "value -1 are written as an empty string."
2713 msgstr ""
2714 "B<putspent>()  関数は与えられた struct I<spwd> I<*p> の内容を shadow パスワー"
2715 "ドファイル形式のテキスト行でストリーム I<fp> に書き出す。 空文字列として、 値"
2716 "が NULL の文字列エントリと値が -1 の数値エントリが 書き出される。"
2717
2718 #. type: Plain text
2719 #: build/C/man3/getspnam.3:159
2720 msgid ""
2721 "The B<lckpwdf>()  function is intended to protect against multiple "
2722 "simultaneous accesses of the shadow password database.  It tries to acquire "
2723 "a lock, and returns 0 on success, or -1 on failure (lock not obtained within "
2724 "15 seconds).  The B<ulckpwdf>()  function releases the lock again.  Note "
2725 "that there is no protection against direct access of the shadow password "
2726 "file.  Only programs that use B<lckpwdf>()  will notice the lock."
2727 msgstr ""
2728 "B<lckpwdf>()  関数は、 shadow パスワード・データベースを 多重同時アクセスから"
2729 "守るためのものである。 この関数はロックの獲得を試み、 成功した場合は 0 を返"
2730 "す。 失敗した場合 (15 秒以内にロックが取得できなかった場合) は -1 を返す。 "
2731 "B<ulckpwdf>()  関数はロックを再び解放する。 shadow パスワードファイルへの直接"
2732 "アクセスから 保護する手段がない点に注意すること。 B<lckpwdf>()  を使うプログ"
2733 "ラムだけがロックを通知できる。"
2734
2735 #.  Also in libc5
2736 #.  SUN doesn't have sgetspent()
2737 #. type: Plain text
2738 #: build/C/man3/getspnam.3:164
2739 msgid ""
2740 "These were the functions that formed the original shadow API.  They are "
2741 "widely available."
2742 msgstr ""
2743 "これらの関数はオリジナルの shadow API を構成していた関数であり、 いろいろなシ"
2744 "ステムで広く利用可能である。"
2745
2746 #. type: SS
2747 #: build/C/man3/getspnam.3:164
2748 #, no-wrap
2749 msgid "Reentrant versions"
2750 msgstr "リエントラント版"
2751
2752 #. type: Plain text
2753 #: build/C/man3/getspnam.3:181
2754 msgid ""
2755 "Analogous to the reentrant functions for the password database, glibc also "
2756 "has reentrant functions for the shadow password database.  The B<getspnam_r>"
2757 "()  function is like B<getspnam>()  but stores the retrieved shadow password "
2758 "structure in the space pointed to by I<spbuf>.  This shadow password "
2759 "structure contains pointers to strings, and these strings are stored in the "
2760 "buffer I<buf> of size I<buflen>.  A pointer to the result (in case of "
2761 "success) or NULL (in case no entry was found or an error occurred) is stored "
2762 "in I<*spbufp>."
2763 msgstr ""
2764 "パスワード・データベースに対するリエントラント版と同じように、 glibc には "
2765 "shadow パスワードファイルに対してリエントラント版がある。 B<getspnam_r>()  関"
2766 "数は B<getspnam>()  と似ているが、取得した shadow パスワード構造体を "
2767 "I<spbuf> が指す領域に格納する。 shadow パスワード構造体は文字列群へのポインタ"
2768 "を含み、 これらの文字列群はサイズ I<buflen> のバッファ I<buf> に格納される。 "
2769 "I<*spbufp> には (成功した場合は) 結果へのポインタが格納され、 (エントリが見つ"
2770 "からなかった場合またはエラーが起こった場合は)  NULL が格納される。"
2771
2772 #. type: Plain text
2773 #: build/C/man3/getspnam.3:188
2774 msgid ""
2775 "The functions B<getspent_r>(), B<fgetspent_r>(), and B<sgetspent_r>()  are "
2776 "similarly analogous to their nonreentrant counterparts."
2777 msgstr ""
2778 "関数 B<getspent_r>(), B<fgetspent_r>(), B<sgetspent_r>()  はそれぞれリエント"
2779 "ラントでないバージョンと同様の機能を持つ。"
2780
2781 #.  SUN doesn't have sgetspent_r()
2782 #. type: Plain text
2783 #: build/C/man3/getspnam.3:192
2784 msgid ""
2785 "Some non-glibc systems also have functions with these names, often with "
2786 "different prototypes."
2787 msgstr ""
2788 "glibc でないシステムにもこれらと同じ名前の関数があるが、 プロトタイプが異なる"
2789 "ことも多い。"
2790
2791 #. type: SS
2792 #: build/C/man3/getspnam.3:192
2793 #, no-wrap
2794 msgid "Structure"
2795 msgstr "構造体"
2796
2797 #. type: Plain text
2798 #: build/C/man3/getspnam.3:194
2799 msgid ""
2800 "The shadow password structure is defined in I<E<lt>shadow.hE<gt>> as follows:"
2801 msgstr ""
2802 "shadow パスワード構造体は I<E<lt>shadow.hE<gt>> で以下のように定義されている:"
2803
2804 #. type: Plain text
2805 #: build/C/man3/getspnam.3:214
2806 #, no-wrap
2807 msgid ""
2808 "struct spwd {\n"
2809 "    char *sp_namp;     /* Login name */\n"
2810 "    char *sp_pwdp;     /* Encrypted password */\n"
2811 "    long  sp_lstchg;   /* Date of last change\n"
2812 "                          (measured in days since\n"
2813 "                          1970-01-01 00:00:00 +0000 (UTC)) */\n"
2814 "    long  sp_min;      /* Min # of days between changes */\n"
2815 "    long  sp_max;      /* Max # of days between changes */\n"
2816 "    long  sp_warn;     /* # of days before password expires\n"
2817 "                          to warn user to change it */\n"
2818 "    long  sp_inact;    /* # of days after password expires\n"
2819 "                          until account is disabled */\n"
2820 "    long  sp_expire;   /* Date when account expires\n"
2821 "                          (measured in days since\n"
2822 "                          1970-01-01 00:00:00 +0000 (UTC)) */\n"
2823 "    unsigned long sp_flag;  /* Reserved */\n"
2824 "};\n"
2825 msgstr ""
2826 "struct spwd {\n"
2827 "    char *sp_namp;     /* ログイン名 */\n"
2828 "    char *sp_pwdp;     /* 暗号化されたパスワード */\n"
2829 "    long  sp_lstchg;   /* 最終更新日\n"
2830 "                          (1970-01-01 00:00:00 +0000 (UTC)\n"
2831 "                           からの日数) */\n"
2832 "    long  sp_min;      /* 変更が出来るようになるまでの最短日数 */\n"
2833 "    long  sp_max;      /* 変更をしなくてもよい最長日数 */\n"
2834 "    long  sp_warn;     /* パスワードが期限切れになる前に\n"
2835 "                          ユーザに変更の警告を出す日数 */\n"
2836 "    long  sp_inact;    /* パスワードが期限切れになってから\n"
2837 "                          アカウントが無効になるまでの日数 */\n"
2838 "    long  sp_expire;   /* アカウントが無効になる日付\n"
2839 "                          (1970-01-01 00:00:00 +0000 (UTC)\n"
2840 "                           からの日数) */\n"
2841 "    unsigned long sp_flag;  /* 予約フィールド */\n"
2842 "};\n"
2843
2844 #. type: Plain text
2845 #: build/C/man3/getspnam.3:223
2846 #, fuzzy
2847 #| msgid ""
2848 #| "The functions that return a pointer return NULL if no more entries are "
2849 #| "available or if an error occurs during processing.  The functions which "
2850 #| "have I<int> as the return value return 0 for success and -1 for failure."
2851 msgid ""
2852 "The functions that return a pointer return NULL if no more entries are "
2853 "available or if an error occurs during processing.  The functions which have "
2854 "I<int> as the return value return 0 for success and -1 for failure, with "
2855 "I<errno> set to indicate the cause of the error."
2856 msgstr ""
2857 "ポインタを返す関数は、これ以上エントリがない場合や 処理中にエラーが発生した場"
2858 "合 NULL を返す。 I<int> を返り値として持つ関数は、 成功した場合 0 を返し、失"
2859 "敗した場合 -1 を返す。"
2860
2861 #. type: Plain text
2862 #: build/C/man3/getspnam.3:226
2863 msgid ""
2864 "For the nonreentrant functions, the return value may point to static area, "
2865 "and may be overwritten by subsequent calls to these functions."
2866 msgstr ""
2867 "リエントラント版でない関数では、返り値が静的な領域を指しており、 引き続いてこ"
2868 "れらの関数を呼び出した場合に上書きされる可能性がある。"
2869
2870 #. type: Plain text
2871 #: build/C/man3/getspnam.3:229
2872 msgid ""
2873 "The reentrant functions return zero on success.  In case of error, an error "
2874 "number is returned."
2875 msgstr ""
2876 "リエントラント版の関数は、成功した場合に 0 を返す。 エラーの場合は、エラー番"
2877 "号が返される。"
2878
2879 #. type: TP
2880 #: build/C/man3/getspnam.3:230
2881 #, no-wrap
2882 msgid "B<EACCES>"
2883 msgstr "B<EACCES>"
2884
2885 #. type: Plain text
2886 #: build/C/man3/getspnam.3:233
2887 msgid "The caller does not have permission to access the shadow password file."
2888 msgstr ""
2889 "呼び出し元が shadow パスワードファイルにアクセスする許可を持っていない。"
2890
2891 #. type: Plain text
2892 #: build/C/man3/getspnam.3:236
2893 msgid "Supplied buffer is too small."
2894 msgstr "与えられたバッファが小さすぎる。"
2895
2896 #. type: TP
2897 #: build/C/man3/getspnam.3:237
2898 #, no-wrap
2899 msgid "I</etc/shadow>"
2900 msgstr "I</etc/shadow>"
2901
2902 #. type: Plain text
2903 #: build/C/man3/getspnam.3:240
2904 msgid "local shadow password database file"
2905 msgstr "ローカルの shadow パスワード・データベースファイル"
2906
2907 #. type: TP
2908 #: build/C/man3/getspnam.3:240
2909 #, no-wrap
2910 msgid "I</etc/.pwd.lock>"
2911 msgstr "I</etc/.pwd.lock>"
2912
2913 #. type: Plain text
2914 #: build/C/man3/getspnam.3:243
2915 msgid "lock file"
2916 msgstr "ロックファイル"
2917
2918 #. type: Plain text
2919 #: build/C/man3/getspnam.3:249
2920 msgid ""
2921 "The include file I<E<lt>paths.hE<gt>> defines the constant B<_PATH_SHADOW> "
2922 "to the pathname of the shadow password file."
2923 msgstr ""
2924 "インクルードファイル I<E<lt>paths.hE<gt>> は定数 B<_PATH_SHADOW> を定義してい"
2925 "る。 これは shadow パスワードファイルのパス名である。"
2926
2927 #. type: Plain text
2928 #: build/C/man3/getspnam.3:253
2929 msgid ""
2930 "The shadow password database and its associated API are not specified in "
2931 "POSIX.1-2001.  However, many other systems provide a similar API."
2932 msgstr ""
2933 "shadow パスワード・データベースと関連 API は POSIX.1-2001 には記載されていな"
2934 "い。しかしながら、多くの他のシステムでも 同様の API が提供されている。"
2935
2936 #. type: Plain text
2937 #: build/C/man3/getspnam.3:258
2938 msgid "B<getgrnam>(3), B<getpwnam>(3), B<getpwnam_r>(3), B<shadow>(5)"
2939 msgstr "B<getgrnam>(3), B<getpwnam>(3), B<getpwnam_r>(3), B<shadow>(5)"
2940
2941 #. type: TH
2942 #: build/C/man5/group.5:26
2943 #, no-wrap
2944 msgid "GROUP"
2945 msgstr "GROUP"
2946
2947 #. type: Plain text
2948 #: build/C/man5/group.5:29
2949 msgid "group - user group file"
2950 msgstr "group - ユーザーグループのファイル"
2951
2952 #. type: Plain text
2953 #: build/C/man5/group.5:34
2954 msgid ""
2955 "The I</etc/group> file is a text file that defines the groups on the "
2956 "system.  There is one entry per line, with the following format:"
2957 msgstr ""
2958 "I</etc/group> ファイルは、そのシステムのグループを定義するテキスト\n"
2959 "ファイルである。 1 行に 1 エントリで、各行の形式は以下のとおりである。"
2960
2961 #. type: Plain text
2962 #: build/C/man5/group.5:37
2963 msgid "group_name:password:GID:user_list"
2964 msgstr "group_name:password:GID:user_list"
2965
2966 #. type: Plain text
2967 #: build/C/man5/group.5:40
2968 msgid "The fields are as follows:"
2969 msgstr "各フィールドは以下の通りである:"
2970
2971 #. type: TP
2972 #: build/C/man5/group.5:40
2973 #, no-wrap
2974 msgid "I<group_name>"
2975 msgstr "I<group_name>"
2976
2977 #. type: Plain text
2978 #: build/C/man5/group.5:43
2979 msgid "the name of the group."
2980 msgstr "グループの名前。"
2981
2982 #. type: TP
2983 #: build/C/man5/group.5:43 build/C/man5/passwd.5:91
2984 #, no-wrap
2985 msgid "I<password>"
2986 msgstr "I<password>"
2987
2988 #. type: Plain text
2989 #: build/C/man5/group.5:47
2990 msgid ""
2991 "the (encrypted) group password.  If this field is empty, no password is "
2992 "needed."
2993 msgstr ""
2994 "(暗号化された) パスワード。このフィールドが空ならパスワードは必要ない。"
2995
2996 #. type: TP
2997 #: build/C/man5/group.5:47 build/C/man5/passwd.5:103
2998 #, no-wrap
2999 msgid "I<GID>"
3000 msgstr "I<GID>"
3001
3002 #. type: Plain text
3003 #: build/C/man5/group.5:50
3004 msgid "the numeric group ID."
3005 msgstr "グループ ID 番号。"
3006
3007 #. type: TP
3008 #: build/C/man5/group.5:50
3009 #, no-wrap
3010 msgid "I<user_list>"
3011 msgstr "I<user_list>"
3012
3013 #. type: Plain text
3014 #: build/C/man5/group.5:53
3015 msgid ""
3016 "a list of the usernames that are members of this group, separated by commas."
3017 msgstr ""
3018 "このグループのメンバーのユーザー名のリスト。 ユーザー名はコンマで区切られる。"
3019
3020 #. type: Plain text
3021 #: build/C/man5/group.5:55
3022 msgid "/etc/group"
3023 msgstr "/etc/group"
3024
3025 #. type: Plain text
3026 #: build/C/man5/group.5:61
3027 msgid ""
3028 "As the 4.2BSD B<initgroups>(3)  man page says: No-one seems to keep I</etc/"
3029 "group> up-to-date."
3030 msgstr ""
3031 "4.2BSD の B<initgroups>(3)  には次のように書かれている: 誰も I</etc/group> を"
3032 "最新の状態に保ってはいないようである。"
3033
3034 #. type: Plain text
3035 #: build/C/man5/group.5:67
3036 msgid "B<login>(1), B<newgrp>(1), B<getgrent>(3), B<getgrnam>(3), B<passwd>(5)"
3037 msgstr ""
3038 "B<login>(1), B<newgrp>(1), B<getgrent>(3), B<getgrnam>(3), B<passwd>(5)"
3039
3040 #. type: TH
3041 #: build/C/man3/initgroups.3:32
3042 #, no-wrap
3043 msgid "INITGROUPS"
3044 msgstr "INITGROUPS"
3045
3046 #. type: TH
3047 #: build/C/man3/initgroups.3:32
3048 #, no-wrap
3049 msgid "2007-07-26"
3050 msgstr "2007-07-26"
3051
3052 #. type: Plain text
3053 #: build/C/man3/initgroups.3:35
3054 msgid "initgroups - initialize the supplementary group access list"
3055 msgstr "initgroups - 追加のグループアクセスリストの初期化"
3056
3057 #. type: Plain text
3058 #: build/C/man3/initgroups.3:41
3059 #, no-wrap
3060 msgid "B<int initgroups(const char *>I<user>B<, gid_t >I<group>B<);>\n"
3061 msgstr "B<int initgroups(const char *>I<user>B<, gid_t >I<group>B<);>\n"
3062
3063 #. type: Plain text
3064 #: build/C/man3/initgroups.3:50
3065 msgid "B<initgroups>(): _BSD_SOURCE"
3066 msgstr "B<initgroups>(): _BSD_SOURCE"
3067
3068 #. type: Plain text
3069 #: build/C/man3/initgroups.3:64
3070 msgid ""
3071 "The B<initgroups>()  function initializes the group access list by reading "
3072 "the group database I</etc/group> and using all groups of which I<user> is a "
3073 "member.  The additional group I<group> is also added to the list."
3074 msgstr ""
3075 "B<initgroups>()  関数はグループデータベース I</etc/group> を読み 込んで、"
3076 "I<user> が所属している全てのグループを使って、グループアク セスリストを初期化"
3077 "する。さらに、I<group> に示されるグループもグルー プアクセスリストに追加され"
3078 "る。"
3079
3080 #. type: Plain text
3081 #: build/C/man3/initgroups.3:68
3082 msgid "The I<user> argument must be non-NULL."
3083 msgstr "I<user> 引数は NULL であってはならない。"
3084
3085 #. type: Plain text
3086 #: build/C/man3/initgroups.3:75
3087 msgid ""
3088 "The B<initgroups>()  function returns 0 on success.  On error, -1 is "
3089 "returned, and I<errno> is set appropriately."
3090 msgstr ""
3091 "B<initgroups>()  関数は、成功すると 0 を返す。 エラーの場合は -1 を返し、 "
3092 "I<errno> を適切に設定する。"
3093
3094 #. type: Plain text
3095 #: build/C/man3/initgroups.3:79
3096 msgid "Insufficient memory to allocate group information structure."
3097 msgstr "グループ情報構造体を配置するためのメモリが不足している。"
3098
3099 #. type: TP
3100 #: build/C/man3/initgroups.3:79
3101 #, no-wrap
3102 msgid "B<EPERM>"
3103 msgstr "B<EPERM>"
3104
3105 #. type: Plain text
3106 #: build/C/man3/initgroups.3:84
3107 msgid ""
3108 "The calling process has insufficient privilege.  See the underlying system "
3109 "call B<setgroups>(2)."
3110 msgstr ""
3111 "呼出しプロセスが十分な特権を持っていない。 この関数の裏で実行されるシステム"
3112 "コール B<setgroups>(2)  も参照のこと。"
3113
3114 #. type: Plain text
3115 #: build/C/man3/initgroups.3:87
3116 #, no-wrap
3117 msgid "I</etc/group>\t\tgroup database file\n"
3118 msgstr "I</etc/group>\t\tグループデータベースファイル\n"
3119
3120 #. type: Plain text
3121 #: build/C/man3/initgroups.3:90
3122 msgid "SVr4, 4.3BSD."
3123 msgstr "SVr4, 4.3BSD."
3124
3125 #. type: Plain text
3126 #: build/C/man3/initgroups.3:94
3127 msgid "B<getgroups>(2), B<setgroups>(2), B<credentials>(7)"
3128 msgstr "B<getgroups>(2), B<setgroups>(2), B<credentials>(7)"
3129
3130 #. type: TH
3131 #: build/C/man5/passwd.5:30
3132 #, no-wrap
3133 msgid "PASSWD"
3134 msgstr "PASSWD"
3135
3136 #. type: TH
3137 #: build/C/man5/passwd.5:30
3138 #, no-wrap
3139 msgid "2012-05-03"
3140 msgstr "2012-05-03"
3141
3142 #. type: Plain text
3143 #: build/C/man5/passwd.5:33
3144 msgid "passwd - password file"
3145 msgstr "passwd - パスワードファイル"
3146
3147 #. type: Plain text
3148 #: build/C/man5/passwd.5:41
3149 msgid ""
3150 "The I</etc/passwd> file is a text file that describes user login accounts "
3151 "for the system.  It should have read permission allowed for all users (many "
3152 "utilities, like B<ls>(1)  use it to map user IDs to usernames), but write "
3153 "access only for the superuser."
3154 msgstr ""
3155 "I</etc/passwd> ファイルは、そのシステムのユーザのログインアカウントリス\n"
3156 "トを記述したテキストファイルである。パスワードファイルの読み出し許可は\n"
3157 "全ユーザーに対して与えるが(I<ls>(1) 等の多くのユーティリティではユーザー\n"
3158 "ID をユーザー名に 対応させるのに B<passwd> ファイルを使用する)、書き込\n"
3159 "み許可はスーパーユーザーにのみ与えるようにすべきである。"
3160
3161 #. type: Plain text
3162 #: build/C/man5/passwd.5:53
3163 msgid ""
3164 "In the good old days there was no great problem with this general read "
3165 "permission.  Everybody could read the encrypted passwords, but the hardware "
3166 "was too slow to crack a well-chosen password, and moreover the basic "
3167 "assumption used to be that of a friendly user-community.  These days many "
3168 "people run some version of the shadow password suite, where I</etc/passwd> "
3169 "has an \\(aqx\\(aq character in the password field, and the encrypted "
3170 "passwords are in I</etc/shadow>, which is readable by the superuser only."
3171 msgstr ""
3172 "古き良き時代には、この全ユーザーに対する読み取り許可は 特別な問題を起こ\n"
3173 "さなかった。誰でも暗号化されたパスワードを 読むことが出来たが、上手に選\n"
3174 "ばれたパスワードを破るのには 当時のハードウェアの速度はあまりに遅かった\n"
3175 "し、それに加えて 友好的なユーザー社会であることを基本的な前提としていた。\n"
3176 "最近では多くの人が、何らかのバージョンの shadow password suite\n"
3177 "(シャドウ・パスワード機能を実現するためのプログラム群) を動かしている。\n"
3178 "その場合 I</etc/passwd> ファイルのパスワード欄には\n"
3179 "\\(aqx\\(aq 文字が設定され、暗号化されたパスワードは\n"
3180 "I</etc/shadow> ファイルに保持される。 I</etc/shadow> ファイルはスーパー\n"
3181 "ユーザーだけが読み出すことができる。"
3182
3183 #. type: Plain text
3184 #: build/C/man5/passwd.5:62
3185 msgid ""
3186 "If the encrypted password, whether in I</etc/passwd> or in I</etc/shadow>, "
3187 "is an empty string, login is allowed without even asking for a password.  "
3188 "Note that this functionality may be intentionally disabled in applications, "
3189 "or configurable (for example using the \"nullok\" or \"nonull\" arguments to "
3190 "pam_unix.so)."
3191 msgstr ""
3192 "I</etc/passwd> と I</etc/shadow> のどちらの場合でも暗号化パスワードが\n"
3193 "空文字列の場合、パスワードの問い合わせなしでのログインが許可される。\n"
3194 "この機能は、アプリケーションで意図的に無効されたり、\n"
3195 "設定可能  (例えば pam_unix.so の \"nullok\" や \"nonull\" 引き数など)\n"
3196 "になっていたりする場合がある点に注意すること。"
3197
3198 #. type: Plain text
3199 #: build/C/man5/passwd.5:67
3200 msgid ""
3201 "If the encrypted password in I</etc/passwd> is \"I<*NP*>\" (without the "
3202 "quotes), the shadow record should be obtained from an NIS+ server."
3203 msgstr ""
3204 "I</etc/passwd> の暗号化パスワードが \"I<*NP*>\" (クォートはなし) の場合、\n"
3205 "shadow レコードを NIS+ サーバから取得することを意味する。"
3206
3207 #. type: Plain text
3208 #: build/C/man5/passwd.5:73
3209 msgid ""
3210 "Regardless of whether shadow passwords are used, many system administrators "
3211 "use an asterisk (*) in the encrypted password field to make sure that this "
3212 "user can not authenticate him- or herself using a password.  (But see NOTES "
3213 "below.)"
3214 msgstr ""
3215 "shadow password が使われているかどうかにはよらず、多くのシステム管理者は、\n"
3216 "暗号化パスワード欄にアスタリスク (*) を設定することで、そのユーザーが\n"
3217 "パスワードでの認証が受けられないようにしている (下記の「注意」の項を参照)。"
3218
3219 #. type: Plain text
3220 #: build/C/man5/passwd.5:78
3221 msgid ""
3222 "If you create a new login, first put an asterisk (*) in the password field, "
3223 "then use B<passwd>(1)  to set it."
3224 msgstr ""
3225 "新しいユーザーを登録する場合には、パスワード欄にアスタリスク (*) を設定してお"
3226 "き、\n"
3227 "B<passwd>(1) コマンドにより設定を行うようにすること。"
3228
3229 #. type: Plain text
3230 #: build/C/man5/passwd.5:81
3231 msgid ""
3232 "Each line of the file describes a single user, and contains seven colon-"
3233 "separated fields:"
3234 msgstr ""
3235 "ファイルの 1 行は 1 ユーザの情報を表し、\n"
3236 "コロン区切りの 7 つの項目を含む。"
3237
3238 #. type: Plain text
3239 #: build/C/man5/passwd.5:84
3240 msgid "name:password:UID:GID:GECOS:directory:shell"
3241 msgstr "name:password:UID:GID:GECOS:directory:shell"
3242
3243 #. type: Plain text
3244 #: build/C/man5/passwd.5:87
3245 msgid "The field are as follows:"
3246 msgstr "各フィールドは以下の通りである:"
3247
3248 #. type: TP
3249 #: build/C/man5/passwd.5:87
3250 #, no-wrap
3251 msgid "I<name>"
3252 msgstr "I<name>"
3253
3254 #. type: Plain text
3255 #: build/C/man5/passwd.5:91
3256 msgid "This is the user's login name.  It should not contain capital letters."
3257 msgstr "ユーザーのログイン名。大文字を含まないすべきである。"
3258
3259 #. type: Plain text
3260 #: build/C/man5/passwd.5:98
3261 msgid ""
3262 "This is either the encrypted user password, an asterisk (*), or the letter "
3263 "\\(aqx\\(aq.  (See B<pwconv>(8)  for an explanation of \\(aqx\\(aq.)"
3264 msgstr ""
3265 "暗号化されたユーザのパスワード、アスタリスク (*)、文字 \\(aqx\\(aq の\n"
3266 "いずれかである (\\(aqx\\(aq の説明については B<pwconv>(8) を参照)。"
3267
3268 #. type: TP
3269 #: build/C/man5/passwd.5:98
3270 #, no-wrap
3271 msgid "I<UID>"
3272 msgstr "I<UID>"
3273
3274 #. type: Plain text
3275 #: build/C/man5/passwd.5:103
3276 msgid "The privileged I<root> login account (superuser) has the user ID 0."
3277 msgstr ""
3278 "特権を持つ I<root> ログインアカウント (スーパーユーザ) は\n"
3279 "ユーザ ID 0 である。"
3280
3281 #. type: Plain text
3282 #: build/C/man5/passwd.5:108
3283 msgid ""
3284 "This is the numeric primary group ID for this user.  (Additional groups for "
3285 "the user are defined in the system group file; see B<group>(5))."
3286 msgstr ""
3287 "このユーザのプライマリグループ ID の番号。\n"
3288 "(このユーザの追加のグループはシステムのグループ定義ファイル\n"
3289 "で定義される。 B<group>(5) を参照)。"
3290
3291 #. type: TP
3292 #: build/C/man5/passwd.5:108
3293 #, no-wrap
3294 msgid "I<GECOS>"
3295 msgstr "I<GECOS>"
3296
3297 #. type: Plain text
3298 #: build/C/man5/passwd.5:116
3299 msgid ""
3300 "This field (sometimes called the \"comment field\")  is optional and used "
3301 "only for informational purposes.  Usually, it contains the full username.  "
3302 "Some programs (for example, B<finger>(1))  display information from this "
3303 "field."
3304 msgstr ""
3305 "本欄 (「コメント欄」と呼ばれることもある) は省略可能で、情報提供の\n"
3306 "目的のみに使われる。ユーザーのフルネームを設定することが多い。\n"
3307 "(B<finger>(1) などの) いくつかのプログラムでは、このフィールドの\n"
3308 "情報が表示される。"
3309
3310 #. type: Plain text
3311 #: build/C/man5/passwd.5:125
3312 msgid ""
3313 "GECOS stands for \"General Electric Comprehensive Operating System\", which "
3314 "was renamed to GCOS when GE's large systems division was sold to Honeywell.  "
3315 "Dennis Ritchie has reported: \"Sometimes we sent printer output or batch "
3316 "jobs to the GCOS machine.  The gcos field in the password file was a place "
3317 "to stash the information for the $IDENTcard.  Not elegant.\""
3318 msgstr ""
3319 "GECOS は General Electric Comprehensive Operating System を意味しており、\n"
3320 "GE 社の大規模システム部門が Honeywell 社に売却された際に GCOS へと変更\n"
3321 "された。Dennis Ritchie 氏は次のように言っている:「時々プリンタ出力や、\n"
3322 "バッチジョブを GCOS マシンに送ったりするが、パスワードファイルの \n"
3323 "gcos 欄は $IDENT カード用の情報を 隠しておくための場所なんだ。\n"
3324 "まるっきりエレガントじゃない。」"
3325
3326 #. type: TP
3327 #: build/C/man5/passwd.5:125
3328 #, no-wrap
3329 msgid "I<directory>"
3330 msgstr "I<directory>"
3331
3332 #. type: Plain text
3333 #: build/C/man5/passwd.5:132
3334 msgid ""
3335 "This is the user's home directory: the initial directory where the user is "
3336 "placed after logging in.  The value in this field is used to set the B<HOME> "
3337 "environment variable."
3338 msgstr ""
3339 "ユーザのホームディレクトリ、つまりログイン直後のそのユーザの\n"
3340 "初期ディレクトリである。\n"
3341 "このフィールドの値は B<HOME> 環境変数に設定される。"
3342
3343 #. type: TP
3344 #: build/C/man5/passwd.5:132
3345 #, no-wrap
3346 msgid "I<shell>"
3347 msgstr "I<shell>"
3348
3349 #. type: Plain text
3350 #: build/C/man5/passwd.5:142
3351 msgid ""
3352 "This is the program to run at login (if empty, use I</bin/sh>).  If set to a "
3353 "nonexistent executable, the user will be unable to login through B<login>"
3354 "(1).  The value in this field is used to set the B<SHELL> environment "
3355 "variable."
3356 msgstr ""
3357 "ログイン時に動くプログラム名 (空欄の場合 I</bin/sh> が使われる)。\n"
3358 "存在しない実行ファイルが設定された場合、そのユーザは B<login>(1) による\n"
3359 "システムへのログインができなくなる。\n"
3360 "このフィールドの値は B<SHELL> 環境変数の値に設定される。"
3361
3362 #. type: Plain text
3363 #: build/C/man5/passwd.5:148
3364 msgid ""
3365 "If you want to create user groups, there must be an entry in I</etc/group>, "
3366 "or no group will exist."
3367 msgstr ""
3368 "ユーザーグループを作りたい場合には、そのグループが I</etc/group> の中に\n"
3369 "定義されていなければならない。そうしないとグループを作ったことにはならない。"
3370
3371 #. type: Plain text
3372 #: build/C/man5/passwd.5:162
3373 msgid ""
3374 "If the encrypted password is set to an asterisk (*), the user will be unable "
3375 "to login using B<login>(1), but may still login using B<rlogin>(1), run "
3376 "existing processes and initiate new ones through B<rsh>(1), B<cron>(8), B<at>"
3377 "(1), or mail filters, etc.  Trying to lock an account by simply changing the "
3378 "shell field yields the same result and additionally allows the use of B<su>"
3379 "(1)."
3380 msgstr ""
3381 "暗号化パスワードとしてアスタリスク (*) を設定すると、 B<login>(1) を\n"
3382 "使ってのログインができなくなるが、 B<rlogin>(1) ではまだログインができる"
3383 "し、\n"
3384 "B<rsh>(1), B<cron>(8), B<at>(1) やメールのフィルタ等を使い、現存するプロセス"
3385 "を\n"
3386 "実行させたり、新たなプロセスを起動したりすることができる。\n"
3387 "使用する shell の欄を、単に変更することでアカウントを 使えないようにする\n"
3388 "のも同様の結果となる。その場合にはさらに B<su>(1) も有効なまま残ってしまう。"
3389
3390 #. type: Plain text
3391 #: build/C/man5/passwd.5:171
3392 msgid ""
3393 "B<login>(1), B<passwd>(1), B<su>(1), B<getpwent>(3), B<getpwnam>(3), B<crypt>"
3394 "(3), B<group>(5), B<shadow>(5)"
3395 msgstr ""
3396 "B<login>(1), B<passwd>(1), B<su>(1), B<getpwent>(3), B<getpwnam>(3), B<crypt>"
3397 "(3), B<group>(5), B<shadow>(5)"
3398
3399 #. type: TH
3400 #: build/C/man3/putgrent.3:7
3401 #, no-wrap
3402 msgid "PUTGRENT"
3403 msgstr "PUTGRENT"
3404
3405 #. type: TH
3406 #: build/C/man3/putgrent.3:7 build/C/man3/setaliasent.3:9
3407 #, no-wrap
3408 msgid "2003-09-09"
3409 msgstr "2003-09-09"
3410
3411 #. type: Plain text
3412 #: build/C/man3/putgrent.3:10
3413 msgid "putgrent - write a group database entry to a file"
3414 msgstr "putgrent - グループデータベースエントリをファイルに書き込む"
3415
3416 #. type: Plain text
3417 #: build/C/man3/putgrent.3:12
3418 msgid "B<#define _GNU_SOURCE> /* See feature_test_macros(7) */"
3419 msgstr "B<#define _GNU_SOURCE> /* feature_test_macros(7) 参照 */"
3420
3421 #. type: Plain text
3422 #: build/C/man3/putgrent.3:16
3423 msgid "B<int putgrent(const struct group *>I<grp>B<, FILE *>I<fp>B<);>"
3424 msgstr "B<int putgrent(const struct group *>I<grp>B<, FILE *>I<fp>B<);>"
3425
3426 #. type: Plain text
3427 #: build/C/man3/putgrent.3:27
3428 msgid ""
3429 "The B<putgrent>()  function is the counterpart for B<fgetgrent>(3).  The "
3430 "function writes the content of the provided I<struct group> into the file "
3431 "pointed to by I<fp>.  The list of group members must be NULL-terminated or "
3432 "NULL-initialized."
3433 msgstr ""
3434 "B<putgrent>()  関数は B<fgetgrent>(3)  の逆である。 この関数は与えられた "
3435 "I<struct group> を I<fp> で指されるファイルに書き込む。 グループメンバのリス"
3436 "トは、NULL で終端されるか、 NULL で初期化されなければならない。"
3437
3438 #. type: Plain text
3439 #: build/C/man3/putgrent.3:31
3440 msgid "The I<struct group> is defined as follows:"
3441 msgstr "I<struct group> は以下のように定義される:"
3442
3443 #. type: Plain text
3444 #: build/C/man3/putgrent.3:40
3445 #, no-wrap
3446 msgid ""
3447 "struct group {\n"
3448 "    char   *gr_name;      /* group name */\n"
3449 "    char   *gr_passwd;    /* group password */\n"
3450 "    gid_t   gr_gid;       /* group ID */\n"
3451 "    char  **gr_mem;       /* group members */\n"
3452 "};\n"
3453 msgstr ""
3454 "struct group {\n"
3455 "    char   *gr_name;      /* グループ名 */\n"
3456 "    char   *gr_passwd;    /* グループパスワード */\n"
3457 "    gid_t   gr_gid;       /* グループ ID */\n"
3458 "    char  **gr_mem;       /* グループメンバ */\n"
3459 "};\n"
3460
3461 #. type: Plain text
3462 #: build/C/man3/putgrent.3:44
3463 msgid "The function returns zero on success, and a nonzero value on error."
3464 msgstr "この関数は、成功した場合は 0 を返し、エラーの場合は 0 以外の値を返す。"
3465
3466 #. type: Plain text
3467 #: build/C/man3/putgrent.3:46
3468 msgid "This function is a GNU extension."
3469 msgstr "この関数は GNU による拡張である。"
3470
3471 #. type: Plain text
3472 #: build/C/man3/putgrent.3:50
3473 msgid "B<fgetgrent>(3), B<getgrent>(3), B<group>(5)"
3474 msgstr "B<fgetgrent>(3), B<getgrent>(3), B<group>(5)"
3475
3476 #. type: TH
3477 #: build/C/man3/putpwent.3:30
3478 #, no-wrap
3479 msgid "PUTPWENT"
3480 msgstr "PUTPWENT"
3481
3482 #. type: Plain text
3483 #: build/C/man3/putpwent.3:33
3484 msgid "putpwent - write a password file entry"
3485 msgstr "putpwent - パスワードファイルエントリの書き込み"
3486
3487 #. type: Plain text
3488 #: build/C/man3/putpwent.3:40
3489 #, no-wrap
3490 msgid "B<int putpwent(const struct passwd *>I<p>B<, FILE *>I<stream>B<);>\n"
3491 msgstr "B<int putpwent(const struct passwd *>I<p>B<, FILE *>I<stream>B<);>\n"
3492
3493 #. type: Plain text
3494 #: build/C/man3/putpwent.3:49
3495 msgid "B<putpwent>(): _SVID_SOURCE"
3496 msgstr "B<putpwent>(): _SVID_SOURCE"
3497
3498 #. type: Plain text
3499 #: build/C/man3/putpwent.3:54
3500 msgid ""
3501 "The B<putpwent>()  function writes a password entry from the structure I<p> "
3502 "in the file associated with I<stream>."
3503 msgstr ""
3504 "B<putpwent>()  関数は、構造体 I<p> からのパスワードエントリを I<stream> に結"
3505 "びつけられたファイルに書き込む。"
3506
3507 #. type: Plain text
3508 #: build/C/man3/putpwent.3:68
3509 #, no-wrap
3510 msgid ""
3511 "struct passwd {\n"
3512 "    char    *pw_name;        /* username */\n"
3513 "    char    *pw_passwd;      /* user password */\n"
3514 "    uid_t    pw_uid;         /* user ID */\n"
3515 "    gid_t    pw_gid;         /* group ID */\n"
3516 "    char    *pw_gecos;       /* real name */\n"
3517 "    char    *pw_dir;         /* home directory */\n"
3518 "    char    *pw_shell;       /* shell program */\n"
3519 "};\n"
3520 msgstr ""
3521 "struct passwd {\n"
3522 "    char    *pw_name;        /* ユーザ名 */\n"
3523 "    char    *pw_passwd;      /* ユーザのパスワード */\n"
3524 "    uid_t    pw_uid;         /* ユーザ ID */\n"
3525 "    gid_t    pw_gid;         /* グループ ID */\n"
3526 "    char    *pw_gecos;       /* 本名 */\n"
3527 "    char    *pw_dir;         /* ホームディレクトリ */\n"
3528 "    char    *pw_shell;       /* シェルプログラム */\n"
3529 "};\n"
3530
3531 #. type: Plain text
3532 #: build/C/man3/putpwent.3:78
3533 #, fuzzy
3534 #| msgid ""
3535 #| "The B<getpw>()  function returns 0 on success; on error, it returns -1, "
3536 #| "and I<errno> is set to indicate the error."
3537 msgid ""
3538 "The B<putpwent>()  function returns 0 on success, or -1 if an error occurs.  "
3539 "In the event of an error, I<errno> is set to indicate the cause."
3540 msgstr ""
3541 "B<getpw>()  関数は、成功した場合 0 を返す; エラーが発生した場合 -1 を返し、エ"
3542 "ラーを 示すために I<error> がセットされる。"
3543
3544 #. type: Plain text
3545 #: build/C/man3/putpwent.3:82
3546 msgid "Invalid (NULL) argument given."
3547 msgstr "無効な(NULL)引数が渡された。"
3548
3549 #. type: Plain text
3550 #: build/C/man3/putpwent.3:92
3551 msgid ""
3552 "B<endpwent>(3), B<fgetpwent>(3), B<getpw>(3), B<getpwent>(3), B<getpwnam>"
3553 "(3), B<getpwuid>(3), B<setpwent>(3)"
3554 msgstr ""
3555 "B<endpwent>(3), B<fgetpwent>(3), B<getpw>(3), B<getpwent>(3), B<getpwnam>"
3556 "(3), B<getpwuid>(3), B<setpwent>(3)"
3557
3558 #. type: TH
3559 #: build/C/man3/setaliasent.3:9
3560 #, no-wrap
3561 msgid "SETALIASENT"
3562 msgstr "SETALIASENT"
3563
3564 #. type: Plain text
3565 #: build/C/man3/setaliasent.3:13
3566 msgid ""
3567 "setaliasent, endaliasent, getaliasent, getaliasent_r, getaliasbyname, "
3568 "getaliasbyname_r - read an alias entry"
3569 msgstr ""
3570 "setaliasent, endaliasent, getaliasent, getaliasent_r, getaliasbyname, "
3571 "getaliasbyname_r - エイリアスエントリを読み込む"
3572
3573 #. type: Plain text
3574 #: build/C/man3/setaliasent.3:15
3575 msgid "B<#include E<lt>aliases.hE<gt>>"
3576 msgstr "B<#include E<lt>aliases.hE<gt>>"
3577
3578 #. type: Plain text
3579 #: build/C/man3/setaliasent.3:17
3580 msgid "B<void setaliasent(void);>"
3581 msgstr "B<void setaliasent(void);>"
3582
3583 #. type: Plain text
3584 #: build/C/man3/setaliasent.3:19
3585 msgid "B<void endaliasent(void);>"
3586 msgstr "B<void endaliasent(void);>"
3587
3588 #. type: Plain text
3589 #: build/C/man3/setaliasent.3:21
3590 msgid "B<struct aliasent *getaliasent(void);>"
3591 msgstr "B<struct aliasent *getaliasent(void);>"
3592
3593 #. type: Plain text
3594 #: build/C/man3/setaliasent.3:23
3595 msgid "B<int getaliasent_r(struct aliasent *>I<result>B<,>"
3596 msgstr "B<int getaliasent_r(struct aliasent *>I<result>B<,>"
3597
3598 #. type: Plain text
3599 #: build/C/man3/setaliasent.3:25 build/C/man3/setaliasent.3:31
3600 msgid ""
3601 "B< char *>I<buffer>B<, size_t >I<buflen>B<, struct aliasent **>I<res>B<);>"
3602 msgstr ""
3603 "B< char *>I<buffer>B<, size_t >I<buflen>B<, struct aliasent **>I<res>B<);>"
3604
3605 #. type: Plain text
3606 #: build/C/man3/setaliasent.3:27
3607 msgid "B<struct aliasent *getaliasbyname(const char *>I<name>B<);>"
3608 msgstr "B<struct aliasent *getaliasbyname(const char *>I<name>B<);>"
3609
3610 #. type: Plain text
3611 #: build/C/man3/setaliasent.3:29
3612 msgid ""
3613 "B<int getaliasbyname_r(const char *>I<name>B<, struct aliasent *>I<result>B<,"
3614 ">"
3615 msgstr ""
3616 "B<int getaliasbyname_r(const char *>I<name>B<, struct aliasent *>I<result>B<,"
3617 ">"
3618
3619 #. type: Plain text
3620 #: build/C/man3/setaliasent.3:37
3621 msgid ""
3622 "One of the databases available with the Name Service Switch (NSS)  is the "
3623 "aliases database, that contains mail aliases.  (To find out which databases "
3624 "are supported, try I<getent --help>.)  Six functions are provided to access "
3625 "the aliases database."
3626 msgstr ""
3627 "ネームサービススイッチ (Name Service Switch, NSS) で 利用可能なデータベース"
3628 "の 1 つとして、 メールエイリアスを保持するエイリアスデータベースがある。 (ど"
3629 "のデータベースがサポートされているかを調べるには、 getent --help を実行するこ"
3630 "と。)  エイリアスデータベースにアクセスするために、 6 つの関数が提供されてい"
3631 "る。"
3632
3633 #. type: Plain text
3634 #: build/C/man3/setaliasent.3:44
3635 msgid ""
3636 "The B<getaliasent>()  function returns a pointer to a structure containing "
3637 "the group information from the aliases database.  The first time it is "
3638 "called it returns the first entry; thereafter, it returns successive entries."
3639 msgstr ""
3640 "B<getaliasent>()  関数はエイリアスデータベースから取り出した グループ情報を含"
3641 "む構造体へのポインタを返す。 1 回目に関数が呼ばれたときには、最初のエントリを"
3642 "返す; それ以降はその後のエントリを返す。"
3643
3644 #. type: Plain text
3645 #: build/C/man3/setaliasent.3:49
3646 msgid ""
3647 "The B<setaliasent>()  function rewinds the file pointer to the beginning of "
3648 "the aliases database."
3649 msgstr ""
3650 "B<setaliasent>()  関数はファイルポインタをエイリアスデータベースの先頭に巻き"
3651 "戻す。"
3652
3653 #. type: Plain text
3654 #: build/C/man3/setaliasent.3:53
3655 msgid "The B<endaliasent>()  function closes the aliases database."
3656 msgstr "B<endaliasent>()  関数はエイリアスデータベースをクローズする。"
3657
3658 #. type: Plain text
3659 #: build/C/man3/setaliasent.3:60
3660 msgid ""
3661 "B<getaliasent_r>()  is the reentrant version of the previous function.  The "
3662 "requested structure is stored via the first argument but the programmer "
3663 "needs to fill the other arguments also.  Not providing enough space causes "
3664 "the function to fail."
3665 msgstr ""
3666 "B<getaliasent_r>()  関数は上記の関数のリエントラント版である。 要求された構造"
3667 "体は第 1 引き数に格納されるが、 プログラマは他の引き数も埋めてやる必要があ"
3668 "る。 充分な領域が与えられないと、この関数は失敗する。"
3669
3670 #. type: Plain text
3671 #: build/C/man3/setaliasent.3:66
3672 msgid ""
3673 "The function B<getaliasbyname>()  takes the name argument and searches the "
3674 "aliases database.  The entry is returned as a pointer to a I<struct "
3675 "aliasent>."
3676 msgstr ""
3677 "関数 B<getaliasbyname>()  は name 引き数をとり、エイリアスデータベースを検索"
3678 "する。 エントリは I<struct aliasent> へのポインタとして返される。"
3679
3680 #. type: Plain text
3681 #: build/C/man3/setaliasent.3:73
3682 msgid ""
3683 "B<getaliasbyname_r>()  is the reentrant version of the previous function.  "
3684 "The requested structure is stored via the second argument but the programmer "
3685 "needs to fill the other arguments also.  Not providing enough space causes "
3686 "the function to fail."
3687 msgstr ""
3688 "B<getaliasbyname_r>()  は上記の関数のリエントラント版である。 要求された構造"
3689 "体は第 2 引き数に格納されるが、 プログラマは他の引き数も埋めてやる必要があ"
3690 "る。 充分な領域が与えられないと、この関数は失敗する。"
3691
3692 #. type: Plain text
3693 #: build/C/man3/setaliasent.3:78
3694 msgid "The I<struct aliasent> is defined in I<E<lt>aliases.hE<gt>>:"
3695 msgstr "I<struct aliasent> は I<E<lt>aliases.hE<gt>> で定義されている。"
3696
3697 #. type: Plain text
3698 #: build/C/man3/setaliasent.3:87
3699 #, no-wrap
3700 msgid ""
3701 "struct aliasent {\n"
3702 "    char    *alias_name;             /* alias name */\n"
3703 "    size_t   alias_members_len;\n"
3704 "    char   **alias_members;          /* alias name list */\n"
3705 "    int      alias_local;\n"
3706 "};\n"
3707 msgstr ""
3708 "struct aliasent {\n"
3709 "    char    *alias_name;             /* エイリアス名 */\n"
3710 "    size_t   alias_members_len;\n"
3711 "    char   **alias_members;          /* エイリアス名のリスト */\n"
3712 "    int      alias_local;\n"
3713 "};\n"
3714
3715 #. type: Plain text
3716 #: build/C/man3/setaliasent.3:95
3717 msgid ""
3718 "The functions B<getaliasent_r>()  and B<getaliasbyname_r>()  return a "
3719 "nonzero value on error."
3720 msgstr ""
3721 "関数 B<getaliasent_r>()  と B<getaliasbyname_r>()  は、エラーの場合に 0 以外"
3722 "の値を返す。"
3723
3724 #. type: Plain text
3725 #: build/C/man3/setaliasent.3:101
3726 msgid ""
3727 "The default alias database is the file I</etc/aliases>.  This can be changed "
3728 "in the I</etc/nsswitch.conf> file."
3729 msgstr ""
3730 "デフォルトのエイリアスデータベースは、ファイル I</etc/aliases> である。 これ"
3731 "は I</etc/nsswitch.conf> ファイルで変更できる。"
3732
3733 #. type: Plain text
3734 #: build/C/man3/setaliasent.3:104
3735 msgid ""
3736 "These routines are glibc-specific.  The NeXT system has similar routines:"
3737 msgstr ""
3738 "このルーチンは glibc 固有のものである。 NeXT システムには同様のルーチンがあ"
3739 "る。"
3740
3741 #. type: Plain text
3742 #: build/C/man3/setaliasent.3:108
3743 #, no-wrap
3744 msgid "#include E<lt>aliasdb.hE<gt>\n"
3745 msgstr "#include E<lt>aliasdb.hE<gt>\n"
3746
3747 #. type: Plain text
3748 #: build/C/man3/setaliasent.3:113
3749 #, no-wrap
3750 msgid ""
3751 "void alias_setent(void);\n"
3752 "void alias_endent(void);\n"
3753 "alias_ent *alias_getent(void);\n"
3754 "alias_ent *alias_getbyname(char *name);\n"
3755 msgstr ""
3756 "void alias_setent(void);\n"
3757 "void alias_endent(void);\n"
3758 "alias_ent *alias_getent(void);\n"
3759 "alias_ent *alias_getbyname(char *name);\n"
3760
3761 #. type: Plain text
3762 #: build/C/man3/setaliasent.3:119
3763 msgid ""
3764 "The following example compiles with I<gcc example.c -o example>.  It will "
3765 "dump all names in the alias database."
3766 msgstr ""
3767 "以下の例は I<gcc example.c -o example> でコンパイルできる。 これはエイリアス"
3768 "データベースにある全ての名前をダンプする。"
3769
3770 #. type: Plain text
3771 #: build/C/man3/setaliasent.3:125
3772 #, no-wrap
3773 msgid ""
3774 "#include E<lt>aliases.hE<gt>\n"
3775 "#include E<lt>stdio.hE<gt>\n"
3776 "#include E<lt>stdlib.hE<gt>\n"
3777 "#include E<lt>errno.hE<gt>\n"
3778 msgstr ""
3779 "#include E<lt>aliases.hE<gt>\n"
3780 "#include E<lt>stdio.hE<gt>\n"
3781 "#include E<lt>stdlib.hE<gt>\n"
3782 "#include E<lt>errno.hE<gt>\n"
3783
3784 #. type: Plain text
3785 #: build/C/man3/setaliasent.3:144
3786 #, no-wrap
3787 msgid ""
3788 "int\n"
3789 "main(void)\n"
3790 "{\n"
3791 "    struct aliasent *al;\n"
3792 "    setaliasent();\n"
3793 "    for (;;) {\n"
3794 "        al = getaliasent();\n"
3795 "        if (al == NULL)\n"
3796 "            break;\n"
3797 "        printf(\"Name: %s\\en\", al-E<gt>alias_name);\n"
3798 "    }\n"
3799 "    if (errno) {\n"
3800 "        perror(\"reading alias\");\n"
3801 "        exit(EXIT_FAILURE);\n"
3802 "    }\n"
3803 "    endaliasent();\n"
3804 "    exit(EXIT_SUCCESS);\n"
3805 "}\n"
3806 msgstr ""
3807 "int\n"
3808 "main(void)\n"
3809 "{\n"
3810 "    struct aliasent *al;\n"
3811 "    setaliasent();\n"
3812 "    for (;;) {\n"
3813 "        al = getaliasent();\n"
3814 "        if (al == NULL)\n"
3815 "            break;\n"
3816 "        printf(\"Name: %s\\en\", al-E<gt>alias_name);\n"
3817 "    }\n"
3818 "    if (errno) {\n"
3819 "        perror(\"reading alias\");\n"
3820 "        exit(EXIT_FAILURE);\n"
3821 "    }\n"
3822 "    endaliasent();\n"
3823 "    exit(EXIT_SUCCESS);\n"
3824
3825 #.  /etc/sendmail/aliases
3826 #.  Yellow Pages
3827 #.  newaliases, postalias
3828 #. type: Plain text
3829 #: build/C/man3/setaliasent.3:154
3830 msgid "B<getgrent>(3), B<getpwent>(3), B<getspent>(3), B<aliases>(5)"
3831 msgstr "B<getgrent>(3), B<getpwent>(3), B<getspent>(3), B<aliases>(5)"
3832
3833 #~ msgid "2008-07-10"
3834 #~ msgstr "2008-07-10"
3835
3836 #~ msgid "2012-04-23"
3837 #~ msgstr "2012-04-23"
3838
3839 #~ msgid ""
3840 #~ "The B<putpwent>()  function returns 0 on success, or -1 if an error "
3841 #~ "occurs."
3842 #~ msgstr ""
3843 #~ "B<putpwent>()  関数は、成功した場合は 0 を、エラーが発生した場合は -1 を返"
3844 #~ "す。"