OSDN Git Service

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