OSDN Git Service

(split) LDP: Release pages for LDP v3.39.
[linuxjm/LDP_man-pages.git] / release / man3 / lockf.3
index d889595..80455de 100644 (file)
@@ -1,4 +1,4 @@
-.\" Copyright 1997 Nicolas Lichtmaier <nick@debian.org>
+.\" Copyright 1997 Nicolás Lichtmaier <nick@debian.org>
 .\" Created Thu Aug  7 00:44:00 ART 1997
 .\"
 .\" This is free documentation; you can redistribute it and/or
 .\" Added section stuff, aeb, 2002-04-22.
 .\" Corrected include file, drepper, 2003-06-15.
 .\"
-.\" Japanese Version Copyright (c) 2000-2002 Yuichi SATO
-.\"         all rights reserved.
-.\" Translated Tue Jul 11 19:02:58 JST 2000
-.\"         by Yuichi SATO <ysato@h4.dion.ne.jp>
-.\" Updated & Modified Mon Jul 15 02:10:29 JST 2002 by Yuichi SATO
-.\" Updated 2010-04-18, Akihiro MOTOKI <amotoki@dd.iij4u.or.jp>, LDP v3.24
+.\"*******************************************************************
 .\"
-.\"WORD:       apply           Å¬ÍÑ
-.\"WORD:       remove          ²ò½ü
-.\"WORD:       exclusive       ÇÓ¾
-.\"WORD:       descriptor      ¥Ç¥£¥¹¥¯¥ê¥×¥¿
-.\"WORD:       
+.\" This file was generated with po4a. Translate the source file.
 .\"
-.TH LOCKF 3 2010-09-20 "GNU" "Linux Programmer's Manual"
-.SH Ì¾Á°
-lockf \- ¥ª¡¼¥×¥ó¤µ¤ì¤¿¥Õ¥¡¥¤¥ë¤ËÂФ¹¤ë POSIX ¥í¥Ã¥¯¤ÎŬÍÑ¡¦¥Æ¥¹¥È¡¦²ò½ü¤ò¹Ô¤¦
-.SH ½ñ¼°
-.B #include <unistd.h>
+.\"*******************************************************************
+.TH LOCKF 3 2011\-09\-11 GNU "Linux Programmer's Manual"
+.SH 名前
+lockf \- オープンされたファイルに対する POSIX ロックの適用・テスト・解除を行う
+.SH 書式
+\fB#include <unistd.h>\fP
 .sp
-.BI "int lockf(int " fd ", int " cmd ", off_t " len );
+\fBint lockf(int \fP\fIfd\fP\fB, int \fP\fIcmd\fP\fB, off_t \fP\fIlen\fP\fB);\fP
 .sp
 .in -4n
-glibc ¸þ¤±¤Îµ¡Ç½¸¡ºº¥Þ¥¯¥í¤ÎÍ×·ï
-.RB ( feature_test_macros (7)
-»²¾È):
+glibc 向けの機能検査マクロの要件 (\fBfeature_test_macros\fP(7)  参照):
 .in
 .sp
-.BR lockf ():
+\fBlockf\fP():
 .ad l
 .RS 4
-_BSD_SOURCE || _SVID_SOURCE || _XOPEN_SOURCE\ >=\ 500 ||
-_XOPEN_SOURCE\ &&\ _XOPEN_SOURCE_EXTENDED
+_BSD_SOURCE || _SVID_SOURCE || _XOPEN_SOURCE\ >=\ 500 || _XOPEN_SOURCE\ &&\ _XOPEN_SOURCE_EXTENDED
 .RE
 .ad
