1 # SOME DESCRIPTIVE TITLE
2 # Copyright (C) YEAR Free Software Foundation, Inc.
3 # This file is distributed under the same license as the PACKAGE package.
4 # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
8 "Project-Id-Version: PACKAGE VERSION\n"
9 "POT-Creation-Date: 2013-03-22 01:07+0900\n"
10 "PO-Revision-Date: 2012-05-28 07:43+0900\n"
11 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
12 "Language-Team: LANGUAGE <LL@li.org>\n"
15 "Content-Type: text/plain; charset=UTF-8\n"
16 "Content-Transfer-Encoding: 8bit\n"
19 #: build/C/man3/getutent.3:31
25 #: build/C/man3/getutent.3:31
31 #: build/C/man3/getutent.3:31 build/C/man3/getutmp.3:26
32 #: build/C/man3/login.3:25 build/C/man3/updwtmp.3:29 build/C/man5/utmp.5:30
34 msgid "Linux Programmer's Manual"
35 msgstr "Linux Programmer's Manual"
38 #: build/C/man3/getutent.3:32 build/C/man3/getutmp.3:27
39 #: build/C/man3/login.3:26 build/C/man3/updwtmp.3:30 build/C/man5/utmp.5:31
45 #: build/C/man3/getutent.3:35
47 "getutent, getutid, getutline, pututline, setutent, endutent, utmpname - "
48 "access utmp file entries"
50 "getutent, getutid, getutline, pututline, setutent, endutent, utmpname - utmp "
54 #: build/C/man3/getutent.3:35 build/C/man3/getutmp.3:29
55 #: build/C/man3/login.3:28 build/C/man3/updwtmp.3:32 build/C/man5/utmp.5:33
61 #: build/C/man3/getutent.3:37 build/C/man3/login.3:30 build/C/man5/utmp.5:35
62 msgid "B<#include E<lt>utmp.hE<gt>>"
63 msgstr "B<#include E<lt>utmp.hE<gt>>"
66 #: build/C/man3/getutent.3:39
67 msgid "B<struct utmp *getutent(void);>"
68 msgstr "B<struct utmp *getutent(void);>"
71 #: build/C/man3/getutent.3:41
72 msgid "B<struct utmp *getutid(struct utmp *>I<ut>B<);>"
73 msgstr "B<struct utmp *getutid(struct utmp *>I<ut>B<);>"
76 #: build/C/man3/getutent.3:43
77 msgid "B<struct utmp *getutline(struct utmp *>I<ut>B<);>"
78 msgstr "B<struct utmp *getutline(struct utmp *>I<ut>B<);>"
81 #: build/C/man3/getutent.3:45
82 msgid "B<struct utmp *pututline(struct utmp *>I<ut>B<);>"
83 msgstr "B<struct utmp *pututline(struct utmp *>I<ut>B<);>"
86 #: build/C/man3/getutent.3:47
87 msgid "B<void setutent(void);>"
88 msgstr "B<void setutent(void);>"
91 #: build/C/man3/getutent.3:49
92 msgid "B<void endutent(void);>"
93 msgstr "B<void endutent(void);>"
96 #: build/C/man3/getutent.3:51
97 msgid "B<int utmpname(const char *>I<file>B<);>"
98 msgstr "B<int utmpname(const char *>I<file>B<);>"
101 #: build/C/man3/getutent.3:51 build/C/man3/getutmp.3:37
102 #: build/C/man3/login.3:36 build/C/man3/updwtmp.3:41 build/C/man5/utmp.5:35
108 #: build/C/man3/getutent.3:54
110 "New applications should use the POSIX.1-specified \"utmpx\" versions of "
111 "these functions; see CONFORMING TO."
113 "新しいアプリケーションでは、これらの関数の \"utmpx\" 版を使用すべきである。 "
114 "これらは POSIX.1 で規定されている。「準拠」の節を参照。"
117 #: build/C/man3/getutent.3:63
119 "B<utmpname>() sets the name of the utmp-format file for the other utmp "
120 "functions to access. If B<utmpname>() is not used to set the filename "
121 "before the other functions are used, they assume B<_PATH_UTMP>, as defined "
122 "in I<E<lt>paths.hE<gt>>."
124 "B<utmpname>() は、他の utmp 関数がアクセスする (utmp フォーマットの) ファイ"
125 "ルの名前を指定する。他の関数を使う前に B<utmpname>() を使って ファイル名の指"
126 "定を行わなかった場合は、 I<E<lt>path.hE<gt>> で 定義されている B<_PATH_UTMP> "
130 #: build/C/man3/getutent.3:68
132 "B<setutent>() rewinds the file pointer to the beginning of the utmp file. "
133 "It is generally a good idea to call it before any of the other functions."
135 "B<setutent>() は、ファイルポインタを utmp ファイルの先頭に移動する。 一般的"
136 "には、他の関数を使う前にこの関数を呼び出しておくと良いだろう。"
139 #: build/C/man3/getutent.3:73
141 "B<endutent>() closes the utmp file. It should be called when the user code "
142 "is done accessing the file with the other functions."
144 "B<endutent>() は utmp ファイルをクローズする。ユーザーコードで 他の関数を"
145 "使ってこのファイルにアクセスを行った時は、最後にこの関数を 呼び出すべきであ"
149 #: build/C/man3/getutent.3:80
151 "B<getutent>() reads a line from the current file position in the utmp "
152 "file. It returns a pointer to a structure containing the fields of the "
153 "line. The definition of this structure is shown in B<utmp>(5)."
155 "B<getutent>() は utmp ファイルの現在のファイル位置から一行読み込み、 行の各"
156 "フィールドの内容を収めた構造体へのポインタを返す。 この構造体の定義は B<utmp>"
160 #: build/C/man3/getutent.3:96
162 "B<getutid>() searches forward from the current file position in the utmp "
163 "file based upon I<ut>. If I<ut-E<gt>ut_type> is one of B<RUN_LVL>, "
164 "B<BOOT_TIME>, B<NEW_TIME>, or B<OLD_TIME>, B<getutid>() will find the first "
165 "entry whose I<ut_type> field matches I<ut-E<gt>ut_type>. If I<ut-"
166 "E<gt>ut_type> is one of B<INIT_PROCESS>, B<LOGIN_PROCESS>, B<USER_PROCESS>, "
167 "or B<DEAD_PROCESS>, B<getutid>() will find the first entry whose I<ut_id> "
168 "field matches I<ut-E<gt>ut_id>."
170 "B<getutid>() は、 utmp ファイル中の現在の位置から順方向 (末尾に向かう方向) "
171 "へ I<ut> に基く検索を行う。 I<ut>-E<gt>ut_type が B<RUN_LVL>, B<BOOT_TIME>, "
172 "B<NEW_TIME>, B<OLD_TIME> の いずれかなら、 B<getutid>() は B<ut_type> フィー"
173 "ルドが I<ut>-E<gt>ut_type に一致する最初のエントリを探す。 I<ut>-"
174 "E<gt>ut_type が B<INIT_PROCESS>, B<LOGIN_PROCESS>, B<USER_PROCESS>, "
175 "B<DEAD_PROCESS> のいずれかなら、 B<getutid>() は I<ut_id> フィールドが "
176 "I<ut>-E<gt>ut_id に 一致する最初のエントリを探す。"
179 #: build/C/man3/getutent.3:106
181 "B<getutline>() searches forward from the current file position in the utmp "
182 "file. It scans entries whose I<ut_type> is B<USER_PROCESS> or "
183 "B<LOGIN_PROCESS> and returns the first one whose I<ut_line> field matches "
184 "I<ut-E<gt>ut_line>."
186 "B<getutline>() は、 utmp ファイルの現在の位置から末尾に向かって検索を行う。 "
187 "I<ut_type> が B<USER_PROCESS> または B<LOGIN_PROCESS> で、 I<ut_line> フィー"
188 "ルドが I<ut>-E<gt>ut_line にマッチする最初の行を返す。"
191 #: build/C/man3/getutent.3:118
193 "B<pututline>() writes the I<utmp> structure I<ut> into the utmp file. It "
194 "uses B<getutid>() to search for the proper place in the file to insert the "
195 "new entry. If it cannot find an appropriate slot for I<ut>, B<pututline>() "
196 "will append the new entry to the end of the file."
198 "B<pututline>() は I<utmp> 構造体 I<ut> の内容を utmp ファイルに書き出す。 "
199 "B<pututline>() は B<getutid>() を用いて、新たなエントリを 挿入するのにふさ"
200 "わしい場所を探す。 I<ut> を挿入するふさわしい場所が 見つからない場合は、新た"
201 "なエントリをファイルの末尾に追加する。"
204 #: build/C/man3/getutent.3:118 build/C/man3/getutmp.3:51
205 #: build/C/man3/login.3:88
211 #: build/C/man3/getutent.3:127
213 "B<getutent>(), B<getutid>(), and B<getutline>() return a pointer to a "
214 "I<struct utmp> on success, and NULL on failure (which includes the \"record "
215 "not found\" case). This I<struct utmp> is allocated in static storage, and "
216 "may be overwritten by subsequent calls."
218 "B<getutent>(), B<getutid>(), B<getutline>() は、成功すると I<struct utmp> へ"
219 "のポインタを返す。 失敗すると NULL を返す (レコードが見つからなかった場合も失"
220 "敗となる)。 この I<struct utmp> は静的な記憶領域に確保され、次にこれらの関数"
221 "を 呼び出した際に上書きされるかもしれない。"
224 #: build/C/man3/getutent.3:133
225 msgid "On success B<pututline>() returns I<ut>; on failure, it returns NULL."
226 msgstr "B<pututline>() は成功すると I<ut> を返す。失敗すると NULL を返す。"
229 #: build/C/man3/getutent.3:136
231 "B<utmpname>() returns 0 if the new name was successfully stored, or -1 on "
234 "B<utmpname>() は、新しい名前の格納に成功すると 0 を返し、失敗すると -1 を返"
238 #: build/C/man3/getutent.3:136
244 #: build/C/man3/getutent.3:137
250 #: build/C/man3/getutent.3:140
251 msgid "Out of memory."
255 #: build/C/man3/getutent.3:140
261 #: build/C/man3/getutent.3:143
262 msgid "Record not found."
263 msgstr "レコードが見つからなかった。"
266 #: build/C/man3/getutent.3:150
268 "B<setutent>(), B<pututline>(), and the B<getut* ()> functions can also fail "
269 "for the reasons described in B<open>(2)."
271 "関数 B<setutent>(), B<pututline>(), B<getut*>() は B<open>(2) に書かれてい"
275 #: build/C/man3/getutent.3:150 build/C/man3/login.3:93
276 #: build/C/man3/updwtmp.3:54 build/C/man5/utmp.5:224
282 #: build/C/man3/getutent.3:152
283 msgid "/var/run/utmp\tdatabase of currently logged-in users"
284 msgstr "/var/run/utmp 現在ログイン中のユーザーのデータベース"
287 #: build/C/man3/getutent.3:154
288 msgid "/var/log/wtmp\tdatabase of past user logins"
289 msgstr "/var/log/wtmp 過去のユーザーログインのデータベース"
292 #: build/C/man3/getutent.3:154 build/C/man3/getutmp.3:55
293 #: build/C/man3/login.3:106 build/C/man3/updwtmp.3:58 build/C/man5/utmp.5:228
295 msgid "CONFORMING TO"
299 #: build/C/man3/getutent.3:156
304 #: build/C/man3/getutent.3:166
306 "In XPG2 and SVID 2 the function B<pututline>() is documented to return "
307 "void, and that is what it does on many systems (AIX, HP-UX, Linux libc5). "
308 "HP-UX introduces a new function B<_pututline>() with the prototype given "
309 "above for B<pututline>() (also found in Linux libc5)."
311 "XPG2 と SVID 2 では、 B<pututline>() 関数は値を返さないとされており、 (AIX, "
312 "HP-UX, Linux libc5 などの) 多くのシステムではそうなっている。 HP-UX では、上"
313 "述の B<pututline>() と同じプロトタイプを持つ 新しい関数 B<_pututline>() が"
314 "導入されている (この関数は Linux libc5 にもある)。"
317 #: build/C/man3/getutent.3:170
319 "All these functions are obsolete now on non-Linux systems. POSIX.1-2001, "
320 "following SUSv1, does not have any of these functions, but instead uses"
322 "現在では、Linux 以外のシステムでは、これらの関数は全て廃止されている。 SUSv1 "
323 "の後に出てきた POSIX.1-2001 では、もはやこれらの関数はなく、 代わりに以下のも"
327 #: build/C/man3/getutent.3:172
328 msgid "B<#include E<lt>utmpx.hE<gt>>"
329 msgstr "B<#include E<lt>utmpx.hE<gt>>"
332 #: build/C/man3/getutent.3:174
333 msgid "B<struct utmpx *getutxent(void);>"
334 msgstr "B<struct utmpx *getutxent(void);>"
337 #: build/C/man3/getutent.3:176
338 msgid "B<struct utmpx *getutxid(const struct utmpx *);>"
339 msgstr "B<struct utmpx *getutxid(const struct utmpx *);>"
342 #: build/C/man3/getutent.3:178
343 msgid "B<struct utmpx *getutxline(const struct utmpx *);>"
344 msgstr "B<struct utmpx *getutxline(const struct utmpx *);>"
347 #: build/C/man3/getutent.3:180
348 msgid "B<struct utmpx *pututxline(const struct utmpx *);>"
349 msgstr "B<struct utmpx *pututxline(const struct utmpx *);>"
352 #: build/C/man3/getutent.3:182
353 msgid "B<void setutxent(void);>"
354 msgstr "B<void setutxent(void);>"
357 #: build/C/man3/getutent.3:184
358 msgid "B<void endutxent(void);>"
359 msgstr "B<void endutxent(void);>"
362 #: build/C/man3/getutent.3:193
364 "These functions are provided by glibc, and perform the same task as their "
365 "equivalents without the \"x\", but use I<struct utmpx>, defined on Linux to "
366 "be the same as I<struct utmp>. For completeness, glibc also provides "
367 "B<utmpxname>(), although this function is not specified by POSIX.1."
369 "これらの関数は glibc により提供されており、 \"x\" がない関数と同じ処理を行う"
370 "が、 I<struct utmpx> を使用する。 Linux では、この構造体の定義は I<struct "
371 "utmp> と同じになっている。 完全を期すために、glibc では B<utmpxname>() も提"
372 "供している。この関数は POSIX.1 では規定されていない。"
375 #: build/C/man3/getutent.3:201
377 "On some other systems, the I<utmpx> structure is a superset of the I<utmp> "
378 "structure, with additional fields, and larger versions of the existing "
379 "fields, and parallel files are maintained, often I</var/*/utmpx> and I</var/"
382 "Linux 以外のシステムでは、 I<utmpx> 構造体は I<utmp> 構造体の上位集合 "
383 "(superset) になっていて、 追加のフィールドがあったり、既存のフィールドのサイ"
384 "ズが大きくなっていたり するものもある。複数のファイルが使用されている場合もあ"
385 "り、多くの場合 I</var/*/utmpx> と I</var/*/wtmpx> というファイルが使われる。"
388 #: build/C/man3/getutent.3:209
391 #| "Linux glibc on the other hand does not use a parallel I<utmpx> file since "
392 #| "its I<utmp> structure is already large enough. The \"x\" functions "
393 #| "listed above are just aliases for their counterparts without the \"x\" (e."
394 #| "g., B<getutxent>() is an alias for B<gettutent>())."
396 "Linux glibc on the other hand does not use a parallel I<utmpx> file since "
397 "its I<utmp> structure is already large enough. The \"x\" functions listed "
398 "above are just aliases for their counterparts without the \"x\" (e.g., "
399 "B<getutxent>() is an alias for B<getutent>())."
401 "一方、 Linux glibc では複数の I<utmpx> ファイル は使われていない。\n"
402 "I<utmp> 構造体が十分に大きいからである。\n"
403 "上記の名前に \"x\" が付いた関数は \"x\" が付いていない対応する関数の別名と\n"
404 "なっている (例えば I<getutxent>() は I<getutent>() の別名である)。"
407 #: build/C/man3/getutent.3:209 build/C/man3/getutmp.3:58
408 #: build/C/man3/login.3:109 build/C/man3/updwtmp.3:71 build/C/man5/utmp.5:280
414 #: build/C/man3/getutent.3:210
416 #| msgid "Glibc Notes"
421 #: build/C/man3/getutent.3:213
422 msgid "The above functions are not thread-safe. Glibc adds reentrant versions"
424 "上記の関数群はスレッド・セーフではない。 glibc にはリエントラント版 "
425 "(reentrant) が追加されている。"
428 #: build/C/man3/getutent.3:218
431 #| "B<#define _GNU_SOURCE> /* or _SVID_SOURCE or _BSD_SOURCE;\n"
432 #| "\\& see B<feature_test_macros(7)> */\n"
433 #| "B<#include E<lt>utmp.hE<gt>>\n"
435 "B<#define _GNU_SOURCE> /* or _SVID_SOURCE or _BSD_SOURCE;\n"
436 "\\& see B<feature_test_macros>(7) */\n"
437 "B<#include E<lt>utmp.hE<gt>>\n"
439 "B<#define _GNU_SOURCE> /* or _SVID_SOURCE or _BSD_SOURCE;\n"
440 "\\& B<feature_test_macros(7)> 参照 */\n"
441 "B<#include E<lt>utmp.hE<gt>>\n"
444 #: build/C/man3/getutent.3:220
446 msgid "B<int getutent_r(struct utmp *>I<ubuf>B<, struct utmp **>I<ubufp>B<);>\n"
447 msgstr "B<int getutent_r(struct utmp *>I<ubuf>B<, struct utmp **>I<ubufp>B<);>\n"
450 #: build/C/man3/getutent.3:223
453 "B<int getutid_r(struct utmp *>I<ut>B<,>\n"
454 "B< struct utmp *>I<ubuf>B<, struct utmp **>I<ubufp>B<);>\n"
456 "B<int getutid_r(struct utmp *>I<ut>B<,>\n"
457 "B< struct utmp *>I<ubuf>B<, struct utmp **>I<ubufp>B<);>\n"
460 #: build/C/man3/getutent.3:226
463 "B<int getutline_r(struct utmp *>I<ut>B<,>\n"
464 "B< struct utmp *>I<ubuf>B<, struct utmp **>I<ubufp>B<);>\n"
466 "B<int getutline_r(struct utmp *>I<ut>B<,>\n"
467 "B< struct utmp *>I<ubuf>B<, struct utmp **>I<ubufp>B<);>\n"
470 #: build/C/man3/getutent.3:238
472 "These functions are GNU extensions, analogs of the functions of the same "
473 "name without the _r suffix. The I<ubuf> argument gives these functions a "
474 "place to store their result. On success they return 0, and a pointer to the "
475 "result is written in I<*ubufp>. On error these functions return -1. There "
476 "are no utmpx equivalents of the above functions. (POSIX.1 does not specify "
479 "これらの関数は GNU での拡張であり、末尾の _r をとった名前の関数と 同様の機能"
480 "を持つ。 I<ubuf> パラメータは結果を格納する場所を指定する。 成功すると 0 を返"
481 "し、結果へのポインタを I<*ubufp> に書き込む。エラーの場合 -1 を返す。 上記の"
482 "関数に対応する utmpx 版は存在しない (POSIX.1 ではこれらの関数を規定されていな"
486 #: build/C/man3/getutent.3:238
492 #: build/C/man3/getutent.3:246
494 "The following example adds and removes a utmp record, assuming it is run "
495 "from within a pseudo terminal. For usage in a real application, you should "
496 "check the return values of B<getpwuid>(3) and B<ttyname>(3)."
498 "以下の例では、 utmp のレコードの追加・削除を行っている。このコードは、 擬似端"
499 "末 (pseudo terminal) から実行されることを想定している。 実際のアプリケーショ"
500 "ンでは B<getpwuid>(3) と B<ttyname>(3) の戻り値を検査するべきである。"
503 #: build/C/man3/getutent.3:253
506 "#include E<lt>string.hE<gt>\n"
507 "#include E<lt>stdlib.hE<gt>\n"
508 "#include E<lt>pwd.hE<gt>\n"
509 "#include E<lt>unistd.hE<gt>\n"
510 "#include E<lt>utmp.hE<gt>\n"
512 "#include E<lt>string.hE<gt>\n"
513 "#include E<lt>stdlib.hE<gt>\n"
514 "#include E<lt>pwd.hE<gt>\n"
515 "#include E<lt>unistd.hE<gt>\n"
516 "#include E<lt>utmp.hE<gt>\n"
519 #: build/C/man3/getutent.3:258
523 "main(int argc, char *argv[])\n"
525 " struct utmp entry;\n"
528 "main(int argc, char *argv[])\n"
530 " struct utmp entry;\n"
533 #: build/C/man3/getutent.3:260
535 msgid " system(\"echo before adding entry:;who\");\n"
536 msgstr " system(\"echo before adding entry:;who\");\n"
539 #: build/C/man3/getutent.3:272
542 " entry.ut_type = USER_PROCESS;\n"
543 " entry.ut_pid = getpid();\n"
544 " strcpy(entry.ut_line, ttyname(STDIN_FILENO) + strlen(\"/dev/\"));\n"
545 " /* only correct for ptys named /dev/tty[pqr][0-9a-z] */\n"
546 " strcpy(entry.ut_id, ttyname(STDIN_FILENO) + strlen(\"/dev/tty\"));\n"
547 " time(&entry.ut_time);\n"
548 " strcpy(entry.ut_user, getpwuid(getuid())-E<gt>pw_name);\n"
549 " memset(entry.ut_host, 0, UT_HOSTSIZE);\n"
550 " entry.ut_addr = 0;\n"
552 " pututline(&entry);\n"
554 " entry.ut_type = USER_PROCESS;\n"
555 " entry.ut_pid = getpid();\n"
556 " strcpy(entry.ut_line, ttyname(STDIN_FILENO) + strlen(\"/dev/\"));\n"
557 " /* only correct for ptys named /dev/tty[pqr][0-9a-z] */\n"
558 " strcpy(entry.ut_id, ttyname(STDIN_FILENO) + strlen(\"/dev/tty\"));\n"
559 " time(&entry.ut_time);\n"
560 " strcpy(entry.ut_user, getpwuid(getuid())-E<gt>pw_name);\n"
561 " memset(entry.ut_host, 0, UT_HOSTSIZE);\n"
562 " entry.ut_addr = 0;\n"
564 " pututline(&entry);\n"
567 #: build/C/man3/getutent.3:274
569 msgid " system(\"echo after adding entry:;who\");\n"
570 msgstr " system(\"echo after adding entry:;who\");\n"
573 #: build/C/man3/getutent.3:281
576 " entry.ut_type = DEAD_PROCESS;\n"
577 " memset(entry.ut_line, 0, UT_LINESIZE);\n"
578 " entry.ut_time = 0;\n"
579 " memset(entry.ut_user, 0, UT_NAMESIZE);\n"
581 " pututline(&entry);\n"
583 " entry.ut_type = DEAD_PROCESS;\n"
584 " memset(entry.ut_line, 0, UT_LINESIZE);\n"
585 " entry.ut_time = 0;\n"
586 " memset(entry.ut_user, 0, UT_NAMESIZE);\n"
588 " pututline(&entry);\n"
591 #: build/C/man3/getutent.3:283
593 msgid " system(\"echo after removing entry:;who\");\n"
594 msgstr " system(\"echo after removing entry:;who\");\n"
597 #: build/C/man3/getutent.3:287
601 " exit(EXIT_SUCCESS);\n"
605 " exit(EXIT_SUCCESS);\n"
609 #: build/C/man3/getutent.3:288 build/C/man3/getutmp.3:69
610 #: build/C/man3/login.3:124 build/C/man3/updwtmp.3:87 build/C/man5/utmp.5:338
616 #: build/C/man3/getutent.3:291
617 msgid "B<getutmp>(3), B<utmp>(5)"
618 msgstr "B<getutmp>(3), B<utmp>(5)"
621 #: build/C/man3/getutent.3:291 build/C/man3/getutmp.3:72
622 #: build/C/man3/login.3:127 build/C/man3/updwtmp.3:90 build/C/man5/utmp.5:352
628 #: build/C/man3/getutent.3:298 build/C/man3/getutmp.3:79
629 #: build/C/man3/login.3:134 build/C/man3/updwtmp.3:97 build/C/man5/utmp.5:359
632 #| "This page is part of release 3.41 of the Linux I<man-pages> project. A "
633 #| "description of the project, and information about reporting bugs, can be "
634 #| "found at http://www.kernel.org/doc/man-pages/."
636 "This page is part of release 3.50 of the Linux I<man-pages> project. A "
637 "description of the project, and information about reporting bugs, can be "
638 "found at http://www.kernel.org/doc/man-pages/."
640 "この man ページは Linux I<man-pages> プロジェクトのリリース 3.41 の一部\n"
641 "である。プロジェクトの説明とバグ報告に関する情報は\n"
642 "http://www.kernel.org/doc/man-pages/ に書かれている。"
645 #: build/C/man3/getutmp.3:26
651 #: build/C/man3/getutmp.3:26
657 #: build/C/man3/getutmp.3:26 build/C/man5/utmp.5:30
663 #: build/C/man3/getutmp.3:29
664 msgid "getutmp, getutmpx - copy utmp structure to utmpx, and vice versa"
665 msgstr "getutmp, getutmpx - utmp 構造体から utmpx 構造体、その逆のコピーを行う"
668 #: build/C/man3/getutmp.3:33
671 "B<#define _GNU_SOURCE> /* See feature_test_macros(7) */\n"
672 "B<#include E<lt>utmpx.hE<gt>>\n"
674 "B<#define _GNU_SOURCE> /* feature_test_macros(7) 参照 */\n"
675 "B<#include E<lt>utmpx.hE<gt>>\n"
678 #: build/C/man3/getutmp.3:36
681 "B< void getutmp(const struct utmpx *>I<ux>B<, struct utmp *>I<u>B<);>\n"
682 "B< void getutmpx(const struct utmp *>I<u>B<, struct utmpx *>I<ux>B<);>\n"
684 "B< void getutmp(const struct utmpx *>I<ux>B<, struct utmp *>I<u>B<);>\n"
685 "B< void getutmpx(const struct utmp *>I<u>B<, struct utmpx *>I<ux>B<);>\n"
688 #: build/C/man3/getutmp.3:51
690 "The B<getutmp>() function copies the fields of the I<utmpx> structure "
691 "pointed to by I<ux> to the corresponding fields of the I<utmp> structure "
692 "pointed to by I<u>. The B<getutmpx>() function performs the converse "
695 "B<getutmp>() 関数は、 I<ux> が指す I<utmpx> 構造体の各フィールドを、\n"
696 "I<u> が指す I<utmp> 構造体の対応するフィールドにコピーする。\n"
697 "B<getutmpx>() 関数は逆の操作を行う。"
700 #: build/C/man3/getutmp.3:53
701 msgid "These functions do not return a value."
702 msgstr "これらの関数は値を返さない。"
705 #: build/C/man3/getutmp.3:53
711 #: build/C/man3/getutmp.3:55
712 msgid "These functions first appeared in glibc in version 2.1.1."
713 msgstr "これらの関数は glibc バージョン 2.1.1 で初めて登場した。"
716 #: build/C/man3/getutmp.3:58
718 "These functions are nonstandard, but appear on a few other systems, such as "
719 "Solaris and NetBSD."
722 "Linux 以外にも、これらの関数が存在するシステムもいくつかある\n"
723 "(Solaris や NetBSD など)。"
725 #. e.g., on Solaris, the utmpx structure is rather larger than utmp.
727 #: build/C/man3/getutmp.3:69
729 "These functions exist primarily for compatibility with other systems where "
730 "the I<utmp> and I<utmpx> structures contain different fields, or the size of "
731 "corresponding fields differs. On Linux, the two structures contain the same "
732 "fields, and the fields have the same sizes."
734 "これらの関数が存在する一番の目的は、\n"
735 "I<utmp> 構造体と I<utmpx> 構造体が異なるフィールドを持たり、\n"
736 "対応するフィールドの大きさが異なっている、他のシステムとの\n"
738 "Linux では、これらの構造体は同じフィールドを持っており、\n"
742 #: build/C/man3/getutmp.3:72 build/C/man3/login.3:127
743 msgid "B<getutent>(3), B<utmp>(5)"
744 msgstr "B<getutent>(3), B<utmp>(5)"
747 #: build/C/man3/login.3:25
753 #: build/C/man3/login.3:25
759 #: build/C/man3/login.3:25 build/C/man3/updwtmp.3:29
765 #: build/C/man3/login.3:28
766 msgid "login, logout - write utmp and wtmp entries"
767 msgstr "login, logout - utmp と wtmp エントリを書き込む"
770 #: build/C/man3/login.3:32
771 msgid "B<void login(const struct utmp *>I<ut>B<);>"
772 msgstr "B<void login(const struct utmp *>I<ut>B<);>"
775 #: build/C/man3/login.3:34
776 msgid "B<int logout(const char *>I<ut_line>B<);>"
777 msgstr "B<int logout(const char *>I<ut_line>B<);>"
780 #: build/C/man3/login.3:36
781 msgid "Link with I<-lutil>."
782 msgstr "I<-lutil> でリンクする。"
785 #: build/C/man3/login.3:41
787 "The utmp file records who is currently using the system. The wtmp file "
788 "records all logins and logouts. See B<utmp>(5)."
790 "utmp ファイルは現在システムを使用しているユーザを記録する。 wtmp ファイルはす"
791 "べてのログインとログアウトを記録する。 B<utmp>(5) を参照すること。"
794 #: build/C/man3/login.3:47
796 "The function B<login>() takes the supplied I<struct utmp>, I<ut>, and "
797 "writes it to both the utmp and the wtmp file."
799 "関数 B<login>() は与えられた I<struct utmp> I<ut> を utmp と wtmp ファイルの"
803 #: build/C/man3/login.3:51
804 msgid "The function B<logout>() clears the entry in the utmp file again."
805 msgstr "関数 B<logout>() は utmp ファイルにあるエントリをクリアする。"
808 #: build/C/man3/login.3:51
810 #| msgid "GNU Details"
815 #: build/C/man3/login.3:72
818 #| "More precisely, B<login>() takes the argument I<ut> struct, fills the "
819 #| "field I<ut-E<gt>ut_type> (if there is such a field) with the value "
820 #| "B<USER_PROCESS>, and fills the field I<ut-E<gt>ut_pid> (if there is such "
821 #| "a field) with the process ID of the calling process. Then it tries to "
822 #| "fill the field I<ut-E<gt>ut_line>. It takes the first of I<stdin>, "
823 #| "I<stdout>, I<stderr> that is a tty, and stores the corresponding pathname "
824 #| "minus a possible leading I</dev/> into this field, and then writes the "
825 #| "struct to the utmp file. On the other hand, if no tty name was found, "
826 #| "this field is filled with \"???\" and the struct is not written to the "
827 #| "utmp file. After this, the struct is written to the wtmp file."
829 "More precisely, B<login>() takes the argument I<ut> struct, fills the field "
830 "I<ut-E<gt>ut_type> (if there is such a field) with the value "
831 "B<USER_PROCESS>, and fills the field I<ut-E<gt>ut_pid> (if there is such a "
832 "field) with the process ID of the calling process. Then it tries to fill "
833 "the field I<ut-E<gt>ut_line>. It takes the first of I<stdin>, I<stdout>, "
834 "I<stderr> that is a terminal, and stores the corresponding pathname minus a "
835 "possible leading I</dev/> into this field, and then writes the struct to the "
836 "utmp file. On the other hand, if no terminal name was found, this field is "
837 "filled with \"???\" and the struct is not written to the utmp file. After "
838 "this, the struct is written to the wtmp file."
840 "より正確には、 B<login>() は引き数 I<ut> 構造体をとり、(もし存在するならば) "
841 "フィールド I<ut-E<gt>ut_type> を B<USER_PROCESS> という値にし、(もし存在する"
842 "ならば) フィールド I<ut-E<gt>ut_pid> を呼び出し元プロセスのプロセス ID の値に"
843 "する。 次にフィールド I<ut-E<gt>ut_line> の値を設定しようとする。 この関数"
844 "は、標準入力・標準出力・標準エラー出力の中から 端末 (tty) である最初のものを"
845 "とり、 対応するパス名から先頭の I</dev/> を引いたものを このフィールドに格納"
846 "して、この構造体を utmp ファイルに書き込む。 一方、端末名が見つからない場合"
847 "は、このフィールドは \"???\" とされて、 この構造体は utmp ファイルに書き込ま"
848 "れない。 その後にこの構造体は wtmp ファイルに書き込まれる。"
851 #: build/C/man3/login.3:88
853 "The B<logout>() function searches the utmp file for an entry matching the "
854 "I<ut_line> argument. If a record is found, it is updated by zeroing out the "
855 "I<ut_name> and I<ut_host> fields, updating the I<ut_tv> timestamp field and "
856 "setting I<ut_type> (if there is such a field) to B<DEAD_PROCESS>."
858 "B<logout>() 関数は utmp ファイルから I<ut_line> 引き数にマッチするエントリを"
859 "探す。 レコードが見つかった場合、 I<ut_name> と I<ut_host> フィールドをクリア"
860 "して、 I<ut_tv> タイムスタンプフィールドを更新し、 (もし存在するならば) "
861 "I<ut_type> フィールドを B<DEAD_PROCESS> に更新する。"
864 #: build/C/man3/login.3:93
866 "The B<logout>() function returns 1 if the entry was successfully written to "
867 "the database, or 0 if an error occurred."
869 "エントリをデータベースに書き込むのに成功した場合、 B<logout>() 関数は 1 を返"
870 "す。 またエラーが起こった場合、0 を返す。"
873 #: build/C/man3/login.3:94
875 msgid "I</var/run/utmp>"
876 msgstr "I</var/run/utmp>"
879 #: build/C/man3/login.3:100
881 "user accounting database, configured through B<_PATH_UTMP> in I<E<lt>paths."
884 "ユーザアカウントデータベース。 I<E<lt>paths.hE<gt>> における B<_PATH_UTMP> で"
888 #: build/C/man3/login.3:100 build/C/man3/updwtmp.3:55
890 msgid "I</var/log/wtmp>"
891 msgstr "I</var/log/wtmp>"
894 #: build/C/man3/login.3:106
896 "user accounting log file, configured through B<_PATH_WTMP> in I<E<lt>paths."
899 "ユーザアカウントログファイル。 I<E<lt>paths.hE<gt>> における B<_PATH_WTMP> で"
903 #: build/C/man3/login.3:109
904 msgid "Not in POSIX.1-2001. Present on the BSDs."
905 msgstr "POSIX.1-2001 にはない。 BSD 系に存在する。"
908 #: build/C/man3/login.3:124
910 "Note that the member I<ut_user> of I<struct utmp> is called I<ut_name> in "
911 "BSD. Therefore, I<ut_name> is defined as an alias for I<ut_user> in "
912 "I<E<lt>utmp.hE<gt>>."
914 "I<struct utmp> のメンバ I<ut_user> は、BSD では I<ut_name> という名前である点"
915 "に注意すること。 そのため I<ut_name> は I<E<lt>utmp.hE<gt>> において "
916 "I<ut_user> のエイリアスとして定義されている。"
919 #: build/C/man3/updwtmp.3:29
925 #: build/C/man3/updwtmp.3:29
931 #: build/C/man3/updwtmp.3:32
932 msgid "updwtmp, logwtmp - append an entry to the wtmp file"
933 msgstr "updwtmp, logwtmp - wtmp ファイルにエントリを追加する"
936 #: build/C/man3/updwtmp.3:35
938 msgid "B<#include E<lt>utmp.hE<gt>>\n"
939 msgstr "B<#include E<lt>utmp.hE<gt>>\n"
942 #: build/C/man3/updwtmp.3:37
944 msgid "B<void updwtmp(const char *>I<wtmp_file>B<, const struct utmp *>I<ut>B<);>\n"
945 msgstr "B<void updwtmp(const char *>I<wtmp_file>B<, const struct utmp *>I<ut>B<);>\n"
948 #: build/C/man3/updwtmp.3:40
950 msgid "B<void logwtmp(const char *>I<line>B<, const char *>I<name>B<, const char *>I<host>B<);>\n"
951 msgstr "B<void logwtmp(const char *>I<line>B<, const char *>I<name>B<, const char *>I<host>B<);>\n"
954 #: build/C/man3/updwtmp.3:46
955 msgid "B<updwtmp>() appends the utmp structure I<ut> to the wtmp file."
956 msgstr "B<updwtmp>() は、utmp 構造体 I<ut> を wtmp ファイルに追加する。"
959 #: build/C/man3/updwtmp.3:54
961 "B<logwtmp>() constructs a utmp structure using I<line>, I<name>, I<host>, "
962 "current time and current process ID. Then it calls B<updwtmp>() to append "
963 "the structure to the wtmp file."
965 "B<logwtmp>() は、 I<line>, I<name>, I<host>, 現在時刻、現プロセスID から "
966 "utmp 構造体を作り、 B<updwtmp>() を呼び出してその構造体を wtmp ファイルに追"
970 #: build/C/man3/updwtmp.3:58
971 msgid "database of past user logins"
972 msgstr "ユーザログインの履歴データベース"
975 #: build/C/man3/updwtmp.3:61
977 "Not in POSIX.1-2001. Present on Solaris, NetBSD, and perhaps other systems."
979 "POSIX.1-2001 にはない。 Solaris, NetBSD に存在し、おそらく他のシステムにもあ"
983 #: build/C/man3/updwtmp.3:61
989 #: build/C/man3/updwtmp.3:71
991 "Both functions are available under glibc2, but not under libc5. However, "
992 "B<logwtmp>() used to occur in the old libbsd. These days, the B<logwtmp>"
993 "() function is included in libutil. (Hence you'll need to add I<-lutil> to "
994 "your compiler command line to get it.)"
996 "glibc2 の下ではどちらの関数も利用可能である。 libc5 の下ではどちらも使えない"
997 "が、 B<logwtmp>() は古い libbsd にあった。 最近では、 B<logwtmp>() 関数は "
998 "libutil に含まれている (したがって、この関数を使うためにはコンパイラのコマン"
999 "ドラインに I<-lutil> を追加する必要がある)。"
1002 #: build/C/man3/updwtmp.3:75
1004 "For consistency with the other \"utmpx\" functions (see B<getutxent>(3)), "
1005 "glibc provides (since version 2.1):"
1007 "他の \"utmpx\" 関数群 (B<getutxent>(3) 参照) との一貫性のために、glibc (バー"
1008 "ジョン 2.1 以降) は以下の関数を 提供している:"
1011 #: build/C/man3/updwtmp.3:78
1013 msgid "B<#include E<lt>utmpx.hE<gt>>\n"
1014 msgstr "B<#include E<lt>utmpx.hE<gt>>\n"
1017 #: build/C/man3/updwtmp.3:80
1019 msgid "B<void updwtmpx (const char *>I<wtmpx_file>B<, const struct utmpx *>I<utx>B<);>\n"
1020 msgstr "B<void updwtmpx (const char *>I<wtmpx_file>B<, const struct utmpx *>I<utx>B<);>\n"
1023 #: build/C/man3/updwtmp.3:87
1025 "This function performs the same task as B<updwtmp>(), but differs in that it "
1026 "takes a I<utmpx> structure as its last argument."
1028 "この関数は B<updwtmp>() と同じ作業を行うが、最後の引き数として I<utmpx> 構造"
1032 #: build/C/man3/updwtmp.3:90
1033 msgid "B<getutxent>(3), B<wtmp>(5)"
1034 msgstr "B<getutxent>(3), B<wtmp>(5)"
1037 #: build/C/man5/utmp.5:30
1043 #: build/C/man5/utmp.5:30
1049 #: build/C/man5/utmp.5:33
1050 msgid "utmp, wtmp - login records"
1051 msgstr "utmp, wtmp - ログイン記録"
1054 #: build/C/man5/utmp.5:42
1056 "The I<utmp> file allows one to discover information about who is currently "
1057 "using the system. There may be more users currently using the system, "
1058 "because not all programs use utmp logging."
1060 "I<utmp> ファイルを見ることで、現在誰がシステムを使っているかという情報 が得ら"
1061 "れる。ただすべてのプログラムが utmp ファイルを 更新しているわけではないので、"
1062 "実際にはそれ以上のユーザーが システムを使っている可能性がある。"
1065 #: build/C/man5/utmp.5:52
1067 "B<Warning:> I<utmp> must not be writable by the user class \"other\", "
1068 "because many system programs (foolishly) depend on its integrity. You risk "
1069 "faked system logfiles and modifications of system files if you leave I<utmp> "
1070 "writable to any user other than the owner and group owner of the file."
1072 "B<警告:> (愚かにも) 多くのシステムプログラムがその整合性に依存しているので、 "
1073 "I<utmp> ファイルは \"other\" に分類されるユーザに対して 書き込み可能にしては"
1074 "ならない。 ファイルの所有者とグループオーナー以外のユーザに対して I<utmp> "
1075 "ファイルを書き込み可能な状態にしておくと、 システムのログファイルを偽造された"
1076 "り、システムファイルの 改ざんを受けるといったリスクを犯すことになる。"
1079 #: build/C/man5/utmp.5:60
1081 "The file is a sequence of I<utmp> structures, declared as follows in "
1082 "I<E<lt>utmp.hE<gt>> (note that this is only one of several definitions "
1083 "around; details depend on the version of libc):"
1085 "このファイルは I<utmp> 構造体の繰り返しで構成される。 この構造体は "
1086 "I<E<lt>utmp.hE<gt>> で以下のように定義されている (ここに記述してあるのは幾つ"
1087 "かの大まかな定義のみで、 詳細は libc のバージョンにより変わることに注意が必要"
1091 #: build/C/man5/utmp.5:64
1093 msgid "/* Values for ut_type field, below */\n"
1094 msgstr "/* Values for ut_type field, below */\n"
1097 #: build/C/man5/utmp.5:79
1100 "#define EMPTY 0 /* Record does not contain valid info\n"
1101 " (formerly known as UT_UNKNOWN on Linux) */\n"
1102 "#define RUN_LVL 1 /* Change in system run-level (see\n"
1104 "#define BOOT_TIME 2 /* Time of system boot (in I<ut_tv>) */\n"
1105 "#define NEW_TIME 3 /* Time after system clock change\n"
1106 " (in I<ut_tv>) */\n"
1107 "#define OLD_TIME 4 /* Time before system clock change\n"
1108 " (in I<ut_tv>) */\n"
1109 "#define INIT_PROCESS 5 /* Process spawned by B<init>(8) */\n"
1110 "#define LOGIN_PROCESS 6 /* Session leader process for user login */\n"
1111 "#define USER_PROCESS 7 /* Normal process */\n"
1112 "#define DEAD_PROCESS 8 /* Terminated process */\n"
1113 "#define ACCOUNTING 9 /* Not implemented */\n"
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"
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"
1131 #: build/C/man5/utmp.5:83
1134 "#define UT_LINESIZE 32\n"
1135 "#define UT_NAMESIZE 32\n"
1136 "#define UT_HOSTSIZE 256\n"
1138 "#define UT_LINESIZE 32\n"
1139 "#define UT_NAMESIZE 32\n"
1140 "#define UT_HOSTSIZE 256\n"
1143 #: build/C/man5/utmp.5:88
1146 "struct exit_status { /* Type for ut_exit, below */\n"
1147 " short int e_termination; /* Process termination status */\n"
1148 " short int e_exit; /* Process exit status */\n"
1151 "struct exit_status { /* Type for ut_exit, below */\n"
1152 " short int e_termination; /* Process termination status */\n"
1153 " short int e_exit; /* Process exit status */\n"
1157 #: build/C/man5/utmp.5:116
1161 " short ut_type; /* Type of record */\n"
1162 " pid_t ut_pid; /* PID of login process */\n"
1163 " char ut_line[UT_LINESIZE]; /* Device name of tty - \"/dev/\" */\n"
1164 " char ut_id[4]; /* Terminal name suffix,\n"
1165 " or inittab(5) ID */\n"
1166 " char ut_user[UT_NAMESIZE]; /* Username */\n"
1167 " char ut_host[UT_HOSTSIZE]; /* Hostname for remote login, or\n"
1168 " kernel version for run-level\n"
1170 " struct exit_status ut_exit; /* Exit status of a process\n"
1171 " marked as DEAD_PROCESS; not\n"
1172 " used by Linux init(8) */\n"
1173 " /* The ut_session and ut_tv fields must be the same size when\n"
1174 " compiled 32- and 64-bit. This allows data files and shared\n"
1175 " memory to be shared between 32- and 64-bit applications. */\n"
1176 "#if __WORDSIZE == 64 && defined __WORDSIZE_COMPAT32\n"
1177 " int32_t ut_session; /* Session ID (B<getsid>(2)),\n"
1178 " used for windowing */\n"
1180 " int32_t tv_sec; /* Seconds */\n"
1181 " int32_t tv_usec; /* Microseconds */\n"
1182 " } ut_tv; /* Time entry was made */\n"
1184 " long ut_session; /* Session ID */\n"
1185 " struct timeval ut_tv; /* Time entry was made */\n"
1189 " short ut_type; /* Type of record */\n"
1190 " pid_t ut_pid; /* PID of login process */\n"
1191 " char ut_line[UT_LINESIZE]; /* Device name of tty - \"/dev/\" */\n"
1192 " char ut_id[4]; /* Terminal name suffix,\n"
1193 " or inittab(5) ID */\n"
1194 " char ut_user[UT_NAMESIZE]; /* Username */\n"
1195 " char ut_host[UT_HOSTSIZE]; /* Hostname for remote login, or\n"
1196 " kernel version for run-level\n"
1198 " struct exit_status ut_exit; /* Exit status of a process\n"
1199 " marked as DEAD_PROCESS; not\n"
1200 " used by Linux init(8) */\n"
1201 " /* ut_session と ut_tv フィールドは、32ビットでコンパイルされた場合と\n"
1202 " 64ビットでコンパイルされた場合で同じサイズでなければならない。\n"
1203 " こうすることで、32ビットと64ビットのアプリケーションで、\n"
1204 " データファイルと共有メモリを共有することができるようになる。 */\n"
1205 "#if __WORDSIZE == 64 && defined __WORDSIZE_COMPAT32\n"
1206 " int32_t ut_session; /* Session ID (B<getsid>(2)),\n"
1207 " used for windowing */\n"
1209 " int32_t tv_sec; /* Seconds */\n"
1210 " int32_t tv_usec; /* Microseconds */\n"
1211 " } ut_tv; /* Time entry was made */\n"
1213 " long ut_session; /* Session ID */\n"
1214 " struct timeval ut_tv; /* Time entry was made */\n"
1218 #: build/C/man5/utmp.5:122
1221 " int32_t ut_addr_v6[4]; /* Internet address of remote\n"
1222 " host; IPv4 address uses\n"
1223 " just ut_addr_v6[0] */\n"
1224 " char __unused[20]; /* Reserved for future use */\n"
1227 " int32_t ut_addr_v6[4]; /* Internet address of remote\n"
1228 " host; IPv4 address uses\n"
1229 " just ut_addr_v6[0] */\n"
1230 " char __unused[20]; /* Reserved for future use */\n"
1234 #: build/C/man5/utmp.5:130
1237 "/* Backward compatibility hacks */\n"
1238 "#define ut_name ut_user\n"
1239 "#ifndef _NO_UT_TIME\n"
1240 "#define ut_time ut_tv.tv_sec\n"
1242 "#define ut_xtime ut_tv.tv_sec\n"
1243 "#define ut_addr ut_addr_v6[0]\n"
1245 "/* Backward compatibility hacks */\n"
1246 "#define ut_name ut_user\n"
1247 "#ifndef _NO_UT_TIME\n"
1248 "#define ut_time ut_tv.tv_sec\n"
1250 "#define ut_xtime ut_tv.tv_sec\n"
1251 "#define ut_addr ut_addr_v6[0]\n"
1254 #: build/C/man5/utmp.5:140
1256 "This structure gives the name of the special file associated with the user's "
1257 "terminal, the user's login name, and the time of login in the form of B<time>"
1258 "(2). String fields are terminated by a null byte (\\(aq\\e0\\(aq) if they "
1259 "are shorter than the size of the field."
1261 "この構造体からユーザーの使っている端末のスペシャルファイル名、 ユーザーのログ"
1262 "イン名、 (B<time>(2) 形式での)ログイン時刻がわかる。文字列フィールドは、 "
1263 "フィールドの長さより文字列が短い場合には、 NULL バイト (\\(aq\\e0\\(aq) に"
1267 #: build/C/man5/utmp.5:157
1269 "The first entries ever created result from B<init>(8) processing B<inittab>"
1270 "(5). Before an entry is processed, though, B<init>(8) cleans up utmp by "
1271 "setting I<ut_type> to B<DEAD_PROCESS>, clearing I<ut_user>, I<ut_host>, and "
1272 "I<ut_time> with null bytes for each record which I<ut_type> is not "
1273 "B<DEAD_PROCESS> or B<RUN_LVL> and where no process with PID I<ut_pid> "
1274 "exists. If no empty record with the needed I<ut_id> can be found, B<init>"
1275 "(8) creates a new one. It sets I<ut_id> from the inittab, I<ut_pid> and "
1276 "I<ut_time> to the current values, and I<ut_type> to B<INIT_PROCESS>."
1278 "最初のエントリは B<init>(8) コマンドが B<inittab>(5) を処理することで作られ"
1279 "る。 あるエントリを処理する前に、 B<init>(8) は I<ut_type> を "
1280 "B<DEAD_PROCESS> に初期化する。 レコードの I<ut_type> が B<DEAD_PROCESS> と "
1281 "B<RUN_LVL> のいずれでもなく、 かつ PID が I<ut_pid> であるプロセスがいない場"
1282 "合は、I<ut_user>, I<ut_host>, I<ut_time> をヌルバイトでクリアして初期化を行"
1283 "う。 必要な I<ut_id> を持つ空のレコードを見つけられなかった場合、 B<init>"
1284 "(8) は新しいレコードを作る。inittab から I<ut_id> を設定し、 I<ut_pid> およ"
1285 "び I<ut_time> を現在値に、 I<ut_type> を B<INIT_PROCESS> に設定する。"
1288 #: build/C/man5/utmp.5:176
1290 "B<mingetty>(8) (or B<agetty>(8)) locates the entry by the PID, changes "
1291 "I<ut_type> to B<LOGIN_PROCESS>, changes I<ut_time>, sets I<ut_line>, and "
1292 "waits for connection to be established. B<login>(1), after a user has been "
1293 "authenticated, changes I<ut_type> to B<USER_PROCESS>, changes I<ut_time>, "
1294 "and sets I<ut_host> and I<ut_addr>. Depending on B<mingetty>(8) (or "
1295 "B<agetty>(8)) and B<login>(1), records may be located by I<ut_line> instead "
1296 "of the preferable I<ut_pid>."
1298 "B<mingetty>(8) (または B<agetty>(8)) は pid でエントリを特定し、 "
1299 "I<ut_type> を B<LOGIN_PROCESS> に変更し、 I<ut_time> を更新し、I<ut_line>を設"
1300 "定した後、接続が確立されるのを待つ。 B<login>(1) はユーザー認証が終了する"
1301 "と、 I<ut_type> を B<USER_PROCESS> に変更し、 I<ut_time> を更新し、"
1302 "I<ut_host> と I<ut_addr>を設定する。 B<mingetty>(8) (または B<agetty>(8)) "
1303 "と B<login>(1) により異なるが、 I<ut_pid> の代わりに I<ut_line> を使ってレ"
1304 "コードの特定が行われることもある (I<ut_pid> を使う方が望ましい) 。"
1307 #: build/C/man5/utmp.5:182
1309 "When B<init>(8) finds that a process has exited, it locates its utmp entry "
1310 "by I<ut_pid>, sets I<ut_type> to B<DEAD_PROCESS>, and clears I<ut_user>, "
1311 "I<ut_host> and I<ut_time> with null bytes."
1313 "B<init>(8) はプロセスの終了を検出した場合、 I<ut_pid> をキーとして utmp のエ"
1314 "ントリを特定し、 I<ut_type> を B<DEAD_PROCESS> に設定し、 I<ut_user>, "
1315 "I<ut_host>, I<ut_time> をヌルバイトでクリアする。"
1318 #: build/C/man5/utmp.5:194
1320 "B<xterm>(1) and other terminal emulators directly create a B<USER_PROCESS> "
1321 "record and generate the I<ut_id> by using the string that suffix part of the "
1322 "terminal name (the characters following I</dev/[pt]ty>). If they find a "
1323 "B<DEAD_PROCESS> for this ID, they recycle it, otherwise they create a new "
1324 "entry. If they can, they will mark it as B<DEAD_PROCESS> on exiting and it "
1325 "is advised that they null I<ut_line>, I<ut_time>, I<ut_user>, and I<ut_host> "
1328 "B<xterm>(1) コマンドや他の端末エミュレータは 直接 B<USER_PROCESS> のレコード"
1329 "を作り、 端末名のサフィックス文字列 (I</dev/[pt]ty> に続く文字列) を使って "
1330 "I<ut_id> の値を生成する。 この id を持つエントリが B<DEAD_PROCESS> であった場"
1331 "合には再利用し、 それ以外の場合には新しいエントリが作られる。 可能な場合には"
1332 "プロセス終了時に B<DEAD_PROCESS> と設定し、 さらに I<ut_line>, I<ut_time>, "
1333 "I<ut_user>, I<ut_host> をヌルバイトでクリアすることが奨励されている。"
1336 #: build/C/man5/utmp.5:202
1338 "B<telnetd>(8) sets up a B<LOGIN_PROCESS> entry and leaves the rest to "
1339 "B<login>(1) as usual. After the telnet session ends, B<telnetd>(8) cleans "
1340 "up utmp in the described way."
1342 "B<telnetd>(8) は B<LOGIN_PROCESS> を設定するだけでよく、 残りの処理は通常通"
1343 "り B<login>(1) に任せればよい。 telnet のセッションが終了した後、前述のよう"
1344 "に B<telnetd>(8) が utmp のエントリを初期化する。"
1347 #: build/C/man5/utmp.5:224
1349 "The I<wtmp> file records all logins and logouts. Its format is exactly like "
1350 "I<utmp> except that a null username indicates a logout on the associated "
1351 "terminal. Furthermore, the terminal name B<~> with username B<shutdown> or "
1352 "B<reboot> indicates a system shutdown or reboot and the pair of terminal "
1353 "names B<|>/B<}> logs the old/new system time when B<date>(1) changes it. "
1354 "I<wtmp> is maintained by B<login>(1), B<init>(8), and some versions of "
1355 "B<getty>(8) (e.g., B<mingetty>(8) or B<agetty>(8)). None of these "
1356 "programs creates the file, so if it is removed, record-keeping is turned off."
1358 "I<wtmp> ファイルには、すべてのログインとログアウトが記録される。 そのフォー"
1359 "マットは、ログアウト済の端末でユーザー名がヌルとなること以外は I<utmp> とまっ"
1360 "たく同じである。 ユーザー名が B<shutdown> もしくは B<reboot> である 端末名 "
1361 "B<~> はシステムの停止 (shutdown) または再起動 (reboot) を意味する。またその"
1362 "端末名が B<|> と B<}> の対は B<date>(1) コマンドで変更した新/旧のシステム時"
1363 "刻を記録している。 I<wtmp> ファイルは B<login>(1), B<init>(8) やいくつかの"
1364 "バージョンの B<getty>(8) (B<mingetty>(8) または B<agetty>(8)) により管理さ"
1365 "れている。 これらのプログラムはどれもファイルを新たに作成しないので、 ファイ"
1366 "ルを削除することで情報の記録 (record-keeping) を止めることができる。"
1369 #: build/C/man5/utmp.5:226
1370 msgid "/var/run/utmp"
1371 msgstr "/var/run/utmp"
1374 #: build/C/man5/utmp.5:228
1375 msgid "/var/log/wtmp"
1376 msgstr "/var/log/wtmp"
1379 #: build/C/man5/utmp.5:247
1381 "POSIX.1 does not specify a I<utmp> structure, but rather one named I<utmpx>, "
1382 "with specifications for the fields I<ut_type>, I<ut_pid>, I<ut_line>, "
1383 "I<ut_id>, I<ut_user>, and I<ut_tv>. POSIX.1 does not specify the lengths of "
1384 "the I<ut_line> and I<ut_user> fields."
1386 "POSIX.1 では、 I<utmp> 構造体ではなく、 I<utmpx> 構造体を規定している。 "
1387 "I<utmpx> 構造体で規定されているのは、フィールド I<ut_type>, I<ut_pid>, "
1388 "I<ut_line>, I<ut_id>, I<ut_user>, I<ut_tv> である。 POSIX.1 では、フィールド "
1389 "I<ut_line> と I<ut_user> の長さは規定されていない。"
1392 #: build/C/man5/utmp.5:253
1394 "Linux defines the I<utmpx> structure to be the same as the I<utmp> structure."
1395 msgstr "Linux では、 I<utmpx> 構造体の定義は I<utmp> 構造体と同じである。"
1398 #: build/C/man5/utmp.5:253
1400 #| msgid "Comparison with Historical Systems"
1401 msgid "Comparison with historical systems"
1402 msgstr "過去のシステムとの比較"
1405 #: build/C/man5/utmp.5:256
1407 "Linux utmp entries conform neither to v7/BSD nor to System V; they are a mix "
1410 "Linux での utmp のエントリは v7/BSD や System V のいずれにも準拠しておらず、 "
1414 #: build/C/man5/utmp.5:263
1416 "v7/BSD has fewer fields; most importantly it lacks I<ut_type>, which causes "
1417 "native v7/BSD-like programs to display (for example) dead or login entries. "
1418 "Further, there is no configuration file which allocates slots to sessions. "
1419 "BSD does so because it lacks I<ut_id> fields."
1421 "v7/BSD ではより少しの項目しかない; もっとも重要なことは、I<ut_type> が無いこ"
1422 "とである。 そのため v7/BSD 系のプログラムでは (たとえば) 死んだ状態のエントリ"
1423 "や ログイン状態のエントリまで表示されてしまうことになった。 さらにセッション"
1424 "用のスロットを割り当てるための設定ファイルがない。 BSD に設定ファイルがあるの"
1425 "は I<ut_id> がないからである。"
1428 #: build/C/man5/utmp.5:275
1430 "In Linux (as in System V), the I<ut_id> field of a record will never change "
1431 "once it has been set, which reserves that slot without needing a "
1432 "configuration file. Clearing I<ut_id> may result in race conditions leading "
1433 "to corrupted utmp entries and potential security holes. Clearing the "
1434 "abovementioned fields by filling them with null bytes is not required by "
1435 "System V semantics, but makes it possible to run many programs which assume "
1436 "BSD semantics and which do not modify utmp. Linux uses the BSD conventions "
1437 "for line contents, as documented above."
1439 "Linux (System V 系)では、設定ファイルを必要とせず セッション用のスロットを割"
1440 "り当てるので、一旦設定 されてしまうとレコードの I<ut_id> は決して変更されな"
1441 "い。 I<ut_id> をクリアすると競合状態におちいり、 utmp のエントリを壊したり、"
1442 "潜在的なセキュリティホールになる可能性がある。 上述のフィールドを NULL バイト"
1443 "で埋めてクリアしておくのは、 System V での取り決めでは必要とはされていない"
1444 "が、 BSD での取り決めを前提としていて、かつ utmp を更新しない多くのプログラム"
1445 "が 動作するようにするためである。 Linux ではここまで記述してきたように、行内"
1446 "容の表示は BSD の慣例に従っている。"
1448 #. mtk: What is the referrent of "them" in the following sentence?
1449 #. System V only uses the type field to mark them and logs
1450 #. informative messages such as \fB"new time"\fP in the line field.
1452 #: build/C/man5/utmp.5:280
1453 msgid "System V has no I<ut_host> or I<ut_addr_v6> fields."
1455 "B<UT_UNKNOWN> は Linux で作られたもののようである。 System V には I<ut_host> "
1456 "も I<ut_addr_v6> も存在しない。"
1459 #: build/C/man5/utmp.5:288
1461 "Unlike various other systems, where utmp logging can be disabled by removing "
1462 "the file, utmp must always exist on Linux. If you want to disable B<who>"
1463 "(1) then do not make utmp world readable."
1465 "ファイルを削除することで utmp への記録を止められる 他の様々なシステムとは違"
1466 "い、Linux では utmp ファイルを必ずおいて おく必要がある。 B<who>(1) コマンド"
1467 "が機能しないようにしたい場合には、 utmp ファイルの全ユーザーに対する読み取り"
1471 #: build/C/man5/utmp.5:291
1473 "The file format is machine-dependent, so it is recommended that it be "
1474 "processed only on the machine architecture where it was created."
1476 "ファイルのフォーマットはマシンに依存するので、ファイルが作られた マシンもしく"
1477 "は同一アーキテクチャのマシン上でのみ処理することを推奨する。"
1480 #: build/C/man5/utmp.5:312
1482 "Note that on I<biarch> platforms, that is, systems which can run both 32-bit "
1483 "and 64-bit applications (x86-64, ppc64, s390x, etc.), I<ut_tv> is the same "
1484 "size in 32-bit mode as in 64-bit mode. The same goes for I<ut_session> and "
1485 "I<ut_time> if they are present. This allows data files and shared memory to "
1486 "be shared between 32-bit and 64-bit applications. This is achieved by "
1487 "changing the type of I<ut_session> to I<int32_t>, and that of I<ut_tv> to a "
1488 "struct with two I<int32_t> fields I<tv_sec> and I<tv_usec>. Since I<ut_tv> "
1489 "may not be the same as I<struct timeval>, then instead of the call:"
1491 "注意すべき点としては、 I<biarch> なプラットフォーム、つまり 32ビットと 64ビッ"
1492 "トの両方の アプリケーションを実行できるシステム (x86-64, ppc64, s390x など) "
1493 "では、 I<ut_tv> のサイズは 32ビットモードと 64ビットモードで同じである。 "
1494 "I<ut_session> と I<ut_time> も、存在する場合には同様に同じサイズ である。これ"
1495 "により、32ビットアプリケーションと 64ビットアプリケーション の間でデータファ"
1496 "イルと共有メモリを共有することが可能になる。 そのためには、 I<ut_session> を "
1497 "I<int32_t> 型に、 I<ut_tv> を 2つの I<int32_t> 型のフィールド I<tv_sec>, "
1498 "I<tv_usec> を持つ構造体に変更すればよい I<ut_tv> は I<struct timeval> と同じ"
1502 #: build/C/man5/utmp.5:316
1504 msgid "gettimeofday((struct timeval *) &ut.ut_tv, NULL);\n"
1505 msgstr "gettimeofday((struct timeval *) &ut.ut_tv, NULL);\n"
1508 #: build/C/man5/utmp.5:320
1509 msgid "the following method of setting this field is recommended:"
1511 "のような呼び出しをするのではなく、 以下のように各フィールドを設定する方法が推"
1515 #: build/C/man5/utmp.5:325
1519 "struct timeval tv;\n"
1522 "struct timeval tv;\n"
1525 #: build/C/man5/utmp.5:329
1528 "gettimeofday(&tv, NULL);\n"
1529 "ut.ut_tv.tv_sec = tv.tv_sec;\n"
1530 "ut.ut_tv.tv_usec = tv.tv_usec;\n"
1532 "gettimeofday(&tv, NULL);\n"
1533 "ut.ut_tv.tv_sec = tv.tv_sec;\n"
1534 "ut.ut_tv.tv_usec = tv.tv_usec;\n"
1537 #: build/C/man5/utmp.5:336
1539 "Note that the I<utmp> struct from libc5 has changed in libc6. Because of "
1540 "this, binaries using the old libc5 struct will corrupt I</var/run/utmp> and/"
1541 "or I</var/log/wtmp>."
1543 "utmp 構造体は libc5 から libc6 で変更された。そのため昔の libc5 の構造体 を"
1544 "使ったプログラムは I</var/run/utmp> や I</var/log/wtmp> ファイルを壊してしま"
1548 #: build/C/man5/utmp.5:336
1554 #: build/C/man5/utmp.5:338
1556 "This man page is based on the libc5 one, things may work differently now."
1558 "この man ページは libc5 に基づいて作られていて、 最新のものでは違っているかも"
1562 #: build/C/man5/utmp.5:352
1565 #| "B<ac>(1), B<date>(1), B<last>(1), B<login>(1), B<who>(1), B<getutent>(3), "
1566 #| "B<getutmp>(3), B<login>(3), B<logout>(3), B<logwtmp>(3), B<updwtmp>(3), "
1569 "B<ac>(1), B<date>(1), B<last>(1), B<login>(1), B<utmpdump>(1), B<who>(1), "
1570 "B<getutent>(3), B<getutmp>(3), B<login>(3), B<logout>(3), B<logwtmp>(3), "
1571 "B<updwtmp>(3), B<init>(8)"
1573 "B<ac>(1), B<date>(1), B<last>(1), B<login>(1), B<who>(1), B<getutent>(3), "
1574 "B<getutmp>(3), B<login>(3), B<logout>(3), B<logwtmp>(3), B<updwtmp>(3), "
1577 #~ msgid "2011-09-28"
1578 #~ msgstr "2011-09-28"