.\" by Yuichi SATO <ysato444@yahoo.co.jp>
.\"
.TH LSEEK64 3 2004-12-11 "Linux" "Linux Programmer's Manual"
-.SH ̾Á°
-lseek64 \- ¥Õ¥¡¥¤¥ë¤Î 64 ¥Ó¥Ã¥È¤ÎÆɤ߽ñ¤¥ª¥Õ¥»¥Ã¥È¤Î°ÌÃÖ¤òÊѤ¨¤ë
-.SH ½ñ¼°
-.BR "#define _LARGEFILE64_SOURCE" " /* feature_test_macros(7) »²¾È */"
+.SH 名前
+lseek64 \- ファイルの 64 ビットの読み書きオフセットの位置を変える
+.SH 書式
+.BR "#define _LARGEFILE64_SOURCE" " /* feature_test_macros(7) 参照 */"
.br
.B #include <sys/types.h>
.br
.B #include <unistd.h>
.sp
.BI "off64_t lseek64(int " fd ", off64_t " offset ", int " whence );
-.SH ÀâÌÀ
+.SH 説明
.BR lseek (2)
-´Ø¿ô¥Õ¥¡¥ß¥ê¡¼¤Ï¡¢¥Õ¥¡¥¤¥ë¥Ç¥£¥¹¥¯¥ê¥×¥¿
+é\96¢æ\95°ã\83\95ã\82¡ã\83\9fã\83ªã\83¼ã\81¯ã\80\81ã\83\95ã\82¡ã\82¤ã\83«ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿
.I fd
-¤Ë´ØÏ¢¤¹¤ë¥ª¡¼¥×¥ó¤µ¤ì¤¿¥Õ¥¡¥¤¥ë¤Î¥ª¥Õ¥»¥Ã¥È¤ò¡¢
-¥Õ¥¡¥¤¥ë¤Î³«»Ï°ÌÃÖ¡¦¸½ºß°ÌÃÖ¡¦½ªÃ¼¤«¤é
+に関連するオープンされたファイルのオフセットを、
+ファイルの開始位置・現在位置・終端から
.I offset
-¤Î°ÌÃÖ¤ØÊѹ¹¤¹¤ë¡£
-¤³¤ì¤Ï
+の位置へ変更する。
+これは
.I whence
-¤¬¤½¤ì¤¾¤ì
+がそれぞれ
.BR SEEK_SET ,
.BR SEEK_CUR ,
.B SEEK_END
-¤Î¾ì¹ç¤ËÂбþ¤¹¤ë¡£
+の場合に対応する。
.LP
-¹¹¤Ë¾Ü¤·¤¤ÀâÌÀ¡¦ÊÖ¤êÃÍ¡¦¥¨¥é¡¼¤Ï¡¢
+更に詳しい説明・返り値・エラーは、
.BR lseek (2)
-¤ò»²¾È¤¹¤ë¤³¤È¡£
+を参照すること。
.PP
-4 ¤Ä¤Î¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤¬»ÈÍѲÄǽ¤Ç¤¢¤ë:
+4 つのインタフェースが使用可能である:
.BR lseek (2),
.BR lseek64 (),
.BR llseek (2)
-¤È¸µ¤È¤Ê¤ë¥·¥¹¥Æ¥à¥³¡¼¥ë
+と元となるシステムコール
.BR _llseek (2)
-¤Ç¤¢¤ë¡£
+である。
.SS lseek
-¥×¥í¥È¥¿¥¤¥×:
+プロトタイプ:
.nf
.sp
.in +4n
.fi
.sp
.BR lseek (2)
-¤Ï·¿
+は型
.I off_t
-¤ò»È¤¦¡£
-¤³¤ì¤Ï 32 ¥Ó¥Ã¥È¥¢¡¼¥¥Æ¥¯¥Á¥ã¾å¤Ç¤Ï 32 ¥Ó¥Ã¥ÈÉä¹æÉÕ¤·¿¤Ç¤¢¤ë¡£
-¤¿¤À¤·¡¢
+を使う。
+これは 32 ビットアーキテクチャ上では 32 ビット符号付き型である。
+ただし、
.nf
.sp
.in +4n
.in
.sp
.fi
-¤òÄêµÁ¤·¤Æ¥³¥ó¥Ñ¥¤¥ë¤·¤¿¾ì¹ç¤Ï 64 ¥Ó¥Ã¥ÈÉä¹æÉÕ¤·¿¤Ç¤¢¤ë¡£
+を定義してコンパイルした場合は 64 ビット符号付き型である。
.SS lseek64
-¥×¥í¥È¥¿¥¤¥×:
+プロトタイプ:
.nf
.sp
.in +4n
.in
.fi
.sp
-¥é¥¤¥Ö¥é¥ê¥ë¡¼¥Á¥ó
+ライブラリルーチン
.BR lseek64 ()
-¤Ï
+は
.I off_t
-¤¬ 32 ¥Ó¥Ã¥È·¿¤Ç¤¢¤Ã¤Æ¤â 64 ¥Ó¥Ã¥È·¿¤ò»È¤¦¡£
-¤³¤Î¥×¥í¥È¥¿¥¤¥× (¤È·¿
+が 32 ビット型であっても 64 ビット型を使う。
+このプロトタイプ (と型
.IR off64_t )
-¤Ï¡¢°Ê²¼¤ÎÄêµÁ¤ò¤·¤Æ¥³¥ó¥Ñ¥¤¥ë¤·¤¿¾ì¹ç¤Ë¤Î¤ß»ÈÍѲÄǽ¤Ç¤¢¤ë¡£
+は、以下の定義をしてコンパイルした場合にのみ使用可能である。
.nf
.sp
.in +4n
.in
.sp
.fi
-´Ø¿ô
+関数
.BR lseek64 ()
-.\" glibc 2.0.94 ¤Ë¤Ï¸ºß¤¹¤ë¤¬ 2.0.6 ¤Ë¤Ï¸ºß¤·¤Ê¤¤
-¤Ï glibc 2.1 °Ê¹ß¤Ç»ÈÍѲÄǽ¤Ç¤¢¤ê¡¢
+.\" glibc 2.0.94 には存在するが 2.0.6 には存在しない
+は glibc 2.1 以降で使用可能であり、
.BR llseek ()
-¤Î¥¨¥¤¥ê¥¢¥¹¤È¤·¤ÆÄêµÁ¤µ¤ì¤Æ¤¤¤ë¡£
+のエイリアスとして定義されている。
.SS llseek
-¥×¥í¥È¥¿¥¤¥×:
+プロトタイプ:
.nf
.sp
.in +4n
.in
.fi
.sp
-·¿
+型
.I loff_t
-¤Ï 64 ¥Ó¥Ã¥ÈÉä¹æÉÕ¤·¿¤Ç¤¢¤ë¡£
-¥é¥¤¥Ö¥é¥ê¥ë¡¼¥Á¥ó
+は 64 ビット符号付き型である。
+ライブラリルーチン
.BR llseek ()
-.\" libc 5.0.9 ¤Ë¤Ï¸ºß¤¹¤ë¤¬ 4.7.6 ¤Ï¸ºß¤·¤Ê¤¤
-¤Ï libc5 ¤È glibc ¤Ç»ÈÍѲÄǽ¤Ç¤¢¤ê¡¢ÆÃÊ̤ÊÄêµÁ¤Ê¤·¤ËÆ°ºî¤¹¤ë¡£
-¤³¤Î¥×¥í¥È¥¿¥¤¥×¤Ï¡¢libc5 ¤Ç¤Ï
+.\" libc 5.0.9 には存在するが 4.7.6 は存在しない
+は libc5 と glibc で使用可能であり、特別な定義なしに動作する。
+このプロトタイプは、libc5 では
.I <unistd.h>
-¤ÇÍ¿¤¨¤é¤ì¤ë¤¬¡¢glibc ¤Ï¥×¥í¥È¥¿¥¤¥×¤òÄ󶡤·¤Ê¤¤¡£
-¤³¤ì¤Ï¥×¥í¥È¥¿¥¤¥×¤¬É¬Íפˤʤë¤Î¤ÇÎɤ¯¤Ê¤¤¡£
-¥æ¡¼¥¶¤Ï¾åµ¤Î¥×¥í¥È¥¿¥¤¥×¤Þ¤¿¤Ï¤½¤ì¤ÈƱÅù¤Î¤â¤Î¤ò¡¢
-¼«¿È¤Î¥½¡¼¥¹¤ËÄɲ䷤ʤ±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£
-¤³¤Î¥Ç¡¼¥¿¤¬¤Ê¤¤¤³¤È¤Ë¤è¤Ã¤Æ
+で与えられるが、glibc はプロトタイプを提供しない。
+これはプロトタイプが必要になるので良くない。
+ユーザは上記のプロトタイプまたはそれと同等のものを、
+自身のソースに追加しなければならない。
+このデータがないことによって
.BR e2fsck (8)
-¤Î¥³¥ó¥Ñ¥¤¥ë¤¬¼ºÇÔ¤¹¤ë¤È¤¤¤¦¶ì¾ð¤¬¥æ¡¼¥¶¤«¤é½Ð¤¿¤Î¤Ç¡¢
-glibc 2.1.3 ¤Ç¤Ï°Ê²¼¤Î¤è¤¦¤Ê¥ê¥ó¥¯»þ¤Î·Ù¹ð¤¬Äɲ䵤줿¡£
+のコンパイルが失敗するという苦情がユーザから出たので、
+glibc 2.1.3 では以下のようなリンク時の警告が追加された。
.sp
.in +4n
"the \`llseek\' function may be dangerous; use \`lseek64\' instead."
.in
.sp
-¤³¤ì¤Ë¤è¤ê¡¢·Ù¹ð¤Ê¤·¤Ç¥³¥ó¥Ñ¥¤¥ë¤·¤¿¤¤¾ì¹ç¤Ë¤Ï¡¢¤³¤Î´Ø¿ô¤ò»ÈÍÑÉԲĤˤǤ¤ë¡£
+これにより、警告なしでコンパイルしたい場合には、この関数を使用不可にできる。
.SS _llseek
-¾åµ¤ÎÁ´¤Æ¤Î´Ø¿ô¤Ï¡¢¤³¤Î¥·¥¹¥Æ¥à¥³¡¼¥ë¤Ë´ð¤Å¤¤¤Æ¼ÂÁõ¤µ¤ì¤ë¡£
-¥×¥í¥È¥¿¥¤¥×¤Ï°Ê²¼¤ÎÄ̤ê:
+上記の全ての関数は、このシステムコールに基づいて実装される。
+プロトタイプは以下の通り:
.nf
.sp
.in +4n
.in
.fi
.sp
-¹¹¤Ë¾Ü¤·¤¤¾ðÊó¤Ï¡¢
+更に詳しい情報は、
.BR llseek (2)
-¤ò»²¾È¤¹¤ë¤³¤È¡£
-.SH ´ØÏ¢¹àÌÜ
+を参照すること。
+.SH 関連項目
.BR llseek (2),
.BR lseek (2)