-.SH ÀâÌÀ
-¥ª¡¼¥×¥ó¤µ¤ì¤¿¥Õ¥¡¥¤¥ë¤Î¥»¥¯¥·¥ç¥ó¤ËÂФ·¤Æ¡¢
-POSIX ¥í¥Ã¥¯¤ÎŬÍÑ¡¦¥Æ¥¹¥È¡¦²ò½ü¤ò¤¹¤ë¡£
-¥Õ¥¡¥¤¥ë¤Ï
-.I fd
-¤Ç»ØÄꤵ¤ì¤ë¡£
-.I fd
-¤Ï½ñ¤­¹þ¤ß¤Î¤¿¤á¤Ë¥ª¡¼¥×¥ó¤·¤¿¥Õ¥¡¥¤¥ë¥Ç¥£¥¹¥¯¥ê¥×¥¿¤Ç¤¢¤ë¡£
-¥¢¥¯¥·¥ç¥ó¤Ï
-.I cmd
-¤Ç»ØÄꤵ¤ì¤ë¡£
-.I pos
-¤ò¸½ºß¤Î¥Õ¥¡¥¤¥ë°ÌÃ֤Ȥ¹¤ë¤È¡¢
-.I len
-¤¬Àµ¤Î¾ì¹ç¡¢¥»¥¯¥·¥ç¥ó¤Ï¥Ð¥¤¥È°ÌÃÖ
-.IR pos .. pos + len \-1
-¤È¤Ê¤ê¡¢
-.I len
-¤¬Éé¤Î¾ì¹ç¡¢¥»¥¯¥·¥ç¥ó¤Ï¥Ð¥¤¥È°ÌÃÖ
-.IR pos - len .. pos \-1
-¤È¤Ê¤ë¡£
-.I len
-¤¬ 0 ¤Î¾ì¹ç¡¢¥»¥¯¥·¥ç¥ó¤Ï¸½ºß¤Î¥Õ¥¡¥¤¥ë°ÌÃÖ¤«¤é̵¸ÂÂç¤Þ¤Ç¤È¤Ê¤ë
-(¤Ä¤Þ¤ê¸½ºß¤Î¡¢¤¢¤ë¤¤¤ÏÊѹ¹¤µ¤ì¤¿¾ì¹ç¤Ï¾­Íè¤Î¡¢¥Õ¥¡¥¤¥ë½ªÃ¼°ÌÃÖ¤Þ¤Ç)¡£
-¤É¤Î¾ì¹ç¤Ë¤ª¤¤¤Æ¤â¡¢¥»¥¯¥·¥ç¥ó¤Ï°ÊÁ°¤Î¥Õ¥¡¥¤¥ë½ªÃ¼¤è¤ê¤â³ÈÂ礵¤ì¤¦¤ë¡£
+.SH 説明
+オープンされたファイルのセクションに対して、 POSIX ロックの適用・テスト・解除をする。 ファイルは \fIfd\fP で指定される。 \fIfd\fP
+は書き込みのためにオープンしたファイルディスクリプタである。 アクションは \fIcmd\fP で指定される。 \fIpos\fP を現在のファイル位置とすると、
+\fIlen\fP が正の場合、セクションはバイト位置 \fIpos\fP..\fIpos\fP+\fIlen\fP\-1 となり、 \fIlen\fP
+が負の場合、セクションはバイト位置 \fIpos\fP\-\fIlen\fP..\fIpos\fP\-1 となる。 \fIlen\fP が 0
+の場合、セクションは現在のファイル位置から無限大までとなる (つまり現在の、あるいは変更された場合は将来の、ファイル終端位置まで)。
+どの場合においても、セクションは以前のファイル終端よりも拡大されうる。
 .LP
