OSDN Git Service

(split) LDP: Update the version to 3.53 in PO files
[linuxjm/LDP_man-pages.git] / draft / man3 / ftok.3
1 .\" Copyright 1993 Giorgio Ciucci (giorgio@crcc.it)
2 .\"
3 .\" %%%LICENSE_START(VERBATIM)
4 .\" Permission is granted to make and distribute verbatim copies of this
5 .\" manual provided the copyright notice and this permission notice are
6 .\" preserved on all copies.
7 .\"
8 .\" Permission is granted to copy and distribute modified versions of this
9 .\" manual under the conditions for verbatim copying, provided that the
10 .\" entire resulting derived work is distributed under the terms of a
11 .\" permission notice identical to this one.
12 .\"
13 .\" Since the Linux kernel and libraries are constantly changing, this
14 .\" manual page may be incorrect or out-of-date.  The author(s) assume no
15 .\" responsibility for errors or omissions, or for damages resulting from
16 .\" the use of the information contained herein.  The author(s) may not
17 .\" have taken the same level of care in the production of this manual,
18 .\" which is licensed free of charge, as they might when working
19 .\" professionally.
20 .\"
21 .\" Formatted or processed versions of this manual, if unaccompanied by
22 .\" the source, must acknowledge the copyright and authors of this work.
23 .\" %%%LICENSE_END
24 .\"
25 .\" Modified 2001-11-28, by Michael Kerrisk, <mtk.manpages@gmail.com>
26 .\"     Changed data type of proj_id; minor fixes
27 .\"     aeb: further fixes; added notes.
28 .\"
29 .\"*******************************************************************
30 .\"
31 .\" This file was generated with po4a. Translate the source file.
32 .\"
33 .\"*******************************************************************
34 .TH FTOK 3 2001\-11\-28 GNU "Linux Programmer's Manual"
35 .SH 名前
36 ftok \- パス名とプロジェクト識別子を System V IPC キーに変換する
37 .SH 書式
38 .nf
39 \fB#include <sys/types.h>\fP
40 \fB#include <sys/ipc.h>\fP
41 .fi
42 .sp
43 \fBkey_t ftok(const char *\fP\fIpathname\fP\fB, int \fP\fIproj_id\fP\fB);\fP
44 .SH 説明
45 \fBftok\fP()  関数は \fIpathname\fP で与えられたファイル (存在し、アクセス可能でなければならない)  のファイル名の識別情報
46 (identity) と、 \fIproj_id\fP (0 であってはならない) の低位 8 ビットとを用いて、 \fIkey_t\fP 型の System V
47 IPC キーを生成する。 このキーは \fBmsgget\fP(2), \fBsemget\fP(2), \fBshmget\fP(2)  などでの利用に適している。
48 .LP
49 同じファイルを示すあらゆるパス名と、同じ \fIproj_id\fP に対しては、結果の値は等しくなる。 ファイルが違ったり
50 (この場合両者は同時に存在しているはず)、 \fIproj_id\fP が異なると、返り値も異なる。
51 .SH 返り値
52 成功した場合は生成された \fIkey_t\fP の値が返される。 失敗すると \-1 が返され、エラーの内容が \fBerrno\fP
53 に書き込まれる。この内容はシステムコール \fBstat\fP(2)  のものと同じである。
54 .SH 準拠
55 POSIX.1\-2001.
56 .SH 注意
57 libc4 と libc5 (および SunOS 4.x) では、 プロトタイプは以下のようになっている。
58 .sp
59 .RS
60 \fBkey_t ftok(char *\fP\fIpathname\fP\fB, char \fP\fIproj_id\fP\fB);\fP
61 .RE
62 .PP
63 現在では \fIproj_id\fP は \fIint\fP だが、依然として 8 ビットしか用いられない。 通常は ASCII キャラクタが \fIproj_id\fP
64 に用いられる。 \fIproj_id\fP が 0 のときの振る舞いが未定義になっているのは、これが理由である。
65 .LP
66 もちろん \fIkey_t\fP が他と重ならないものであるかどうかは保証されない。 最善の場合の組み合わせを考えても、 \fIproj_id\fP の 1
67 バイト、i ノード番号の低位 16 ビット、および デバイス番号の低位 8 ビットなので、結果は 32 ビットに過ぎない。 例えば
68 \fI/dev/hda1\fP と \fI/dev/sda1\fP それぞれにあるファイルに対して、衝突は容易に起こりうる。
69 .SH 関連項目
70 \fBmsgget\fP(2), \fBsemget\fP(2), \fBshmget\fP(2), \fBstat\fP(2), \fBsvipc\fP(7)
71 .SH この文書について
72 この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.53 の一部
73 である。プロジェクトの説明とバグ報告に関する情報は
74 http://www.kernel.org/doc/man\-pages/ に書かれている。