OSDN Git Service

635e9afcf4e14eda687b17f1bb42e39a01219ca4
[linuxjm/LDP_man-pages.git] / release / man2 / posix_fadvise.2
1 .\" Hey Emacs! This file is -*- nroff -*- source.
2 .\"
3 .\" Copyright 2003 Abhijit Menon-Sen <ams@wiw.org>
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 .\"
24 .\" 2005-04-08 mtk, noted kernel version and added BUGS
25 .\"
26 .\" Japanese Version Copyright (c) 2004-2007 Yuichi SATO
27 .\"         all rights reserved.
28 .\" Translated Sun Jun 20 16:23:17 JST 2004
29 .\"         by Yuichi SATO <ysato444@yahoo.co.jp>, LDP v1.66
30 .\" Updated & Modified Fri Apr 22 03:05:51 JST 2005 by Yuichi SATO, LDP v2.02
31 .\" Updated & Modified Thu Jan  4 23:55:18 JST 2007 by Yuichi SATO, LDP v2.43
32 .\"
33 .TH POSIX_FADVISE 2 2003-02-14 "Linux" "Linux Programmer's Manual"
34 .SH Ì¾Á°
35 posix_fadvise \- ¥Õ¥¡¥¤¥ë¥Ç¡¼¥¿¤Î¥¢¥¯¥»¥¹¥Ñ¥¿¡¼¥ó¤ò¤¢¤é¤«¤¸¤áÀë¸À¤¹¤ë
36 .SH ½ñ¼°
37 .nf
38 .B #define _XOPEN_SOURCE 600
39 .B #include <fcntl.h>
40 .sp
41 .BI "int posix_fadvise(int " fd ", off_t " offset ", off_t " len \
42 ", int " advice ");"
43 .fi
44 .SH ÀâÌÀ
45 ¥×¥í¥°¥é¥à¤Ï¡¢¾­ÍèÆÃÄê¤Î¥Ñ¥¿¡¼¥ó¤Ç¥Õ¥¡¥¤¥ë¥Ç¡¼¥¿¤Ë
46 ¥¢¥¯¥»¥¹¤¹¤ë°Õ»×¤òÅÁ¤¨¤ë¤¿¤á¤Ë
47 .BR posix_fadvise ()
48 ¤ò»È¤¦¤³¤È¤¬¤Ç¤­¤ë¡£
49 ¤³¤ì¤Ë¤è¤ê¡¢¥«¡¼¥Í¥ë¤¬Å¬ÀڤʺÇŬ²½¤ò¼Â¹Ô¤¹¤ë¤³¤È¤¬²Äǽ¤Ë¤Ê¤ë¡£
50
51 \fIadvice\fP ¤Ï  \fIfd\fP ¤¬»²¾È¤·¤Æ¤¤¤ë¥Õ¥¡¥¤¥ë¤Î
52 \fIoffset\fP ¤«¤é»Ï¤Þ¤ë \fIlen\fP ¥Ð¥¤¥È¤ÎÈÏ°ÏÆâ
53 (\fIlen\fP ¤¬ 0 ¤Î¾ì¹ç¤Ï¥Õ¥¡¥¤¥ë¤Î½ª¤ê¤Þ¤Ç) ¤Î
54 (ɬ¤º¤·¤â¸ºß¤·¤Ê¤¤) Îΰè¤ËŬÍѤµ¤ì¤ë¡£
55 ¥¢¥É¥Ð¥¤¥¹¤ÏµÁ̳¤Å¤±¤Ç¤Ï¤Ê¤¤¡£
56 ¥¢¥É¥Ð¥¤¥¹¤Ïñ¤Ë¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î¤¿¤á¤Ë²ÄǽÀ­¤ò¹½À®¤¹¤ë¤À¤±¤Ç¤¢¤ë¡£
57
58 \fIadvice\fP ¤Ëµö¤µ¤ì¤ëÃͤˤϡ¢°Ê²¼¤Î¤â¤Î¤¬´Þ¤Þ¤ì¤ë:
59 .TP
60 .B POSIX_FADV_NORMAL
61 »ØÄꤵ¤ì¤¿¥Ç¡¼¥¿¤Î¥¢¥¯¥»¥¹¥Ñ¥¿¡¼¥ó¤ò»Ø¼¨¤¹¤ë¥¢¥É¥Ð¥¤¥¹¤ò
62 ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤¬²¿¤â»ý¤Ã¤Æ¤¤¤Ê¤¤¤³¤È¤ò¼¨¤¹¡£
63 ¥ª¡¼¥×¥ó¤µ¤ì¤¿¥Õ¥¡¥¤¥ë¤Ë¥¢¥É¥Ð¥¤¥¹¤¬»ØÄꤵ¤ì¤Ê¤¤¾ì¹ç¡¢
64 ¤³¤ì¤¬¥Ç¥Õ¥©¥ë¥È¤Ç²¾Äꤵ¤ì¤ë¡£
65 .TP
66 .B POSIX_FADV_SEQUENTIAL
67 ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ï»ØÄꤵ¤ì¤¿¥Ç¡¼¥¿¤¬¥·¡¼¥±¥ó¥·¥ã¥ë¤Ë
68 (Â礭¤Ê¥ª¥Õ¥»¥Ã¥È¤ÎÁ°¤Ë¾®¤µ¤Ê¥ª¥Õ¥»¥Ã¥È¤Î¥Ç¡¼¥¿¤òÆɤà¤è¤¦¤Ë)
69 ¥¢¥¯¥»¥¹¤µ¤ì¤ë¤³¤È¤ò´üÂÔ¤¹¤ë¡£
70 .TP
71 .B POSIX_FADV_RANDOM
72 »ØÄꤵ¤ì¤¿¥Ç¡¼¥¿¤¬¥é¥ó¥À¥à¤Ê½çÈ֤ǥ¢¥¯¥»¥¹¤µ¤ì¤ë¡£
73 .TP
74 .B POSIX_FADV_NOREUSE
75 »ØÄꤵ¤ì¤¿¥Ç¡¼¥¿¤Ï 1 ÅÙ¤·¤«¥¢¥¯¥»¥¹¤µ¤ì¤Ê¤¤¡£
76 .TP
77 .B POSIX_FADV_WILLNEED
78 »ØÄꤵ¤ì¤¿¥Ç¡¼¥¿¤Ï¶á¤¤¾­Í襢¥¯¥»¥¹¤µ¤ì¤ë¡£
79 .TP
80 .B POSIX_FADV_DONTNEED
81 »ØÄꤵ¤ì¤¿¥Ç¡¼¥¿¤Ï¶á¤¤¾­Í襢¥¯¥»¥¹¤µ¤ì¤Ê¤¤¡£
82 .SH ÊÖ¤êÃÍ
83 À®¸ù¤·¤¿¾ì¹ç¤Ï 0 ¤¬ÊÖ¤µ¤ì¤ë¡£
84 ¼ºÇÔ¤·¤¿¾ì¹ç¤Ï¥¨¥é¡¼Èֹ椬ÊÖ¤µ¤ì¤ë¡£
85 .SH ¥¨¥é¡¼
86 .TP
87 .B EBADF
88 \fIfd\fP °ú¤­¿ô¤¬Í­¸ú¤Ê¥Õ¥¡¥¤¥ë¥Ç¥£¥¹¥¯¥ê¥×¥¿¤Ç¤Ê¤¤¡£
89 .TP
90 .B EINVAL
91 ̵¸ú¤ÊÃͤ¬ \fIadvice\fP ¤Ë»ØÄꤵ¤ì¤¿¡£
92 .TP
93 .B ESPIPE
94 »ØÄꤵ¤ì¤¿¥Õ¥¡¥¤¥ë¥Ç¥£¥¹¥¯¥ê¥×¥¿¤¬¥Ñ¥¤¥×¤Þ¤¿¤Ï FIFO ¤ò»²¾È¤·¤Æ¤¤¤ë
95 (¤³¤Î¾ì¹ç¡¢Linux ¤Ï¼ÂºÝ¤Ë¤Ï
96 .B EINVAL
97 ¤òÊÖ¤¹)¡£
98 .SH ¥Ð¡¼¥¸¥ç¥ó
99 .BR posix_fadvise ()
100 ¤Ï¥«¡¼¥Í¥ë 2.5.60 ¤ÇÅо줷¤¿¡£
101 .\" ¼ÂºÝ¤Ë¤Ï fadvise64() ¤È¤·¤ÆÅо줷¤¿¡£-- MTK
102 glibc ¤Ç¤Î¥µ¥Ý¡¼¥È¤Ï glibc ¥Ð¡¼¥¸¥ç¥ó 2.2 °Ê¹ß¤Ç¹Ô¤ï¤ì¤Æ¤¤¤ë¡£
103 .SH ½àµò
104 POSIX.1-2001.
105 .I len
106 °ú¤­¿ô¤Î·¿¤¬ POSIX.1-2003 TC1 ¤Ë¤ª¤¤¤Æ
107 .I size_t
108 ¤«¤é
109 .I off_t
110 ¤ËÊѹ¹¤µ¤ì¤¿ÅÀ¤ËÃí°Õ¤¹¤ë¤³¤È¡£
111 .SH Ãí°Õ
112 Linux ¤Ç¤Ï¡¢\fBPOSIX_FADV_NORMAL\fP ¤Ï¥Ð¥Ã¥­¥ó¥°¥Ç¥Ð¥¤¥¹¤Î
113 ¥Ç¥Õ¥©¥ë¥È¥µ¥¤¥º¤ËÀèÆɤߠ(readahead) ¥¦¥¤¥ó¥É¥¦¤òÀßÄꤹ¤ë¡£
114 \fBPOSIX_FADV_SEQUENTIAL\fP ¤Ï¤³¤Î¥µ¥¤¥º¤ò 2 Çܤ·¡¢
115 \fBPOSIX_FADV_RANDOM\fP ¤ÏÀèÆɤߤòÁ´¤¯Ìµ¸ú¤Ë¤¹¤ë¡£
116 ¤³¤ì¤é¤ÎÊѹ¹¤Ï¥Õ¥¡¥¤¥ëÁ´ÂΤ˱ƶÁ¤·¡¢»ØÄꤵ¤ì¤¿Îΰè¤Î¤ß¤Ë±Æ¶Á¤¹¤ë¤ï¤±¤Ç¤Ï¤Ê¤¤
117 (¤·¤«¤·Æ±¤¸¥Õ¥¡¥¤¥ë¤ËÂФ¹¤ë¾¤Î¥ª¡¼¥×¥ó¥Õ¥¡¥¤¥ë¥Ï¥ó¥É¥ë¤Ï±Æ¶Á¤ò¼õ¤±¤Ê¤¤)¡£
118
119 \fBPOSIX_FADV_WILLNEED\fP ¤Ï¡¢
120 ¥Ú¡¼¥¸¥­¥ã¥Ã¥·¥å¤Ë»ØÄêÎΰè¤Î¥Ö¥í¥Ã¥¯¤µ¤ì¤Ê¤¤Æɤ߹þ¤ß¤ò³«»Ï¤¹¤ë¡£
121 Æɤ߹þ¤Þ¤ì¤ë¥Ç¡¼¥¿¤ÎÁíÎ̤ϡ¢
122 ²¾ÁÛ¥á¥â¥ê¤ÎÉé²Ù¤Ë°Í¤Ã¤Æ¥«¡¼¥Í¥ë¤¬¸º¤é¤¹¤«¤â¤·¤ì¤Ê¤¤
123 (¿ô¥á¥¬¥Ð¥¤¥È¤Ç¤¢¤ì¤ÐÄ̾ï¤ÏÁ´¤¯½½Ê¬¤Ç¤¢¤ê¡¢
124 ¤½¤ì¤è¤ê¿¤¯¤Æ¤â¤á¤Ã¤¿¤ËÌò¤ËΩ¤¿¤Ê¤¤)¡£
125
126 2.6.18 ¤è¤êÁ°¤Î¥«¡¼¥Í¥ë¤Ç¤Ï¡¢\fBPOSIX_FADV_NOREUSE\fP ¤Ï
127 \fBPOSIX_FADV_WILLNEED\fP ¤ÈƱ¤¸°ÕÌ£¤Ç¤¢¤Ã¤¿¡£
128 ¤³¤ì¤Ï¿ʬ¥Ð¥°¤Ç¤¢¤Ã¤¿¡£
129 ¥«¡¼¥Í¥ë 2.6.18 °Ê¹ß¤Ç¤Ï¡¢¤³¤Î¥Õ¥é¥°¤Ï²¿¤â¹Ô¤ï¤Ê¤¤¡£
130
131 \fBPOSIX_FADV_DONTNEED\fP ¤Ï»ØÄꤵ¤ì¤¿Îΰè¤Ë´ØÏ¢ÉÕ¤±¤é¤ì¤¿
132 ¥­¥ã¥Ã¥·¥å¥Ú¡¼¥¸¤ò²òÊü¤·¤è¤¦¤È¤¹¤ë¡£
133 Î㤨¤Ð¡¢¤³¤ì¤ÏÂ礭¤Ê¥Õ¥¡¥¤¥ë¤ò¥¹¥È¥ê¡¼¥ß¥ó¥°¤¹¤ë¤È¤­¤ËÌòΩ¤Ä¡£
134 ¥×¥í¥°¥é¥à¤Ï¡¢»ÈÍѺѤߤΥ­¥ã¥Ã¥·¥å¤µ¤ì¤¿¥Ç¡¼¥¿¤ò²òÊü¤¹¤ë¤è¤¦¤Ë¡¢
135 Äê´üŪ¤Ë¥«¡¼¥Í¥ë¤ËÍ׵᤹¤ë¤«¤â¤·¤ì¤Ê¤¤¡£
136 ¤½¤¦¤¹¤ë¤³¤È¤Ë¤è¤ê¡¢¤µ¤é¤ËÍ­¸ú¤Ê¥­¥ã¥Ã¥·¥å¤µ¤ì¤¿¥Ú¡¼¥¸¤¬¡¢
137 Âå¤ï¤ê¤ËÇË´þ¤µ¤ì¤ë¤³¤È¤Ï¤Ê¤¤¡£
138
139 ¤Þ¤À½ñ¤­½Ð¤µ¤ì¤Æ¤¤¤Ê¤¤¥Ú¡¼¥¸¤Ï±Æ¶Á¤ò¼õ¤±¤Ê¤¤¤Î¤Ç¡¢
140 ¤½¤Î¥Ú¡¼¥¸¤Î²òÊü¤¬Êݾڤµ¤ì¤ë¤³¤È¤ò¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤¬Ë¾¤ó¤Ç¤¤¤ë¤Ê¤é¡¢
141 ºÇ½é¤Ë
142 .BR fsync (2)
143 ¤Þ¤¿¤Ï
144 .BR fdatasync (2)
145 ¤ò¸Æ¤Ö¤Ù¤­¤Ç¤¢¤ë¡£
146 .SH ¥Ð¥°
147 2.6.6 ¤è¤êÁ°¤Î¥«¡¼¥Í¥ë¤Ç¤Ï¡¢
148 .I len
149 ¤Ë 0 ¤¬»ØÄꤵ¤ì¤¿¾ì¹ç¡¢
150 ¡Ö¥Õ¥¡¥¤¥ë¤Î½ª¤ê¤Þ¤Ç¤ÎÁ´¤Æ¤Î¥Ð¥¤¥È¡×¤È¤¤¤¦°ÕÌ£¤Ç¤Ï¤Ê¤¯¡¢
151 ʸ»úÄ̤ê¡Ö0 ¥Ð¥¤¥È¡×¤È¤·¤Æ²ò¼á¤µ¤ì¤Æ¤¤¤¿¡£
152 .SH ´ØÏ¢¹àÌÜ
153 .BR readahead (2),
154 .BR posix_fallocate (3),
155 .BR posix_madvise (3),
156 .\" FIXME . Write a posix_fadvise(3) page.
157 .BR feature_test_macros (7)