-Linux ¤Ç¤Ï¡¢
-.BR lockf ()
-¤Ïñ¤Ë
-.BR fcntl (2)
-¤Î¥í¥Ã¥¯¤Ø¤Î¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤Ç¤¢¤ë¡£
-¿¤¯¤Î¾¤Î¥·¥¹¥Æ¥à¤Ç
-.BR lockf ()
-¤Ï¤³¤Î¤è¤¦¤Ë¼ÂÁõ¤µ¤ì¤Æ¤¤¤ë¤¬¡¢
-POSIX.1-2001 ¤Ç¤Ï
-.BR lockf ()
-¤È
-.BR fcntl (2)
-¤Î¥í¥Ã¥¯¤È¤Î´Ø·¸¤Ïµ¬Äꤵ¤ì¤Æ¤¤¤Ê¤¤¡£
-¤ª¤½¤é¤¯¡¢°Ü¿¢À­¤¬É¬Íפʥ¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ç¤Ï¡¢
-.BR lockf ()
-¤È
-.BR fcntl (2)
-¤Î¥í¥Ã¥¯¤òº®¤¼¤Æ¸Æ¤Ó½Ð¤¹¤Î¤ÏÈò¤±¤ë¤Ù¤­¤Ç¤¢¤í¤¦¡£
+Linux では、 \fBlockf\fP()  は単に \fBfcntl\fP(2)  のロックへのインターフェースである。 多くの他のシステムで
+\fBlockf\fP()  はこのように実装されているが、 POSIX.1\-2001 では \fBlockf\fP()  と \fBfcntl\fP(2)
+のロックとの関係は規定されていない。 おそらく、移植性が必要なアプリケーションでは、 \fBlockf\fP()  と \fBfcntl\fP(2)
+のロックを混ぜて呼び出すのは避けるべきであろう。
 .LP
