OSDN Git Service

LDP: Update POT and ja.po to LDP v3.68
[linuxjm/LDP_man-pages.git] / po4a / utmp / 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: 2014-06-08 01:30+0900\n"
10 "PO-Revision-Date: 2014-06-03 07:10+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/getutent.3:31
20 #, no-wrap
21 msgid "GETUTENT"
22 msgstr "GETUTENT"
23
24 #. type: TH
25 #: build/C/man3/getutent.3:31
26 #, fuzzy, no-wrap
27 #| msgid "2014-04-08"
28 msgid "2014-05-28"
29 msgstr "2014-04-08"
30
31 #. type: TH
32 #: build/C/man3/getutent.3:31 build/C/man3/getutmp.3:26
33 #: build/C/man3/login.3:25 build/C/man3/updwtmp.3:29 build/C/man5/utmp.5:30
34 #, no-wrap
35 msgid "Linux Programmer's Manual"
36 msgstr "Linux Programmer's Manual"
37
38 #. type: SH
39 #: build/C/man3/getutent.3:32 build/C/man3/getutmp.3:27
40 #: build/C/man3/login.3:26 build/C/man3/updwtmp.3:30 build/C/man5/utmp.5:31
41 #, no-wrap
42 msgid "NAME"
43 msgstr "名前"
44
45 #. type: Plain text
46 #: build/C/man3/getutent.3:35
47 msgid ""
48 "getutent, getutid, getutline, pututline, setutent, endutent, utmpname - "
49 "access utmp file entries"
50 msgstr ""
51 "getutent, getutid, getutline, pututline, setutent, endutent, utmpname - utmp "
52 "ファイルのエントリにアクセスする"
53
54 #. type: SH
55 #: build/C/man3/getutent.3:35 build/C/man3/getutmp.3:29
56 #: build/C/man3/login.3:28 build/C/man3/updwtmp.3:32 build/C/man5/utmp.5:33
57 #, no-wrap
58 msgid "SYNOPSIS"
59 msgstr "書式"
60
61 #. type: Plain text
62 #: build/C/man3/getutent.3:37 build/C/man3/login.3:30 build/C/man5/utmp.5:35
63 msgid "B<#include E<lt>utmp.hE<gt>>"
64 msgstr "B<#include E<lt>utmp.hE<gt>>"
65
66 #. type: Plain text
67 #: build/C/man3/getutent.3:39
68 msgid "B<struct utmp *getutent(void);>"
69 msgstr "B<struct utmp *getutent(void);>"
70
71 #. type: Plain text
72 #: build/C/man3/getutent.3:41
73 #, fuzzy
74 #| msgid "B<struct utmp *getutid(struct utmp *>I<ut>B<);>"
75 msgid "B<struct utmp *getutid(const struct utmp *>I<ut>B<);>"
76 msgstr "B<struct utmp *getutid(struct utmp *>I<ut>B<);>"
77
78 #. type: Plain text
79 #: build/C/man3/getutent.3:43
80 #, fuzzy
81 #| msgid "B<struct utmp *getutline(struct utmp *>I<ut>B<);>"
82 msgid "B<struct utmp *getutline(const struct utmp *>I<ut>B<);>"
83 msgstr "B<struct utmp *getutline(struct utmp *>I<ut>B<);>"
84
85 #. type: Plain text
86 #: build/C/man3/getutent.3:45
87 #, fuzzy
88 #| msgid "B<struct utmp *pututline(struct utmp *>I<ut>B<);>"
89 msgid "B<struct utmp *pututline(const struct utmp *>I<ut>B<);>"
90 msgstr "B<struct utmp *pututline(struct utmp *>I<ut>B<);>"
91
92 #. type: Plain text
93 #: build/C/man3/getutent.3:47
94 msgid "B<void setutent(void);>"
95 msgstr "B<void setutent(void);>"
96
97 #. type: Plain text
98 #: build/C/man3/getutent.3:49
99 msgid "B<void endutent(void);>"
100 msgstr "B<void endutent(void);>"
101
102 #. type: Plain text
103 #: build/C/man3/getutent.3:51
104 msgid "B<int utmpname(const char *>I<file>B<);>"
105 msgstr "B<int utmpname(const char *>I<file>B<);>"
106
107 #. type: SH
108 #: build/C/man3/getutent.3:51 build/C/man3/getutmp.3:37
109 #: build/C/man3/login.3:36 build/C/man3/updwtmp.3:41 build/C/man5/utmp.5:35
110 #, no-wrap
111 msgid "DESCRIPTION"
112 msgstr "説明"
113
114 #. type: Plain text
115 #: build/C/man3/getutent.3:54
116 msgid ""
117 "New applications should use the POSIX.1-specified \"utmpx\" versions of "
118 "these functions; see CONFORMING TO."
119 msgstr ""
120 "新しいアプリケーションでは、これらの関数の \"utmpx\" 版を使用すべきである。 "
121 "これらは POSIX.1 で規定されている。「準拠」の節を参照。"
122
123 #. type: Plain text
124 #: build/C/man3/getutent.3:63
125 msgid ""
126 "B<utmpname>()  sets the name of the utmp-format file for the other utmp "
127 "functions to access.  If B<utmpname>()  is not used to set the filename "
128 "before the other functions are used, they assume B<_PATH_UTMP>, as defined "
129 "in I<E<lt>paths.hE<gt>>."
130 msgstr ""
131 "B<utmpname>()  は、他の utmp 関数がアクセスする (utmp フォーマットの)  ファイ"
132 "ルの名前を指定する。他の関数を使う前に B<utmpname>()  を使って ファイル名の指"
133 "定を行わなかった場合は、 I<E<lt>path.hE<gt>> で 定義されている B<_PATH_UTMP> "
134 "がファイル名とみなされる。"
135
136 #. type: Plain text
137 #: build/C/man3/getutent.3:68
138 msgid ""
139 "B<setutent>()  rewinds the file pointer to the beginning of the utmp file.  "
140 "It is generally a good idea to call it before any of the other functions."
141 msgstr ""
142 "B<setutent>()  は、ファイルポインタを utmp ファイルの先頭に移動する。 一般的"
143 "には、他の関数を使う前にこの関数を呼び出しておくと良いだろう。"
144
145 #. type: Plain text
146 #: build/C/man3/getutent.3:73
147 msgid ""
148 "B<endutent>()  closes the utmp file.  It should be called when the user code "
149 "is done accessing the file with the other functions."
150 msgstr ""
151 "B<endutent>()  は utmp ファイルをクローズする。ユーザーコードで 他の関数を"
152 "使ってこのファイルにアクセスを行った時は、最後にこの関数を 呼び出すべきであ"
153 "る。"
154
155 #. type: Plain text
156 #: build/C/man3/getutent.3:80
157 msgid ""
158 "B<getutent>()  reads a line from the current file position in the utmp "
159 "file.  It returns a pointer to a structure containing the fields of the "
160 "line.  The definition of this structure is shown in B<utmp>(5)."
161 msgstr ""
162 "B<getutent>()  は utmp ファイルの現在のファイル位置から一行読み込み、 行の各"
163 "フィールドの内容を収めた構造体へのポインタを返す。 この構造体の定義は "
164 "B<utmp>(5)  に書かれている。"
165
166 #. type: Plain text
167 #: build/C/man3/getutent.3:96
168 msgid ""
169 "B<getutid>()  searches forward from the current file position in the utmp "
170 "file based upon I<ut>.  If I<ut-E<gt>ut_type> is one of B<RUN_LVL>, "
171 "B<BOOT_TIME>, B<NEW_TIME>, or B<OLD_TIME>, B<getutid>()  will find the first "
172 "entry whose I<ut_type> field matches I<ut-E<gt>ut_type>.  If I<ut-"
173 "E<gt>ut_type> is one of B<INIT_PROCESS>, B<LOGIN_PROCESS>, B<USER_PROCESS>, "
174 "or B<DEAD_PROCESS>, B<getutid>()  will find the first entry whose I<ut_id> "
175 "field matches I<ut-E<gt>ut_id>."
176 msgstr ""
177 "B<getutid>()  は、 utmp ファイル中の現在の位置から順方向 (末尾に向かう方向) "
178 "へ I<ut> に基く検索を行う。 I<ut>-E<gt>ut_type が B<RUN_LVL>, B<BOOT_TIME>, "
179 "B<NEW_TIME>, B<OLD_TIME> の いずれかなら、 B<getutid>()  は B<ut_type> フィー"
180 "ルドが I<ut>-E<gt>ut_type に一致する最初のエントリを探す。 I<ut>-"
181 "E<gt>ut_type が B<INIT_PROCESS>, B<LOGIN_PROCESS>, B<USER_PROCESS>, "
182 "B<DEAD_PROCESS> のいずれかなら、 B<getutid>()  は I<ut_id> フィールドが "
183 "I<ut>-E<gt>ut_id に 一致する最初のエントリを探す。"
184
185 #. type: Plain text
186 #: build/C/man3/getutent.3:106
187 msgid ""
188 "B<getutline>()  searches forward from the current file position in the utmp "
189 "file.  It scans entries whose I<ut_type> is B<USER_PROCESS> or "
190 "B<LOGIN_PROCESS> and returns the first one whose I<ut_line> field matches "
191 "I<ut-E<gt>ut_line>."
192 msgstr ""
193 "B<getutline>()  は、 utmp ファイルの現在の位置から末尾に向かって検索を行う。 "
194 "I<ut_type> が B<USER_PROCESS> または B<LOGIN_PROCESS> で、 I<ut_line> フィー"
195 "ルドが I<ut>-E<gt>ut_line にマッチする最初の行を返す。"
196
197 #. type: Plain text
198 #: build/C/man3/getutent.3:118
199 msgid ""
200 "B<pututline>()  writes the I<utmp> structure I<ut> into the utmp file.  It "
201 "uses B<getutid>()  to search for the proper place in the file to insert the "
202 "new entry.  If it cannot find an appropriate slot for I<ut>, B<pututline>()  "
203 "will append the new entry to the end of the file."
204 msgstr ""
205 "B<pututline>()  は I<utmp> 構造体 I<ut> の内容を utmp ファイルに書き出す。 "
206 "B<pututline>()  は B<getutid>()  を用いて、新たなエントリを 挿入するのにふさ"
207 "わしい場所を探す。 I<ut> を挿入するふさわしい場所が 見つからない場合は、新た"
208 "なエントリをファイルの末尾に追加する。"
209
210 #. type: SH
211 #: build/C/man3/getutent.3:118 build/C/man3/getutmp.3:51
212 #: build/C/man3/login.3:94
213 #, no-wrap
214 msgid "RETURN VALUE"
215 msgstr "返り値"
216
217 #. type: Plain text
218 #: build/C/man3/getutent.3:127
219 msgid ""
220 "B<getutent>(), B<getutid>(), and B<getutline>()  return a pointer to a "
221 "I<struct utmp> on success, and NULL on failure (which includes the \"record "
222 "not found\" case).  This I<struct utmp> is allocated in static storage, and "
223 "may be overwritten by subsequent calls."
224 msgstr ""
225 "B<getutent>(), B<getutid>(), B<getutline>()  は、成功すると I<struct utmp> へ"
226 "のポインタを返す。 失敗すると NULL を返す (レコードが見つからなかった場合も失"
227 "敗となる)。 この I<struct utmp> は静的な記憶領域に確保され、次にこれらの関数"
228 "を 呼び出した際に上書きされるかもしれない。"
229
230 #. type: Plain text
231 #: build/C/man3/getutent.3:133
232 msgid "On success B<pututline>()  returns I<ut>; on failure, it returns NULL."
233 msgstr "B<pututline>()  は成功すると I<ut> を返す。失敗すると NULL を返す。"
234
235 #. type: Plain text
236 #: build/C/man3/getutent.3:136
237 msgid ""
238 "B<utmpname>()  returns 0 if the new name was successfully stored, or -1 on "
239 "failure."
240 msgstr ""
241 "B<utmpname>()  は、新しい名前の格納に成功すると 0 を返し、失敗すると -1 を返"
242 "す。"
243
244 #. type: Plain text
245 #: build/C/man3/getutent.3:140
246 msgid ""
247 "In the event of an error, these functions I<errno> set to indicate the cause."
248 msgstr ""
249 "エラーが発生した場合、これらの関数は I<errno> にエラーの原因を示す値を設定す"
250 "る。"
251
252 #. type: SH
253 #: build/C/man3/getutent.3:140
254 #, no-wrap
255 msgid "ERRORS"
256 msgstr "エラー"
257
258 #. type: TP
259 #: build/C/man3/getutent.3:141
260 #, no-wrap
261 msgid "B<ENOMEM>"
262 msgstr "B<ENOMEM>"
263
264 #. type: Plain text
265 #: build/C/man3/getutent.3:144
266 msgid "Out of memory."
267 msgstr "メモリ不足。"
268
269 #. type: TP
270 #: build/C/man3/getutent.3:144
271 #, no-wrap
272 msgid "B<ESRCH>"
273 msgstr "B<ESRCH>"
274
275 #. type: Plain text
276 #: build/C/man3/getutent.3:147
277 msgid "Record not found."
278 msgstr "レコードが見つからなかった。"
279
280 #. type: Plain text
281 #: build/C/man3/getutent.3:154
282 msgid ""
283 "B<setutent>(), B<pututline>(), and the B<getut*>()  functions can also fail "
284 "for the reasons described in B<open>(2)."
285 msgstr ""
286 "関数 B<setutent>(), B<pututline>(), B<getut*>()  は B<open>(2)  に書かれてい"
287 "る理由でも失敗することがある。"
288
289 #. type: SH
290 #: build/C/man3/getutent.3:154 build/C/man3/login.3:99
291 #: build/C/man3/updwtmp.3:54 build/C/man5/utmp.5:224
292 #, no-wrap
293 msgid "FILES"
294 msgstr "ファイル"
295
296 #. type: Plain text
297 #: build/C/man3/getutent.3:156
298 msgid "/var/run/utmp\tdatabase of currently logged-in users"
299 msgstr "/var/run/utmp 現在ログイン中のユーザーのデータベース"
300
301 #. type: Plain text
302 #: build/C/man3/getutent.3:158
303 msgid "/var/log/wtmp\tdatabase of past user logins"
304 msgstr "/var/log/wtmp 過去のユーザーログインのデータベース"
305
306 #. type: SH
307 #: build/C/man3/getutent.3:158 build/C/man3/getutmp.3:62
308 #: build/C/man3/login.3:112 build/C/man3/updwtmp.3:58 build/C/man5/utmp.5:228
309 #, no-wrap
310 msgid "CONFORMING TO"
311 msgstr "準拠"
312
313 #. type: Plain text
314 #: build/C/man3/getutent.3:160
315 msgid "XPG2, SVr4."
316 msgstr "XPG2, SVr4."
317
318 #. type: Plain text
319 #: build/C/man3/getutent.3:170
320 msgid ""
321 "In XPG2 and SVID 2 the function B<pututline>()  is documented to return "
322 "void, and that is what it does on many systems (AIX, HP-UX, Linux libc5).  "
323 "HP-UX introduces a new function B<_pututline>()  with the prototype given "
324 "above for B<pututline>()  (also found in Linux libc5)."
325 msgstr ""
326 "XPG2 と SVID 2 では、 B<pututline>()  関数は値を返さないとされており、 (AIX, "
327 "HP-UX, Linux libc5 などの) 多くのシステムではそうなっている。 HP-UX では、上"
328 "述の B<pututline>()  と同じプロトタイプを持つ 新しい関数 B<_pututline>()  が"
329 "導入されている (この関数は Linux libc5 にもある)。"
330
331 #. type: Plain text
332 #: build/C/man3/getutent.3:174
333 msgid ""
334 "All these functions are obsolete now on non-Linux systems.  POSIX.1-2001, "
335 "following SUSv1, does not have any of these functions, but instead uses"
336 msgstr ""
337 "現在では、Linux 以外のシステムでは、これらの関数は全て廃止されている。 SUSv1 "
338 "の後に出てきた POSIX.1-2001 では、もはやこれらの関数はなく、 代わりに以下のも"
339 "のを使う。"
340
341 #. type: Plain text
342 #: build/C/man3/getutent.3:176
343 msgid "B<#include E<lt>utmpx.hE<gt>>"
344 msgstr "B<#include E<lt>utmpx.hE<gt>>"
345
346 #. type: Plain text
347 #: build/C/man3/getutent.3:178
348 msgid "B<struct utmpx *getutxent(void);>"
349 msgstr "B<struct utmpx *getutxent(void);>"
350
351 #. type: Plain text
352 #: build/C/man3/getutent.3:180
353 msgid "B<struct utmpx *getutxid(const struct utmpx *);>"
354 msgstr "B<struct utmpx *getutxid(const struct utmpx *);>"
355
356 #. type: Plain text
357 #: build/C/man3/getutent.3:182
358 msgid "B<struct utmpx *getutxline(const struct utmpx *);>"
359 msgstr "B<struct utmpx *getutxline(const struct utmpx *);>"
360
361 #. type: Plain text
362 #: build/C/man3/getutent.3:184
363 msgid "B<struct utmpx *pututxline(const struct utmpx *);>"
364 msgstr "B<struct utmpx *pututxline(const struct utmpx *);>"
365
366 #. type: Plain text
367 #: build/C/man3/getutent.3:186
368 msgid "B<void setutxent(void);>"
369 msgstr "B<void setutxent(void);>"
370
371 #. type: Plain text
372 #: build/C/man3/getutent.3:188
373 msgid "B<void endutxent(void);>"
374 msgstr "B<void endutxent(void);>"
375
376 #. type: Plain text
377 #: build/C/man3/getutent.3:197
378 msgid ""
379 "These functions are provided by glibc, and perform the same task as their "
380 "equivalents without the \"x\", but use I<struct utmpx>, defined on Linux to "
381 "be the same as I<struct utmp>.  For completeness, glibc also provides "
382 "B<utmpxname>(), although this function is not specified by POSIX.1."
383 msgstr ""
384 "これらの関数は glibc により提供されており、 \"x\" がない関数と同じ処理を行う"
385 "が、 I<struct utmpx> を使用する。 Linux では、この構造体の定義は I<struct "
386 "utmp> と同じになっている。 完全を期すために、glibc では B<utmpxname>()  も提"
387 "供している。この関数は POSIX.1 では規定されていない。"
388
389 #. type: Plain text
390 #: build/C/man3/getutent.3:205
391 msgid ""
392 "On some other systems, the I<utmpx> structure is a superset of the I<utmp> "
393 "structure, with additional fields, and larger versions of the existing "
394 "fields, and parallel files are maintained, often I</var/*/utmpx> and I</var/"
395 "*/wtmpx>."
396 msgstr ""
397 "Linux 以外のシステムでは、 I<utmpx> 構造体は I<utmp> 構造体の上位集合 "
398 "(superset) になっていて、 追加のフィールドがあったり、既存のフィールドのサイ"
399 "ズが大きくなっていたり するものもある。複数のファイルが使用されている場合もあ"
400 "り、多くの場合 I</var/*/utmpx> と I</var/*/wtmpx> というファイルが使われる。"
401
402 #. type: Plain text
403 #: build/C/man3/getutent.3:213
404 msgid ""
405 "Linux glibc on the other hand does not use a parallel I<utmpx> file since "
406 "its I<utmp> structure is already large enough.  The \"x\" functions listed "
407 "above are just aliases for their counterparts without the \"x\" (e.g., "
408 "B<getutxent>()  is an alias for B<getutent>())."
409 msgstr ""
410 "一方、 Linux glibc では複数の I<utmpx> ファイル は使われていない。\n"
411 "I<utmp> 構造体が十分に大きいからである。\n"
412 "上記の名前に \"x\" が付いた関数は \"x\" が付いていない対応する関数の別名と\n"
413 "なっている (例えば I<getutxent>() は I<getutent>() の別名である)。"
414
415 #. type: SH
416 #: build/C/man3/getutent.3:213 build/C/man3/getutmp.3:65
417 #: build/C/man3/login.3:115 build/C/man3/updwtmp.3:71 build/C/man5/utmp.5:280
418 #, no-wrap
419 msgid "NOTES"
420 msgstr "注意"
421
422 #. type: SS
423 #: build/C/man3/getutent.3:214
424 #, no-wrap
425 msgid "Glibc notes"
426 msgstr "glibc での注意"
427
428 #. type: Plain text
429 #: build/C/man3/getutent.3:217
430 msgid "The above functions are not thread-safe.  Glibc adds reentrant versions"
431 msgstr ""
432 "上記の関数群はスレッド・セーフではない。 glibc にはリエントラント版 "
433 "(reentrant) が追加されている。"
434
435 #. type: Plain text
436 #: build/C/man3/getutent.3:222
437 #, no-wrap
438 msgid ""
439 "B<#define _GNU_SOURCE>    /* or _SVID_SOURCE or _BSD_SOURCE;\n"
440 "\\&                          see B<feature_test_macros>(7) */\n"
441 "B<#include E<lt>utmp.hE<gt>>\n"
442 msgstr ""
443 "B<#define _GNU_SOURCE>    /* or _SVID_SOURCE or _BSD_SOURCE;\n"
444 "\\&                          B<feature_test_macros>(7) 参照 */\n"
445 "B<#include E<lt>utmp.hE<gt>>\n"
446
447 #. type: Plain text
448 #: build/C/man3/getutent.3:224
449 #, no-wrap
450 msgid "B<int getutent_r(struct utmp *>I<ubuf>B<, struct utmp **>I<ubufp>B<);>\n"
451 msgstr "B<int getutent_r(struct utmp *>I<ubuf>B<, struct utmp **>I<ubufp>B<);>\n"
452
453 #. type: Plain text
454 #: build/C/man3/getutent.3:227
455 #, no-wrap
456 msgid ""
457 "B<int getutid_r(struct utmp *>I<ut>B<,>\n"
458 "B<              struct utmp *>I<ubuf>B<, struct utmp **>I<ubufp>B<);>\n"
459 msgstr ""
460 "B<int getutid_r(struct utmp *>I<ut>B<,>\n"
461 "B<              struct utmp *>I<ubuf>B<, struct utmp **>I<ubufp>B<);>\n"
462
463 #. type: Plain text
464 #: build/C/man3/getutent.3:230
465 #, no-wrap
466 msgid ""
467 "B<int getutline_r(struct utmp *>I<ut>B<,>\n"
468 "B<                struct utmp *>I<ubuf>B<, struct utmp **>I<ubufp>B<);>\n"
469 msgstr ""
470 "B<int getutline_r(struct utmp *>I<ut>B<,>\n"
471 "B<                struct utmp *>I<ubuf>B<, struct utmp **>I<ubufp>B<);>\n"
472
473 #. type: Plain text
474 #: build/C/man3/getutent.3:242
475 msgid ""
476 "These functions are GNU extensions, analogs of the functions of the same "
477 "name without the _r suffix.  The I<ubuf> argument gives these functions a "
478 "place to store their result.  On success they return 0, and a pointer to the "
479 "result is written in I<*ubufp>.  On error, these functions return -1.  There "
480 "are no utmpx equivalents of the above functions.  (POSIX.1 does not specify "
481 "such functions.)"
482 msgstr ""
483 "これらの関数は GNU での拡張であり、末尾の _r をとった名前の関数と 同様の機能"
484 "を持つ。 I<ubuf> パラメータは結果を格納する場所を指定する。 成功すると 0 を返"
485 "し、結果へのポインタを I<*ubufp> に書き込む。エラーの場合 -1 を返す。 上記の"
486 "関数に対応する utmpx 版は存在しない (POSIX.1 ではこれらの関数を規定されていな"
487 "い)。"
488
489 #. type: SH
490 #: build/C/man3/getutent.3:242
491 #, no-wrap
492 msgid "EXAMPLE"
493 msgstr "例"
494
495 #. type: Plain text
496 #: build/C/man3/getutent.3:250
497 msgid ""
498 "The following example adds and removes a utmp record, assuming it is run "
499 "from within a pseudo terminal.  For usage in a real application, you should "
500 "check the return values of B<getpwuid>(3)  and B<ttyname>(3)."
501 msgstr ""
502 "以下の例では、 utmp のレコードの追加・削除を行っている。このコードは、 擬似端"
503 "末 (pseudo terminal) から実行されることを想定している。 実際のアプリケーショ"
504 "ンでは B<getpwuid>(3)  と B<ttyname>(3)  の戻り値を検査するべきである。"
505
506 #. type: Plain text
507 #: build/C/man3/getutent.3:257
508 #, no-wrap
509 msgid ""
510 "#include E<lt>string.hE<gt>\n"
511 "#include E<lt>stdlib.hE<gt>\n"
512 "#include E<lt>pwd.hE<gt>\n"
513 "#include E<lt>unistd.hE<gt>\n"
514 "#include E<lt>utmp.hE<gt>\n"
515 msgstr ""
516 "#include E<lt>string.hE<gt>\n"
517 "#include E<lt>stdlib.hE<gt>\n"
518 "#include E<lt>pwd.hE<gt>\n"
519 "#include E<lt>unistd.hE<gt>\n"
520 "#include E<lt>utmp.hE<gt>\n"
521
522 #. type: Plain text
523 #: build/C/man3/getutent.3:262
524 #, no-wrap
525 msgid ""
526 "int\n"
527 "main(int argc, char *argv[])\n"
528 "{\n"
529 "    struct utmp entry;\n"
530 msgstr ""
531 "int\n"
532 "main(int argc, char *argv[])\n"
533 "{\n"
534 "    struct utmp entry;\n"
535
536 #. type: Plain text
537 #: build/C/man3/getutent.3:264
538 #, no-wrap
539 msgid "    system(\"echo before adding entry:;who\");\n"
540 msgstr "    system(\"echo before adding entry:;who\");\n"
541
542 #. type: Plain text
543 #: build/C/man3/getutent.3:276
544 #, no-wrap
545 msgid ""
546 "    entry.ut_type = USER_PROCESS;\n"
547 "    entry.ut_pid = getpid();\n"
548 "    strcpy(entry.ut_line, ttyname(STDIN_FILENO) + strlen(\"/dev/\"));\n"
549 "    /* only correct for ptys named /dev/tty[pqr][0-9a-z] */\n"
550 "    strcpy(entry.ut_id, ttyname(STDIN_FILENO) + strlen(\"/dev/tty\"));\n"
551 "    time(&entry.ut_time);\n"
552 "    strcpy(entry.ut_user, getpwuid(getuid())-E<gt>pw_name);\n"
553 "    memset(entry.ut_host, 0, UT_HOSTSIZE);\n"
554 "    entry.ut_addr = 0;\n"
555 "    setutent();\n"
556 "    pututline(&entry);\n"
557 msgstr ""
558 "    entry.ut_type = USER_PROCESS;\n"
559 "    entry.ut_pid = getpid();\n"
560 "    strcpy(entry.ut_line, ttyname(STDIN_FILENO) + strlen(\"/dev/\"));\n"
561 "    /* only correct for ptys named /dev/tty[pqr][0-9a-z] */\n"
562 "    strcpy(entry.ut_id, ttyname(STDIN_FILENO) + strlen(\"/dev/tty\"));\n"
563 "    time(&entry.ut_time);\n"
564 "    strcpy(entry.ut_user, getpwuid(getuid())-E<gt>pw_name);\n"
565 "    memset(entry.ut_host, 0, UT_HOSTSIZE);\n"
566 "    entry.ut_addr = 0;\n"
567 "    setutent();\n"
568 "    pututline(&entry);\n"
569
570 #. type: Plain text
571 #: build/C/man3/getutent.3:278
572 #, no-wrap
573 msgid "    system(\"echo after adding entry:;who\");\n"
574 msgstr "    system(\"echo after adding entry:;who\");\n"
575
576 #. type: Plain text
577 #: build/C/man3/getutent.3:285
578 #, no-wrap
579 msgid ""
580 "    entry.ut_type = DEAD_PROCESS;\n"
581 "    memset(entry.ut_line, 0, UT_LINESIZE);\n"
582 "    entry.ut_time = 0;\n"
583 "    memset(entry.ut_user, 0, UT_NAMESIZE);\n"
584 "    setutent();\n"
585 "    pututline(&entry);\n"
586 msgstr ""
587 "    entry.ut_type = DEAD_PROCESS;\n"
588 "    memset(entry.ut_line, 0, UT_LINESIZE);\n"
589 "    entry.ut_time = 0;\n"
590 "    memset(entry.ut_user, 0, UT_NAMESIZE);\n"
591 "    setutent();\n"
592 "    pututline(&entry);\n"
593
594 #. type: Plain text
595 #: build/C/man3/getutent.3:287
596 #, no-wrap
597 msgid "    system(\"echo after removing entry:;who\");\n"
598 msgstr "    system(\"echo after removing entry:;who\");\n"
599
600 #. type: Plain text
601 #: build/C/man3/getutent.3:291
602 #, no-wrap
603 msgid ""
604 "    endutent();\n"
605 "    exit(EXIT_SUCCESS);\n"
606 "}\n"
607 msgstr ""
608 "    endutent();\n"
609 "    exit(EXIT_SUCCESS);\n"
610 "}\n"
611
612 #. type: SH
613 #: build/C/man3/getutent.3:292 build/C/man3/getutmp.3:76
614 #: build/C/man3/login.3:130 build/C/man3/updwtmp.3:87 build/C/man5/utmp.5:338
615 #, no-wrap
616 msgid "SEE ALSO"
617 msgstr "関連項目"
618
619 #. type: Plain text
620 #: build/C/man3/getutent.3:295
621 msgid "B<getutmp>(3), B<utmp>(5)"
622 msgstr "B<getutmp>(3), B<utmp>(5)"
623
624 #. type: SH
625 #: build/C/man3/getutent.3:295 build/C/man3/getutmp.3:80
626 #: build/C/man3/login.3:133 build/C/man3/updwtmp.3:90 build/C/man5/utmp.5:352
627 #, no-wrap
628 msgid "COLOPHON"
629 msgstr "この文書について"
630
631 #. type: Plain text
632 #: build/C/man3/getutent.3:303 build/C/man3/getutmp.3:88
633 #: build/C/man3/login.3:141 build/C/man3/updwtmp.3:98 build/C/man5/utmp.5:360
634 #, fuzzy
635 #| msgid ""
636 #| "This page is part of release 3.67 of the Linux I<man-pages> project.  A "
637 #| "description of the project, information about reporting bugs, and the "
638 #| "latest version of this page, can be found at \\%http://www.kernel.org/doc/"
639 #| "man-pages/."
640 msgid ""
641 "This page is part of release 3.68 of the Linux I<man-pages> project.  A "
642 "description of the project, information about reporting bugs, and the latest "
643 "version of this page, can be found at \\%http://www.kernel.org/doc/man-"
644 "pages/."
645 msgstr ""
646 "この man ページは Linux I<man-pages> プロジェクトのリリース 3.67 の一部\n"
647 "である。プロジェクトの説明とバグ報告に関する情報は\n"
648 "http://www.kernel.org/doc/man-pages/ に書かれている。"
649
650 #. type: TH
651 #: build/C/man3/getutmp.3:26
652 #, no-wrap
653 msgid "GETUTMP"
654 msgstr "GETUTMP"
655
656 #. type: TH
657 #: build/C/man3/getutmp.3:26
658 #, no-wrap
659 msgid "2014-04-08"
660 msgstr "2014-04-08"
661
662 #. type: TH
663 #: build/C/man3/getutmp.3:26 build/C/man5/utmp.5:30
664 #, no-wrap
665 msgid "Linux"
666 msgstr "Linux"
667
668 #. type: Plain text
669 #: build/C/man3/getutmp.3:29
670 msgid "getutmp, getutmpx - copy utmp structure to utmpx, and vice versa"
671 msgstr "getutmp, getutmpx - utmp 構造体から utmpx 構造体、その逆のコピーを行う"
672
673 #. type: Plain text
674 #: build/C/man3/getutmp.3:33
675 #, no-wrap
676 msgid ""
677 "B<#define _GNU_SOURCE>             /* See feature_test_macros(7) */\n"
678 "B<#include E<lt>utmpx.hE<gt>>\n"
679 msgstr ""
680 "B<#define _GNU_SOURCE>             /* feature_test_macros(7) 参照 */\n"
681 "B<#include E<lt>utmpx.hE<gt>>\n"
682
683 #. type: Plain text
684 #: build/C/man3/getutmp.3:36
685 #, no-wrap
686 msgid ""
687 "B< void getutmp(const struct utmpx *>I<ux>B<, struct utmp *>I<u>B<);>\n"
688 "B< void getutmpx(const struct utmp *>I<u>B<, struct utmpx *>I<ux>B<);>\n"
689 msgstr ""
690 "B< void getutmp(const struct utmpx *>I<ux>B<, struct utmp *>I<u>B<);>\n"
691 "B< void getutmpx(const struct utmp *>I<u>B<, struct utmpx *>I<ux>B<);>\n"
692
693 #. type: Plain text
694 #: build/C/man3/getutmp.3:51
695 msgid ""
696 "The B<getutmp>()  function copies the fields of the I<utmpx> structure "
697 "pointed to by I<ux> to the corresponding fields of the I<utmp> structure "
698 "pointed to by I<u>.  The B<getutmpx>()  function performs the converse "
699 "operation."
700 msgstr ""
701 "B<getutmp>() 関数は、 I<ux> が指す I<utmpx> 構造体の各フィールドを、\n"
702 "I<u> が指す I<utmp> 構造体の対応するフィールドにコピーする。\n"
703 "B<getutmpx>() 関数は逆の操作を行う。"
704
705 #. type: Plain text
706 #: build/C/man3/getutmp.3:53
707 msgid "These functions do not return a value."
708 msgstr "これらの関数は値を返さない。"
709
710 #. type: SH
711 #: build/C/man3/getutmp.3:53
712 #, no-wrap
713 msgid "VERSIONS"
714 msgstr "バージョン"
715
716 #. type: Plain text
717 #: build/C/man3/getutmp.3:55
718 msgid "These functions first appeared in glibc in version 2.1.1."
719 msgstr "これらの関数は glibc バージョン 2.1.1 で初めて登場した。"
720
721 #. type: SH
722 #: build/C/man3/getutmp.3:55
723 #, no-wrap
724 msgid "ATTRIBUTES"
725 msgstr "属性"
726
727 #. type: SS
728 #: build/C/man3/getutmp.3:56
729 #, no-wrap
730 msgid "Multithreading (see pthreads(7))"
731 msgstr "マルチスレッディング (pthreads(7) 参照)"
732
733 #. type: Plain text
734 #: build/C/man3/getutmp.3:62
735 msgid "The B<getutmp>()  and B<getutmpx>()  functions are thread-safe."
736 msgstr "関数 B<getutmp>() と B<getutmpx>() はスレッドセーフである。"
737
738 #. type: Plain text
739 #: build/C/man3/getutmp.3:65
740 msgid ""
741 "These functions are nonstandard, but appear on a few other systems, such as "
742 "Solaris and NetBSD."
743 msgstr ""
744 "これらの関数は非標準である。\n"
745 "Linux 以外にも、これらの関数が存在するシステムもいくつかある\n"
746 "(Solaris や NetBSD など)。"
747
748 #.  e.g., on Solaris, the utmpx structure is rather larger than utmp.
749 #. type: Plain text
750 #: build/C/man3/getutmp.3:76
751 msgid ""
752 "These functions exist primarily for compatibility with other systems where "
753 "the I<utmp> and I<utmpx> structures contain different fields, or the size of "
754 "corresponding fields differs.  On Linux, the two structures contain the same "
755 "fields, and the fields have the same sizes."
756 msgstr ""
757 "これらの関数が存在する一番の目的は、\n"
758 "I<utmp> 構造体と I<utmpx> 構造体が異なるフィールドを持たり、\n"
759 "対応するフィールドの大きさが異なっている、他のシステムとの\n"
760 "互換性のためである。\n"
761 "Linux では、これらの構造体は同じフィールドを持っており、\n"
762 "各フィールドのサイズも同じである。"
763
764 #. type: Plain text
765 #: build/C/man3/getutmp.3:80
766 msgid "B<utmpdump>(1), B<getutent>(3), B<utmp>(5)"
767 msgstr "B<utmpdump>(1), B<getutent>(3), B<utmp>(5)"
768
769 #. type: TH
770 #: build/C/man3/login.3:25
771 #, no-wrap
772 msgid "LOGIN"
773 msgstr "LOGIN"
774
775 #. type: TH
776 #: build/C/man3/login.3:25
777 #, no-wrap
778 msgid "2004-05-06"
779 msgstr "2004-05-06"
780
781 #. type: TH
782 #: build/C/man3/login.3:25 build/C/man3/updwtmp.3:29
783 #, no-wrap
784 msgid "GNU"
785 msgstr "GNU"
786
787 #. type: Plain text
788 #: build/C/man3/login.3:28
789 msgid "login, logout - write utmp and wtmp entries"
790 msgstr "login, logout - utmp と wtmp エントリを書き込む"
791
792 #. type: Plain text
793 #: build/C/man3/login.3:32
794 msgid "B<void login(const struct utmp *>I<ut>B<);>"
795 msgstr "B<void login(const struct utmp *>I<ut>B<);>"
796
797 #. type: Plain text
798 #: build/C/man3/login.3:34
799 msgid "B<int logout(const char *>I<ut_line>B<);>"
800 msgstr "B<int logout(const char *>I<ut_line>B<);>"
801
802 #. type: Plain text
803 #: build/C/man3/login.3:36
804 msgid "Link with I<-lutil>."
805 msgstr "I<-lutil> でリンクする。"
806
807 #. type: Plain text
808 #: build/C/man3/login.3:41
809 msgid ""
810 "The utmp file records who is currently using the system.  The wtmp file "
811 "records all logins and logouts.  See B<utmp>(5)."
812 msgstr ""
813 "utmp ファイルは現在システムを使用しているユーザを記録する。 wtmp ファイルはす"
814 "べてのログインとログアウトを記録する。 B<utmp>(5)  を参照すること。"
815
816 #. type: Plain text
817 #: build/C/man3/login.3:48
818 msgid ""
819 "The function B<login>()  takes the supplied I<struct utmp>, I<ut>, and "
820 "writes it to both the utmp and the wtmp file."
821 msgstr ""
822 "関数 B<login>()  は与えられた I<struct utmp> I<ut> を utmp と wtmp ファイルの"
823 "両方に書き込む。"
824
825 #. type: Plain text
826 #: build/C/man3/login.3:52
827 msgid "The function B<logout>()  clears the entry in the utmp file again."
828 msgstr "関数 B<logout>()  は utmp ファイルにあるエントリをクリアする。"
829
830 #. type: SS
831 #: build/C/man3/login.3:52
832 #, no-wrap
833 msgid "GNU details"
834 msgstr "GNU 版の詳細"
835
836 #. type: Plain text
837 #: build/C/man3/login.3:78
838 msgid ""
839 "More precisely, B<login>()  takes the argument I<ut> struct, fills the field "
840 "I<ut-E<gt>ut_type> (if there is such a field) with the value "
841 "B<USER_PROCESS>, and fills the field I<ut-E<gt>ut_pid> (if there is such a "
842 "field) with the process ID of the calling process.  Then it tries to fill "
843 "the field I<ut-E<gt>ut_line>.  It takes the first of I<stdin>, I<stdout>, "
844 "I<stderr> that is a terminal, and stores the corresponding pathname minus a "
845 "possible leading I</dev/> into this field, and then writes the struct to the "
846 "utmp file.  On the other hand, if no terminal name was found, this field is "
847 "filled with \"???\" and the struct is not written to the utmp file.  After "
848 "this, the struct is written to the wtmp file."
849 msgstr ""
850 "より正確には、 B<login>()  は引き数 I<ut> 構造体をとり、(もし存在するならば) "
851 "フィールド I<ut-E<gt>ut_type> を B<USER_PROCESS> という値にし、(もし存在する"
852 "ならば) フィールド I<ut-E<gt>ut_pid> を呼び出し元プロセスのプロセス ID の値に"
853 "する。 次にフィールド I<ut-E<gt>ut_line> の値を設定しようとする。 この関数"
854 "は、標準入力・標準出力・標準エラー出力の中から端末である最初のものをとり、対"
855 "応するパス名から先頭の I</dev/> を引いたものを このフィールドに格納して、この"
856 "構造体を utmp ファイルに書き込む。 一方、端末名が見つからない場合は、この"
857 "フィールドは \"???\" とされて、 この構造体は utmp ファイルに書き込まれない。 "
858 "その後にこの構造体は wtmp ファイルに書き込まれる。"
859
860 #. type: Plain text
861 #: build/C/man3/login.3:94
862 msgid ""
863 "The B<logout>()  function searches the utmp file for an entry matching the "
864 "I<ut_line> argument.  If a record is found, it is updated by zeroing out the "
865 "I<ut_name> and I<ut_host> fields, updating the I<ut_tv> timestamp field and "
866 "setting I<ut_type> (if there is such a field) to B<DEAD_PROCESS>."
867 msgstr ""
868 "B<logout>()  関数は utmp ファイルから I<ut_line> 引き数にマッチするエントリを"
869 "探す。 レコードが見つかった場合、 I<ut_name> と I<ut_host> フィールドをクリア"
870 "して、 I<ut_tv> タイムスタンプフィールドを更新し、 (もし存在するならば)  "
871 "I<ut_type> フィールドを B<DEAD_PROCESS> に更新する。"
872
873 #. type: Plain text
874 #: build/C/man3/login.3:99
875 msgid ""
876 "The B<logout>()  function returns 1 if the entry was successfully written to "
877 "the database, or 0 if an error occurred."
878 msgstr ""
879 "エントリをデータベースに書き込むのに成功した場合、 B<logout>()  関数は 1 を返"
880 "す。 またエラーが起こった場合、0 を返す。"
881
882 #. type: TP
883 #: build/C/man3/login.3:100
884 #, no-wrap
885 msgid "I</var/run/utmp>"
886 msgstr "I</var/run/utmp>"
887
888 #. type: Plain text
889 #: build/C/man3/login.3:106
890 msgid ""
891 "user accounting database, configured through B<_PATH_UTMP> in I<E<lt>paths."
892 "hE<gt>>"
893 msgstr ""
894 "ユーザアカウントデータベース。 I<E<lt>paths.hE<gt>> における B<_PATH_UTMP> で"
895 "設定されている。"
896
897 #. type: TP
898 #: build/C/man3/login.3:106 build/C/man3/updwtmp.3:55
899 #, no-wrap
900 msgid "I</var/log/wtmp>"
901 msgstr "I</var/log/wtmp>"
902
903 #. type: Plain text
904 #: build/C/man3/login.3:112
905 msgid ""
906 "user accounting log file, configured through B<_PATH_WTMP> in I<E<lt>paths."
907 "hE<gt>>"
908 msgstr ""
909 "ユーザアカウントログファイル。 I<E<lt>paths.hE<gt>> における B<_PATH_WTMP> で"
910 "設定されている。"
911
912 #. type: Plain text
913 #: build/C/man3/login.3:115
914 msgid "Not in POSIX.1-2001.  Present on the BSDs."
915 msgstr "POSIX.1-2001 にはない。 BSD 系に存在する。"
916
917 #. type: Plain text
918 #: build/C/man3/login.3:130
919 msgid ""
920 "Note that the member I<ut_user> of I<struct utmp> is called I<ut_name> in "
921 "BSD.  Therefore, I<ut_name> is defined as an alias for I<ut_user> in "
922 "I<E<lt>utmp.hE<gt>>."
923 msgstr ""
924 "I<struct utmp> のメンバ I<ut_user> は、BSD では I<ut_name> という名前である点"
925 "に注意すること。 そのため I<ut_name> は I<E<lt>utmp.hE<gt>> において "
926 "I<ut_user> のエイリアスとして定義されている。"
927
928 #. type: Plain text
929 #: build/C/man3/login.3:133
930 msgid "B<getutent>(3), B<utmp>(5)"
931 msgstr "B<getutent>(3), B<utmp>(5)"
932
933 #. type: TH
934 #: build/C/man3/updwtmp.3:29
935 #, no-wrap
936 msgid "UPDWTMP"
937 msgstr "UPDWTMP"
938
939 #. type: TH
940 #: build/C/man3/updwtmp.3:29
941 #, no-wrap
942 msgid "2008-07-02"
943 msgstr "2008-07-02"
944
945 #. type: Plain text
946 #: build/C/man3/updwtmp.3:32
947 msgid "updwtmp, logwtmp - append an entry to the wtmp file"
948 msgstr "updwtmp, logwtmp - wtmp ファイルにエントリを追加する"
949
950 #. type: Plain text
951 #: build/C/man3/updwtmp.3:35
952 #, no-wrap
953 msgid "B<#include E<lt>utmp.hE<gt>>\n"
954 msgstr "B<#include E<lt>utmp.hE<gt>>\n"
955
956 #. type: Plain text
957 #: build/C/man3/updwtmp.3:37
958 #, no-wrap
959 msgid "B<void updwtmp(const char *>I<wtmp_file>B<, const struct utmp *>I<ut>B<);>\n"
960 msgstr "B<void updwtmp(const char *>I<wtmp_file>B<, const struct utmp *>I<ut>B<);>\n"
961
962 #. type: Plain text
963 #: build/C/man3/updwtmp.3:40
964 #, no-wrap
965 msgid "B<void logwtmp(const char *>I<line>B<, const char *>I<name>B<, const char *>I<host>B<);>\n"
966 msgstr "B<void logwtmp(const char *>I<line>B<, const char *>I<name>B<, const char *>I<host>B<);>\n"
967
968 #. type: Plain text
969 #: build/C/man3/updwtmp.3:46
970 msgid "B<updwtmp>()  appends the utmp structure I<ut> to the wtmp file."
971 msgstr "B<updwtmp>()  は、utmp 構造体 I<ut> を wtmp ファイルに追加する。"
972
973 #. type: Plain text
974 #: build/C/man3/updwtmp.3:54
975 msgid ""
976 "B<logwtmp>()  constructs a utmp structure using I<line>, I<name>, I<host>, "
977 "current time and current process ID.  Then it calls B<updwtmp>()  to append "
978 "the structure to the wtmp file."
979 msgstr ""
980 "B<logwtmp>()  は、 I<line>, I<name>, I<host>, 現在時刻、現プロセスID から "
981 "utmp 構造体を作り、 B<updwtmp>()  を呼び出してその構造体を wtmp ファイルに追"
982 "加する。"
983
984 #. type: Plain text
985 #: build/C/man3/updwtmp.3:58
986 msgid "database of past user logins"
987 msgstr "ユーザログインの履歴データベース"
988
989 #. type: Plain text
990 #: build/C/man3/updwtmp.3:61
991 msgid ""
992 "Not in POSIX.1-2001.  Present on Solaris, NetBSD, and perhaps other systems."
993 msgstr ""
994 "POSIX.1-2001 にはない。 Solaris, NetBSD に存在し、おそらく他のシステムにもあ"
995 "るだろう。"
996
997 #. type: SH
998 #: build/C/man3/updwtmp.3:61
999 #, no-wrap
1000 msgid "AVAILABILITY"
1001 msgstr "利用可能な環境"
1002
1003 #. type: Plain text
1004 #: build/C/man3/updwtmp.3:71
1005 msgid ""
1006 "Both functions are available under glibc2, but not under libc5.  However, "
1007 "B<logwtmp>()  used to occur in the old libbsd.  These days, the "
1008 "B<logwtmp>()  function is included in libutil.  (Hence you'll need to add I<-"
1009 "lutil> to your compiler command line to get it.)"
1010 msgstr ""
1011 "glibc2 の下ではどちらの関数も利用可能である。 libc5 の下ではどちらも使えない"
1012 "が、 B<logwtmp>()  は古い libbsd にあった。 最近では、 B<logwtmp>()  関数は "
1013 "libutil に含まれている (したがって、この関数を使うためにはコンパイラのコマン"
1014 "ドラインに I<-lutil> を追加する必要がある)。"
1015
1016 #. type: Plain text
1017 #: build/C/man3/updwtmp.3:75
1018 msgid ""
1019 "For consistency with the other \"utmpx\" functions (see B<getutxent>(3)), "
1020 "glibc provides (since version 2.1):"
1021 msgstr ""
1022 "他の \"utmpx\" 関数群 (B<getutxent>(3)  参照) との一貫性のために、glibc (バー"
1023 "ジョン 2.1 以降) は以下の関数を 提供している:"
1024
1025 #. type: Plain text
1026 #: build/C/man3/updwtmp.3:78
1027 #, no-wrap
1028 msgid "B<#include E<lt>utmpx.hE<gt>>\n"
1029 msgstr "B<#include E<lt>utmpx.hE<gt>>\n"
1030
1031 #. type: Plain text
1032 #: build/C/man3/updwtmp.3:80
1033 #, no-wrap
1034 msgid "B<void updwtmpx (const char *>I<wtmpx_file>B<, const struct utmpx *>I<utx>B<);>\n"
1035 msgstr "B<void updwtmpx (const char *>I<wtmpx_file>B<, const struct utmpx *>I<utx>B<);>\n"
1036
1037 #. type: Plain text
1038 #: build/C/man3/updwtmp.3:87
1039 msgid ""
1040 "This function performs the same task as B<updwtmp>(), but differs in that it "
1041 "takes a I<utmpx> structure as its last argument."
1042 msgstr ""
1043 "この関数は B<updwtmp>()  と同じ作業を行うが、最後の引き数として I<utmpx> 構造"
1044 "体を取るところが異なる。"
1045
1046 #. type: Plain text
1047 #: build/C/man3/updwtmp.3:90
1048 msgid "B<getutxent>(3), B<wtmp>(5)"
1049 msgstr "B<getutxent>(3), B<wtmp>(5)"
1050
1051 #. type: TH
1052 #: build/C/man5/utmp.5:30
1053 #, no-wrap
1054 msgid "UTMP"
1055 msgstr "UTMP"
1056
1057 #. type: TH
1058 #: build/C/man5/utmp.5:30
1059 #, no-wrap
1060 msgid "2013-02-11"
1061 msgstr "2013-02-11"
1062
1063 #. type: Plain text
1064 #: build/C/man5/utmp.5:33
1065 msgid "utmp, wtmp - login records"
1066 msgstr "utmp, wtmp - ログイン記録"
1067
1068 #. type: Plain text
1069 #: build/C/man5/utmp.5:42
1070 msgid ""
1071 "The I<utmp> file allows one to discover information about who is currently "
1072 "using the system.  There may be more users currently using the system, "
1073 "because not all programs use utmp logging."
1074 msgstr ""
1075 "I<utmp> ファイルを見ることで、現在誰がシステムを使っているかという情報 が得ら"
1076 "れる。ただすべてのプログラムが utmp ファイルを 更新しているわけではないので、"
1077 "実際にはそれ以上のユーザーが システムを使っている可能性がある。"
1078
1079 #. type: Plain text
1080 #: build/C/man5/utmp.5:52
1081 msgid ""
1082 "B<Warning:> I<utmp> must not be writable by the user class \"other\", "
1083 "because many system programs (foolishly)  depend on its integrity.  You risk "
1084 "faked system logfiles and modifications of system files if you leave I<utmp> "
1085 "writable to any user other than the owner and group owner of the file."
1086 msgstr ""
1087 "B<警告:> (愚かにも) 多くのシステムプログラムがその整合性に依存しているので、 "
1088 "I<utmp> ファイルは \"other\" に分類されるユーザに対して 書き込み可能にしては"
1089 "ならない。 ファイルの所有者とグループオーナー以外のユーザに対して I<utmp> "
1090 "ファイルを書き込み可能な状態にしておくと、 システムのログファイルを偽造された"
1091 "り、システムファイルの 改ざんを受けるといったリスクを犯すことになる。"
1092
1093 #. type: Plain text
1094 #: build/C/man5/utmp.5:60
1095 msgid ""
1096 "The file is a sequence of I<utmp> structures, declared as follows in "
1097 "I<E<lt>utmp.hE<gt>> (note that this is only one of several definitions "
1098 "around; details depend on the version of libc):"
1099 msgstr ""
1100 "このファイルは I<utmp> 構造体の繰り返しで構成される。 この構造体は "
1101 "I<E<lt>utmp.hE<gt>> で以下のように定義されている (ここに記述してあるのは幾つ"
1102 "かの大まかな定義のみで、 詳細は libc のバージョンにより変わることに注意が必要"
1103 "である)。"
1104
1105 #. type: Plain text
1106 #: build/C/man5/utmp.5:64
1107 #, no-wrap
1108 msgid "/* Values for ut_type field, below */\n"
1109 msgstr "/* Values for ut_type field, below */\n"
1110
1111 #. type: Plain text
1112 #: build/C/man5/utmp.5:79
1113 #, no-wrap
1114 msgid ""
1115 "#define EMPTY         0 /* Record does not contain valid info\n"
1116 "                           (formerly known as UT_UNKNOWN on Linux) */\n"
1117 "#define RUN_LVL       1 /* Change in system run-level (see\n"
1118 "                           B<init>(8)) */\n"
1119 "#define BOOT_TIME     2 /* Time of system boot (in I<ut_tv>) */\n"
1120 "#define NEW_TIME      3 /* Time after system clock change\n"
1121 "                           (in I<ut_tv>) */\n"
1122 "#define OLD_TIME      4 /* Time before system clock change\n"
1123 "                           (in I<ut_tv>) */\n"
1124 "#define INIT_PROCESS  5 /* Process spawned by B<init>(8) */\n"
1125 "#define LOGIN_PROCESS 6 /* Session leader process for user login */\n"
1126 "#define USER_PROCESS  7 /* Normal process */\n"
1127 "#define DEAD_PROCESS  8 /* Terminated process */\n"
1128 "#define ACCOUNTING    9 /* Not implemented */\n"
1129 msgstr ""
1130 "#define EMPTY         0 /* Record does not contain valid info\n"
1131 "                           (formerly known as UT_UNKNOWN on Linux) */\n"
1132 "#define RUN_LVL       1 /* Change in system run-level (see\n"
1133 "                           B<init>(8)) */\n"
1134 "#define BOOT_TIME     2 /* Time of system boot (in I<ut_tv>) */\n"
1135 "#define NEW_TIME      3 /* Time after system clock change\n"
1136 "                           (in I<ut_tv>) */\n"
1137 "#define OLD_TIME      4 /* Time before system clock change\n"
1138 "                           (in I<ut_tv>) */\n"
1139 "#define INIT_PROCESS  5 /* Process spawned by B<init>(8) */\n"
1140 "#define LOGIN_PROCESS 6 /* Session leader process for user login */\n"
1141 "#define USER_PROCESS  7 /* Normal process */\n"
1142 "#define DEAD_PROCESS  8 /* Terminated process */\n"
1143 "#define ACCOUNTING    9 /* Not implemented */\n"
1144
1145 #. type: Plain text
1146 #: build/C/man5/utmp.5:83
1147 #, no-wrap
1148 msgid ""
1149 "#define UT_LINESIZE      32\n"
1150 "#define UT_NAMESIZE      32\n"
1151 "#define UT_HOSTSIZE     256\n"
1152 msgstr ""
1153 "#define UT_LINESIZE      32\n"
1154 "#define UT_NAMESIZE      32\n"
1155 "#define UT_HOSTSIZE     256\n"
1156
1157 #. type: Plain text
1158 #: build/C/man5/utmp.5:88
1159 #, no-wrap
1160 msgid ""
1161 "struct exit_status {              /* Type for ut_exit, below */\n"
1162 "    short int e_termination;      /* Process termination status */\n"
1163 "    short int e_exit;             /* Process exit status */\n"
1164 "};\n"
1165 msgstr ""
1166 "struct exit_status {              /* Type for ut_exit, below */\n"
1167 "    short int e_termination;      /* Process termination status */\n"
1168 "    short int e_exit;             /* Process exit status */\n"
1169 "};\n"
1170
1171 #. type: Plain text
1172 #: build/C/man5/utmp.5:116
1173 #, no-wrap
1174 msgid ""
1175 "struct utmp {\n"
1176 "    short   ut_type;              /* Type of record */\n"
1177 "    pid_t   ut_pid;               /* PID of login process */\n"
1178 "    char    ut_line[UT_LINESIZE]; /* Device name of tty - \"/dev/\" */\n"
1179 "    char    ut_id[4];             /* Terminal name suffix,\n"
1180 "                                     or inittab(5) ID */\n"
1181 "    char    ut_user[UT_NAMESIZE]; /* Username */\n"
1182 "    char    ut_host[UT_HOSTSIZE]; /* Hostname for remote login, or\n"
1183 "                                     kernel version for run-level\n"
1184 "                                     messages */\n"
1185 "    struct  exit_status ut_exit;  /* Exit status of a process\n"
1186 "                                     marked as DEAD_PROCESS; not\n"
1187 "                                     used by Linux init(8) */\n"
1188 "    /* The ut_session and ut_tv fields must be the same size when\n"
1189 "       compiled 32- and 64-bit.  This allows data files and shared\n"
1190 "       memory to be shared between 32- and 64-bit applications. */\n"
1191 "#if __WORDSIZE == 64 && defined __WORDSIZE_COMPAT32\n"
1192 "    int32_t ut_session;           /* Session ID (B<getsid>(2)),\n"
1193 "                                     used for windowing */\n"
1194 "    struct {\n"
1195 "        int32_t tv_sec;           /* Seconds */\n"
1196 "        int32_t tv_usec;          /* Microseconds */\n"
1197 "    } ut_tv;                      /* Time entry was made */\n"
1198 "#else\n"
1199 "     long   ut_session;           /* Session ID */\n"
1200 "     struct timeval ut_tv;        /* Time entry was made */\n"
1201 "#endif\n"
1202 msgstr ""
1203 "struct utmp {\n"
1204 "    short   ut_type;              /* Type of record */\n"
1205 "    pid_t   ut_pid;               /* PID of login process */\n"
1206 "    char    ut_line[UT_LINESIZE]; /* Device name of tty - \"/dev/\" */\n"
1207 "    char    ut_id[4];             /* Terminal name suffix,\n"
1208 "                                     or inittab(5) ID */\n"
1209 "    char    ut_user[UT_NAMESIZE]; /* Username */\n"
1210 "    char    ut_host[UT_HOSTSIZE]; /* Hostname for remote login, or\n"
1211 "                                     kernel version for run-level\n"
1212 "                                     messages */\n"
1213 "    struct  exit_status ut_exit;  /* Exit status of a process\n"
1214 "                                     marked as DEAD_PROCESS; not\n"
1215 "                                     used by Linux init(8) */\n"
1216 "    /* ut_session と ut_tv フィールドは、32ビットでコンパイルされた場合と\n"
1217 "       64ビットでコンパイルされた場合で同じサイズでなければならない。\n"
1218 "       こうすることで、32ビットと64ビットのアプリケーションで、\n"
1219 "       データファイルと共有メモリを共有することができるようになる。 */\n"
1220 "#if __WORDSIZE == 64 && defined __WORDSIZE_COMPAT32\n"
1221 "    int32_t ut_session;           /* Session ID (B<getsid>(2)),\n"
1222 "                                     used for windowing */\n"
1223 "    struct {\n"
1224 "        int32_t tv_sec;           /* Seconds */\n"
1225 "        int32_t tv_usec;          /* Microseconds */\n"
1226 "    } ut_tv;                      /* Time entry was made */\n"
1227 "#else\n"
1228 "     long   ut_session;           /* Session ID */\n"
1229 "     struct timeval ut_tv;        /* Time entry was made */\n"
1230 "#endif\n"
1231
1232 #. type: Plain text
1233 #: build/C/man5/utmp.5:122
1234 #, no-wrap
1235 msgid ""
1236 "    int32_t ut_addr_v6[4];        /* Internet address of remote\n"
1237 "                                     host; IPv4 address uses\n"
1238 "                                     just ut_addr_v6[0] */\n"
1239 "    char __unused[20];            /* Reserved for future use */\n"
1240 "};\n"
1241 msgstr ""
1242 "    int32_t ut_addr_v6[4];        /* Internet address of remote\n"
1243 "                                     host; IPv4 address uses\n"
1244 "                                     just ut_addr_v6[0] */\n"
1245 "    char __unused[20];            /* Reserved for future use */\n"
1246 "};\n"
1247
1248 #. type: Plain text
1249 #: build/C/man5/utmp.5:130
1250 #, no-wrap
1251 msgid ""
1252 "/* Backward compatibility hacks */\n"
1253 "#define ut_name ut_user\n"
1254 "#ifndef _NO_UT_TIME\n"
1255 "#define ut_time ut_tv.tv_sec\n"
1256 "#endif\n"
1257 "#define ut_xtime ut_tv.tv_sec\n"
1258 "#define ut_addr ut_addr_v6[0]\n"
1259 msgstr ""
1260 "/* Backward compatibility hacks */\n"
1261 "#define ut_name ut_user\n"
1262 "#ifndef _NO_UT_TIME\n"
1263 "#define ut_time ut_tv.tv_sec\n"
1264 "#endif\n"
1265 "#define ut_xtime ut_tv.tv_sec\n"
1266 "#define ut_addr ut_addr_v6[0]\n"
1267
1268 #. type: Plain text
1269 #: build/C/man5/utmp.5:140
1270 msgid ""
1271 "This structure gives the name of the special file associated with the user's "
1272 "terminal, the user's login name, and the time of login in the form of "
1273 "B<time>(2).  String fields are terminated by a null byte (\\(aq\\e0\\(aq)  "
1274 "if they are shorter than the size of the field."
1275 msgstr ""
1276 "この構造体からユーザーの使っている端末のスペシャルファイル名、 ユーザーのログ"
1277 "イン名、 (B<time>(2)  形式での)ログイン時刻がわかる。文字列フィールドは、 "
1278 "フィールドの長さより文字列が短い場合には、ヌルバイト (\\(aq\\e0\\(aq) によっ"
1279 "て終端される。"
1280
1281 #. type: Plain text
1282 #: build/C/man5/utmp.5:157
1283 msgid ""
1284 "The first entries ever created result from B<init>(8)  processing "
1285 "B<inittab>(5).  Before an entry is processed, though, B<init>(8)  cleans up "
1286 "utmp by setting I<ut_type> to B<DEAD_PROCESS>, clearing I<ut_user>, "
1287 "I<ut_host>, and I<ut_time> with null bytes for each record which I<ut_type> "
1288 "is not B<DEAD_PROCESS> or B<RUN_LVL> and where no process with PID I<ut_pid> "
1289 "exists.  If no empty record with the needed I<ut_id> can be found, "
1290 "B<init>(8)  creates a new one.  It sets I<ut_id> from the inittab, I<ut_pid> "
1291 "and I<ut_time> to the current values, and I<ut_type> to B<INIT_PROCESS>."
1292 msgstr ""
1293 "最初のエントリは B<init>(8)  コマンドが B<inittab>(5)  を処理することで作られ"
1294 "る。 あるエントリを処理する前に、 B<init>(8)  は I<ut_type> を "
1295 "B<DEAD_PROCESS> に初期化する。 レコードの I<ut_type> が B<DEAD_PROCESS> と "
1296 "B<RUN_LVL> のいずれでもなく、 かつ PID が I<ut_pid> であるプロセスがいない場"
1297 "合は、I<ut_user>, I<ut_host>, I<ut_time> をヌルバイトでクリアして初期化を行"
1298 "う。 必要な I<ut_id> を持つ空のレコードを見つけられなかった場合、 "
1299 "B<init>(8)  は新しいレコードを作る。inittab から I<ut_id> を設定し、 "
1300 "I<ut_pid> および I<ut_time> を現在値に、 I<ut_type> を B<INIT_PROCESS> に設定"
1301 "する。"
1302
1303 #. type: Plain text
1304 #: build/C/man5/utmp.5:176
1305 msgid ""
1306 "B<mingetty>(8)  (or B<agetty>(8))  locates the entry by the PID, changes "
1307 "I<ut_type> to B<LOGIN_PROCESS>, changes I<ut_time>, sets I<ut_line>, and "
1308 "waits for connection to be established.  B<login>(1), after a user has been "
1309 "authenticated, changes I<ut_type> to B<USER_PROCESS>, changes I<ut_time>, "
1310 "and sets I<ut_host> and I<ut_addr>.  Depending on B<mingetty>(8)  (or "
1311 "B<agetty>(8))  and B<login>(1), records may be located by I<ut_line> instead "
1312 "of the preferable I<ut_pid>."
1313 msgstr ""
1314 "B<mingetty>(8)  (または B<agetty>(8))  は pid でエントリを特定し、 "
1315 "I<ut_type> を B<LOGIN_PROCESS> に変更し、 I<ut_time> を更新し、I<ut_line>を設"
1316 "定した後、接続が確立されるのを待つ。 B<login>(1)  はユーザー認証が終了する"
1317 "と、 I<ut_type> を B<USER_PROCESS> に変更し、 I<ut_time> を更新し、"
1318 "I<ut_host> と I<ut_addr>を設定する。 B<mingetty>(8)  (または B<agetty>(8))  "
1319 "と B<login>(1)  により異なるが、 I<ut_pid> の代わりに I<ut_line> を使ってレ"
1320 "コードの特定が行われることもある (I<ut_pid> を使う方が望ましい) 。"
1321
1322 #. type: Plain text
1323 #: build/C/man5/utmp.5:182
1324 msgid ""
1325 "When B<init>(8)  finds that a process has exited, it locates its utmp entry "
1326 "by I<ut_pid>, sets I<ut_type> to B<DEAD_PROCESS>, and clears I<ut_user>, "
1327 "I<ut_host> and I<ut_time> with null bytes."
1328 msgstr ""
1329 "B<init>(8)  はプロセスの終了を検出した場合、 I<ut_pid> をキーとして utmp のエ"
1330 "ントリを特定し、 I<ut_type> を B<DEAD_PROCESS> に設定し、 I<ut_user>, "
1331 "I<ut_host>, I<ut_time> をヌルバイトでクリアする。"
1332
1333 #. type: Plain text
1334 #: build/C/man5/utmp.5:194
1335 msgid ""
1336 "B<xterm>(1)  and other terminal emulators directly create a B<USER_PROCESS> "
1337 "record and generate the I<ut_id> by using the string that suffix part of the "
1338 "terminal name (the characters following I</dev/[pt]ty>).  If they find a "
1339 "B<DEAD_PROCESS> for this ID, they recycle it, otherwise they create a new "
1340 "entry.  If they can, they will mark it as B<DEAD_PROCESS> on exiting and it "
1341 "is advised that they null I<ut_line>, I<ut_time>, I<ut_user>, and I<ut_host> "
1342 "as well."
1343 msgstr ""
1344 "B<xterm>(1)  コマンドや他の端末エミュレータは 直接 B<USER_PROCESS> のレコード"
1345 "を作り、 端末名のサフィックス文字列 (I</dev/[pt]ty> に続く文字列)  を使って "
1346 "I<ut_id> の値を生成する。 この id を持つエントリが B<DEAD_PROCESS> であった場"
1347 "合には再利用し、 それ以外の場合には新しいエントリが作られる。 可能な場合には"
1348 "プロセス終了時に B<DEAD_PROCESS> と設定し、 さらに I<ut_line>, I<ut_time>, "
1349 "I<ut_user>, I<ut_host> をヌルバイトでクリアすることが奨励されている。"
1350
1351 #. type: Plain text
1352 #: build/C/man5/utmp.5:202
1353 msgid ""
1354 "B<telnetd>(8)  sets up a B<LOGIN_PROCESS> entry and leaves the rest to "
1355 "B<login>(1)  as usual.  After the telnet session ends, B<telnetd>(8)  cleans "
1356 "up utmp in the described way."
1357 msgstr ""
1358 "B<telnetd>(8)  は B<LOGIN_PROCESS> を設定するだけでよく、 残りの処理は通常通"
1359 "り B<login>(1)  に任せればよい。 telnet のセッションが終了した後、前述のよう"
1360 "に B<telnetd>(8)  が utmp のエントリを初期化する。"
1361
1362 #. type: Plain text
1363 #: build/C/man5/utmp.5:224
1364 msgid ""
1365 "The I<wtmp> file records all logins and logouts.  Its format is exactly like "
1366 "I<utmp> except that a null username indicates a logout on the associated "
1367 "terminal.  Furthermore, the terminal name B<~> with username B<shutdown> or "
1368 "B<reboot> indicates a system shutdown or reboot and the pair of terminal "
1369 "names B<|>/B<}> logs the old/new system time when B<date>(1)  changes it.  "
1370 "I<wtmp> is maintained by B<login>(1), B<init>(8), and some versions of "
1371 "B<getty>(8)  (e.g., B<mingetty>(8)  or B<agetty>(8)).  None of these "
1372 "programs creates the file, so if it is removed, record-keeping is turned off."
1373 msgstr ""
1374 "I<wtmp> ファイルには、すべてのログインとログアウトが記録される。 そのフォー"
1375 "マットは、ログアウト済の端末でユーザー名がヌルとなること以外は I<utmp> とまっ"
1376 "たく同じである。 ユーザー名が B<shutdown> もしくは B<reboot> である 端末名 "
1377 "B<~> はシステムの停止 (shutdown) または再起動 (reboot)  を意味する。またその"
1378 "端末名が B<|> と B<}> の対は B<date>(1)  コマンドで変更した新/旧のシステム時"
1379 "刻を記録している。 I<wtmp> ファイルは B<login>(1), B<init>(8)  やいくつかの"
1380 "バージョンの B<getty>(8)  (B<mingetty>(8)  または B<agetty>(8))  により管理さ"
1381 "れている。 これらのプログラムはどれもファイルを新たに作成しないので、 ファイ"
1382 "ルを削除することで情報の記録 (record-keeping) を止めることができる。"
1383
1384 #. type: Plain text
1385 #: build/C/man5/utmp.5:226
1386 msgid "/var/run/utmp"
1387 msgstr "/var/run/utmp"
1388
1389 #. type: Plain text
1390 #: build/C/man5/utmp.5:228
1391 msgid "/var/log/wtmp"
1392 msgstr "/var/log/wtmp"
1393
1394 #. type: Plain text
1395 #: build/C/man5/utmp.5:247
1396 msgid ""
1397 "POSIX.1 does not specify a I<utmp> structure, but rather one named I<utmpx>, "
1398 "with specifications for the fields I<ut_type>, I<ut_pid>, I<ut_line>, "
1399 "I<ut_id>, I<ut_user>, and I<ut_tv>.  POSIX.1 does not specify the lengths of "
1400 "the I<ut_line> and I<ut_user> fields."
1401 msgstr ""
1402 "POSIX.1 では、 I<utmp> 構造体ではなく、 I<utmpx> 構造体を規定している。 "
1403 "I<utmpx> 構造体で規定されているのは、フィールド I<ut_type>, I<ut_pid>, "
1404 "I<ut_line>, I<ut_id>, I<ut_user>, I<ut_tv> である。 POSIX.1 では、フィールド "
1405 "I<ut_line> と I<ut_user> の長さは規定されていない。"
1406
1407 #. type: Plain text
1408 #: build/C/man5/utmp.5:253
1409 msgid ""
1410 "Linux defines the I<utmpx> structure to be the same as the I<utmp> structure."
1411 msgstr "Linux では、 I<utmpx> 構造体の定義は I<utmp> 構造体と同じである。"
1412
1413 #. type: SS
1414 #: build/C/man5/utmp.5:253
1415 #, no-wrap
1416 msgid "Comparison with historical systems"
1417 msgstr "過去のシステムとの比較"
1418
1419 #. type: Plain text
1420 #: build/C/man5/utmp.5:256
1421 msgid ""
1422 "Linux utmp entries conform neither to v7/BSD nor to System V; they are a mix "
1423 "of the two."
1424 msgstr ""
1425 "Linux での utmp のエントリは v7/BSD や System V のいずれにも準拠しておらず、 "
1426 "その両方が混在したものである。"
1427
1428 #. type: Plain text
1429 #: build/C/man5/utmp.5:263
1430 msgid ""
1431 "v7/BSD has fewer fields; most importantly it lacks I<ut_type>, which causes "
1432 "native v7/BSD-like programs to display (for example) dead or login entries.  "
1433 "Further, there is no configuration file which allocates slots to sessions.  "
1434 "BSD does so because it lacks I<ut_id> fields."
1435 msgstr ""
1436 "v7/BSD ではより少しの項目しかない; もっとも重要なことは、I<ut_type> が無いこ"
1437 "とである。 そのため v7/BSD 系のプログラムでは (たとえば) 死んだ状態のエントリ"
1438 "や ログイン状態のエントリまで表示されてしまうことになった。 さらにセッション"
1439 "用のスロットを割り当てるための設定ファイルがない。 BSD に設定ファイルがあるの"
1440 "は I<ut_id> がないからである。"
1441
1442 #. type: Plain text
1443 #: build/C/man5/utmp.5:275
1444 msgid ""
1445 "In Linux (as in System V), the I<ut_id> field of a record will never change "
1446 "once it has been set, which reserves that slot without needing a "
1447 "configuration file.  Clearing I<ut_id> may result in race conditions leading "
1448 "to corrupted utmp entries and potential security holes.  Clearing the "
1449 "abovementioned fields by filling them with null bytes is not required by "
1450 "System V semantics, but makes it possible to run many programs which assume "
1451 "BSD semantics and which do not modify utmp.  Linux uses the BSD conventions "
1452 "for line contents, as documented above."
1453 msgstr ""
1454 "Linux (System V 系)では、設定ファイルを必要とせず セッション用のスロットを割"
1455 "り当てるので、一旦設定 されてしまうとレコードの I<ut_id> は決して変更されな"
1456 "い。 I<ut_id> をクリアすると競合状態におちいり、 utmp のエントリを壊したり、"
1457 "潜在的なセキュリティホールになる可能性がある。 上述のフィールドをヌルバイトで"
1458 "埋めてクリアしておくのは、 System V での取り決めでは必要とはされていないが、 "
1459 "BSD での取り決めを前提としていて、かつ utmp を更新しない多くのプログラムが 動"
1460 "作するようにするためである。 Linux ではここまで記述してきたように、行内容の表"
1461 "示は BSD の慣例に従っている。"
1462
1463 #.  mtk: What is the referrent of "them" in the following sentence?
1464 #.  System V only uses the type field to mark them and logs
1465 #.  informative messages such as \fB"new time"\fP in the line field.
1466 #. type: Plain text
1467 #: build/C/man5/utmp.5:280
1468 msgid "System V has no I<ut_host> or I<ut_addr_v6> fields."
1469 msgstr ""
1470 "B<UT_UNKNOWN> は Linux で作られたもののようである。 System V には I<ut_host> "
1471 "も I<ut_addr_v6> も存在しない。"
1472
1473 #. type: Plain text
1474 #: build/C/man5/utmp.5:288
1475 msgid ""
1476 "Unlike various other systems, where utmp logging can be disabled by removing "
1477 "the file, utmp must always exist on Linux.  If you want to disable "
1478 "B<who>(1), then do not make utmp world readable."
1479 msgstr ""
1480 "ファイルを削除することで utmp への記録を止められる 他の様々なシステムとは違"
1481 "い、Linux では utmp ファイルを必ずおいて おく必要がある。 B<who>(1)  コマンド"
1482 "が機能しないようにしたい場合には、 utmp ファイルの全ユーザーに対する読み取り"
1483 "許可を設定しないようにする。"
1484
1485 #. type: Plain text
1486 #: build/C/man5/utmp.5:291
1487 msgid ""
1488 "The file format is machine-dependent, so it is recommended that it be "
1489 "processed only on the machine architecture where it was created."
1490 msgstr ""
1491 "ファイルのフォーマットはマシンに依存するので、ファイルが作られた マシンもしく"
1492 "は同一アーキテクチャのマシン上でのみ処理することを推奨する。"
1493
1494 #. type: Plain text
1495 #: build/C/man5/utmp.5:312
1496 msgid ""
1497 "Note that on I<biarch> platforms, that is, systems which can run both 32-bit "
1498 "and 64-bit applications (x86-64, ppc64, s390x, etc.), I<ut_tv> is the same "
1499 "size in 32-bit mode as in 64-bit mode.  The same goes for I<ut_session> and "
1500 "I<ut_time> if they are present.  This allows data files and shared memory to "
1501 "be shared between 32-bit and 64-bit applications.  This is achieved by "
1502 "changing the type of I<ut_session> to I<int32_t>, and that of I<ut_tv> to a "
1503 "struct with two I<int32_t> fields I<tv_sec> and I<tv_usec>.  Since I<ut_tv> "
1504 "may not be the same as I<struct timeval>, then instead of the call:"
1505 msgstr ""
1506 "注意すべき点としては、 I<biarch> なプラットフォーム、つまり 32ビットと 64ビッ"
1507 "トの両方の アプリケーションを実行できるシステム (x86-64, ppc64, s390x など) "
1508 "では、 I<ut_tv> のサイズは 32ビットモードと 64ビットモードで同じである。 "
1509 "I<ut_session> と I<ut_time> も、存在する場合には同様に同じサイズ である。これ"
1510 "により、32ビットアプリケーションと 64ビットアプリケーション の間でデータファ"
1511 "イルと共有メモリを共有することが可能になる。 そのためには、 I<ut_session> を "
1512 "I<int32_t> 型に、 I<ut_tv> を 2つの I<int32_t> 型のフィールド I<tv_sec>, "
1513 "I<tv_usec> を持つ構造体に変更すればよい I<ut_tv> は I<struct timeval> と同じ"
1514 "サイズとは限らないので、"
1515
1516 #. type: Plain text
1517 #: build/C/man5/utmp.5:316
1518 #, no-wrap
1519 msgid "gettimeofday((struct timeval *) &ut.ut_tv, NULL);\n"
1520 msgstr "gettimeofday((struct timeval *) &ut.ut_tv, NULL);\n"
1521
1522 #. type: Plain text
1523 #: build/C/man5/utmp.5:320
1524 msgid "the following method of setting this field is recommended:"
1525 msgstr ""
1526 "のような呼び出しをするのではなく、 以下のように各フィールドを設定する方法が推"
1527 "奨される:"
1528
1529 #. type: Plain text
1530 #: build/C/man5/utmp.5:325
1531 #, no-wrap
1532 msgid ""
1533 "struct utmp ut;\n"
1534 "struct timeval tv;\n"
1535 msgstr ""
1536 "struct utmp ut;\n"
1537 "struct timeval tv;\n"
1538
1539 #. type: Plain text
1540 #: build/C/man5/utmp.5:329
1541 #, no-wrap
1542 msgid ""
1543 "gettimeofday(&tv, NULL);\n"
1544 "ut.ut_tv.tv_sec = tv.tv_sec;\n"
1545 "ut.ut_tv.tv_usec = tv.tv_usec;\n"
1546 msgstr ""
1547 "gettimeofday(&tv, NULL);\n"
1548 "ut.ut_tv.tv_sec = tv.tv_sec;\n"
1549 "ut.ut_tv.tv_usec = tv.tv_usec;\n"
1550
1551 #. type: Plain text
1552 #: build/C/man5/utmp.5:336
1553 msgid ""
1554 "Note that the I<utmp> struct from libc5 has changed in libc6.  Because of "
1555 "this, binaries using the old libc5 struct will corrupt I</var/run/utmp> and/"
1556 "or I</var/log/wtmp>."
1557 msgstr ""
1558 "utmp 構造体は libc5 から libc6 で変更された。そのため昔の libc5 の構造体 を"
1559 "使ったプログラムは I</var/run/utmp> や I</var/log/wtmp> ファイルを壊してしま"
1560 "う。"
1561
1562 #. type: SH
1563 #: build/C/man5/utmp.5:336
1564 #, no-wrap
1565 msgid "BUGS"
1566 msgstr "バグ"
1567
1568 #. type: Plain text
1569 #: build/C/man5/utmp.5:338
1570 msgid ""
1571 "This man page is based on the libc5 one, things may work differently now."
1572 msgstr ""
1573 "この man ページは libc5 に基づいて作られていて、 最新のものでは違っているかも"
1574 "しれない。"
1575
1576 #. type: Plain text
1577 #: build/C/man5/utmp.5:352
1578 msgid ""
1579 "B<ac>(1), B<date>(1), B<last>(1), B<login>(1), B<utmpdump>(1), B<who>(1), "
1580 "B<getutent>(3), B<getutmp>(3), B<login>(3), B<logout>(3), B<logwtmp>(3), "
1581 "B<updwtmp>(3), B<init>(8)"
1582 msgstr ""
1583 "B<ac>(1), B<date>(1), B<last>(1), B<login>(1), B<utmpdump>(1), B<who>(1), "
1584 "B<getutent>(3), B<getutmp>(3), B<login>(3), B<logout>(3), B<logwtmp>(3), "
1585 "B<updwtmp>(3), B<init>(8)"
1586
1587 #~ msgid "2013-04-19"
1588 #~ msgstr "2013-04-19"