-Í­¸ú¤Ê¥ª¥×¥·¥ç¥ó¤ò°Ê²¼¤Ëµó¤²¤ë¡£
-.TP
-.B F_LOCK
-¥Õ¥¡¥¤¥ë¤Î»ØÄꤵ¤ì¤¿¥»¥¯¥·¥ç¥ó¤ËÇÓ¾¥í¥Ã¥¯¤òÀßÄꤹ¤ë¡£
-¤½¤Î¥»¥¯¥·¥ç¥ó (¤Î°ìÉô) ¤¬´û¤Ë¥í¥Ã¥¯¤µ¤ì¤Æ¤¤¤¿¾ì¹ç¡¢
-Á°¤Î¥í¥Ã¥¯¤¬²ò½ü¤µ¤ì¤ë¤Þ¤Ç´Ø¿ô¤Î¸Æ¤Ó½Ð¤·¤¬¥Ö¥í¥Ã¥¯¤µ¤ì¤ë¡£
-¤³¤Î¥»¥¯¥·¥ç¥ó¤¬Á°¤Ë¥í¥Ã¥¯¤µ¤ì¤Æ¤¤¤ë¥»¥¯¥·¥ç¥ó¤È½Å¤Ê¤Ã¤¿¾ì¹ç¡¢
-2 ¤Ä¤Î¥»¥¯¥·¥ç¥ó¤Ï·ë¹ç¤µ¤ì¤ë¡£
-¥í¥Ã¥¯¤òÊÝ»ý¤·¤Æ¤¤¤ë¥×¥í¥»¥¹¤¬¡¢
-¤½¤Î¥Õ¥¡¥¤¥ë¤Î¥Õ¥¡¥¤¥ë¥Ç¥£¥¹¥¯¥ê¥×¥¿¤ò¥¯¥í¡¼¥º¤¹¤ë¤È¡¢
-¥Õ¥¡¥¤¥ë¥í¥Ã¥¯¤Ï²òÊü¤µ¤ì¤ë¡£
-»Ò¥×¥í¥»¥¹¤Ï¥í¥Ã¥¯¤ò·Ñ¾µ¤·¤Ê¤¤¡£
-.TP
-.B F_TLOCK
-.B F_LOCK
-¤ÈƱÍͤǤ¢¤ë¤¬¡¢¥Õ¥¡¥¤¥ë¤¬´û¤Ë¥í¥Ã¥¯¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢
-´Ø¿ô¤Î¸Æ¤Ó½Ð¤·¤Ï¥Ö¥í¥Ã¥¯¤ò¹Ô¤ï¤º¤Ë¥¨¥é¡¼¤òÊÖ¤¹¡£
-.TP
-.B F_ULOCK
-¥Õ¥¡¥¤¥ë¤Î»ØÄꤵ¤ì¤¿¥»¥¯¥·¥ç¥ó¤Î¥í¥Ã¥¯¤ò²ò½ü¤¹¤ë¡£
-¤³¤ì¤Ë¤è¤ê¥í¥Ã¥¯¤µ¤ì¤¿¥»¥¯¥·¥ç¥ó¤¬ 2 ¤Ä¤Ëʬ³ä¤µ¤ì¤ë¤«¤â¤·¤ì¤Ê¤¤¡£
-.TP
-.B F_TEST
-¼¡¤Î¤è¤¦¤Ë¥í¥Ã¥¯¤Î¥Æ¥¹¥È¤ò¤¹¤ë¡£
-»ØÄꤵ¤ì¤¿¥»¥¯¥·¥ç¥ó¤¬¥í¥Ã¥¯¤µ¤ì¤Æ¤¤¤Ê¤¤¤«¡¢
-¤³¤Î¥×¥í¥»¥¹¤Ë¤è¤ê¥í¥Ã¥¯¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢0 ¤òÊÖ¤¹¡£
-¾¤Î¥×¥í¥»¥¹¤¬¥í¥Ã¥¯¤òÊÝ»ý¤·¤Æ¤¤¤ë¾ì¹ç¡¢\-1 ¤òÊÖ¤·¡¢
-.I errno
-¤ò
-.B EAGAIN
-(¤¤¤¯¤Ä¤«¤Î¾¤Î¥·¥¹¥Æ¥à¤Ç¤Ï
-.BR EACCES )
-¤ËÀßÄꤹ¤ë¡£
-.SH ÊÖ¤êÃÍ
-À®¸ù¤·¤¿¾ì¹ç¡¢0 ¤¬ÊÖ¤µ¤ì¤ë¡£
-¥¨¥é¡¼¤Î¾ì¹ç¡¢\-1 ¤¬ÊÖ¤µ¤ì¡¢
-.I errno
-¤¬¥¨¥é¡¼¤ËÂбþ¤·¤¿ÃͤËÀßÄꤵ¤ì¤ë¡£
-.SH ¥¨¥é¡¼
-.TP
-.BR EACCES " ¤â¤·¤¯¤Ï " EAGAIN
-¥í¥Ã¥¯¤µ¤ì¤¿¥Õ¥¡¥¤¥ë¤ËÂФ·¤Æ¡¢
-.B F_TLOCK
-¤Þ¤¿¤Ï
-.B F_TEST
-¤¬»ØÄꤵ¤ì¤Æ¤¤¤ë¡£
-¤Þ¤¿¤Ï¡¢¥Õ¥¡¥¤¥ë¤¬Â¾¤Î¥×¥í¥»¥¹¤Ë¤è¤ê¥á¥â¥ê¡¼¥Þ¥Ã¥×¤µ¤ì¤Æ¤ª¤ê¡¢
-»ØÄꤵ¤ì¤¿Áàºî¤¬¶Ø»ß¤µ¤ì¤Æ¤¤¤ë¡£
-.TP
-.B EBADF
-.I fd
-¤¬¥ª¡¼¥×¥ó¤µ¤ì¤¿¥Õ¥¡¥¤¥ë¤Î¥Ç¥£¥¹¥¯¥ê¥×¥¿¤Ç¤Ï¤Ê¤¤¡£
-.TP
-.B EDEADLK
-¥³¥Þ¥ó¥É¤¬
-.B T_LOCK
-¤Ç¤¢¤ê¡¢¤³¤Î¥í¥Ã¥¯Áàºî¤ò¹Ô¤¦¤È¥Ç¥Ã¥É¥í¥Ã¥¯¤¬È¯À¸¤·¤Æ¤·¤Þ¤¦¡£
-.TP
-.B EINVAL
-.I fd
-¤Ë̵¸ú¤ÊÁàºî¤¬»ØÄꤵ¤ì¤¿¡£
-.TP
-.B ENOLCK
-Èó¾ï¤Ë¿¤¯¤Î¥»¥°¥á¥ó¥È¥í¥Ã¥¯¤¬³«¤«¤ì¡¢¥í¥Ã¥¯¥Æ¡¼¥Ö¥ë¤¬°ìÇդǤ¢¤ë¡£
-.SH ½àµò
-SVr4, POSIX.1-2001.
-.SH ´ØÏ¢¹àÌÜ
-.BR fcntl (2),
-.BR flock (2)
+有効なオプションを以下に挙げる。
+.TP 
+\fBF_LOCK\fP
+ファイルの指定されたセクションに排他ロックを設定する。 そのセクション (の一部) が既にロックされていた場合、
+前のロックが解除されるまで関数の呼び出しがブロックされる。 このセクションが前にロックされているセクションと重なった場合、 2
+つのセクションは結合される。 ロックを保持しているプロセスが、 そのファイルのファイルディスクリプタをクローズすると、 ファイルロックは解放される。
+子プロセスはロックを継承しない。
+.TP 
+\fBF_TLOCK\fP
+\fBF_LOCK\fP と同様であるが、ファイルが既にロックされている場合、 関数の呼び出しはブロックを行わずにエラーを返す。
+.TP 
+\fBF_ULOCK\fP
+ファイルの指定されたセクションのロックを解除する。 これによりロックされたセクションが 2 つに分割されるかもしれない。
+.TP 
+\fBF_TEST\fP
+次のようにロックのテストをする。 指定されたセクションがロックされていないか、 このプロセスによりロックされている場合、0 を返す。
+他のプロセスがロックを保持している場合、\-1 を返し、 \fIerrno\fP を \fBEAGAIN\fP (いくつかの他のシステムでは \fBEACCES\fP)
+に設定する。
+.SH 返り値
+成功した場合は 0 が返される。エラーの場合は \-1 が返され、 \fIerrno\fP が適切に設定される。
+.SH エラー
+.TP 
+\fBEACCES\fP か \fBEAGAIN\fP
+ロックされたファイルに対して、 \fBF_TLOCK\fP または \fBF_TEST\fP が指定されている。
+または、ファイルが他のプロセスによりメモリーマップされており、 指定された操作が禁止されている。
+.TP 
+\fBEBADF\fP
+\fIfd\fP がオープンされたファイルのディスクリプタではない。 または、 \fIcmd\fP が \fBF_LOCK\fP か \fBF_TLOCK\fP で、
+\fIfd\fP が書き込み可能なファイルディスクリプタでない。
+.TP 
+\fBEDEADLK\fP
+コマンドが \fBT_LOCK\fP であり、このロック操作を行うとデッドロックが発生してしまう。
+.TP 
+\fBEINVAL\fP
+\fIfd\fP に無効な操作が指定された。
+.TP 
+\fBENOLCK\fP
+非常に多くのセグメントロックが開かれ、ロックテーブルが一杯である。
+.SH 準拠
+SVr4, POSIX.1\-2001.
+.SH 関連項目
+\fBfcntl\fP(2), \fBflock\fP(2)
 .br
-¥«¡¼¥Í¥ë¥½¡¼¥¹¤Î
-.I Documentation/filesystems
-¥Ç¥£¥ì¥¯¥È¥ê¤Ë¤¢¤ë
-.I locks.txt
-¤È
-.I mandatory-locking.txt
-(°ÊÁ°¤Î¥«¡¼¥Í¥ë¤Ç¤Ï¡¢¤³¤ì¤é¤Î¥Õ¥¡¥¤¥ë¤Ï
-.I Documentation
-¥Ç¥£¥ì¥¯¥È¥êľ²¼¤Ë¤¢¤ê¡¢
-.I mandatory-locking.txt
-¤Ï
-.I mandatory.txt
-¤È¤¤¤¦Ì¾Á°¤Ç¤¢¤Ã¤¿¡£)
+カーネルソースの \fIDocumentation/filesystems\fP ディレクトリにある \fIlocks.txt\fP と
+\fImandatory\-locking.txt\fP (以前のカーネルでは、これらのファイルは \fIDocumentation\fP ディレクトリ直下にあり、
+\fImandatory\-locking.txt\fP は \fImandatory.txt\fP という名前であった。)