c330a3634698ec0981d1650aedde81e6acc0582e
[bertos.git] / bertos / fs / fatfs / doc / ja / forward.html
1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">\r
2 <html lang="ja">\r
3 <head>\r
4 <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">\r
5 <meta http-equiv="Content-Style-Type" content="text/css">\r
6 <link rel="up" title="FatFs" href="../00index_j.html">\r
7 <link rel="stylesheet" href="../css_j.css" type="text/css" media="screen" title="ELM Default">\r
8 <title>FatFs - f_forward</title>\r
9 </head>\r
10 \r
11 <body>\r
12 \r
13 <div class="para">\r
14 <h2>f_forward</h2>\r
15 <p>\83t\83@\83C\83\8b\82©\82ç\83f\81[\83^\82ð\93Ç\82Ý\8fo\82µ\81A\91\97\90M\83X\83g\83\8a\81[\83\80\82É\92¼\90Ú\93]\91\97\82µ\82Ü\82·\81B</p>\r
16 <pre>\r
17 FRESULT f_forward (\r
18   FIL* <em>FileObject</em>,                 /* \83t\83@\83C\83\8b\81E\83I\83u\83W\83F\83N\83g\8d\\91¢\91Ì */\r
19   UINT (*<em>Func</em>)(const BYTE*,UINT),  /* \83f\81[\83^\93]\91\97\8aÖ\90\94 */\r
20   UINT <em>ByteToFwd</em>,                  /* \93]\91\97\82·\82é\83o\83C\83g\90\94 */\r
21   UINT* <em>ByteFwd</em>                    /* \93]\91\97\82³\82ê\82½\83o\83C\83g\90\94 */\r
22 );\r
23 </pre>\r
24 </div>\r
25 \r
26 <div class="para">\r
27 <h4>\88ø\90\94</h4>\r
28 <dl class="par">\r
29 <dt>FileObject</dt>\r
30 <dd>\83t\83@\83C\83\8b\81E\83I\83u\83W\83F\83N\83g\8d\\91¢\91Ì\82Ö\82Ì\83|\83C\83\93\83^\82ð\8ew\92è\82µ\82Ü\82·\81B</dd>\r
31 <dt>Func</dt>\r
32 <dd>\83f\81[\83^\82ð\93n\82·\83\86\81[\83U\92è\8b`\8aÖ\90\94\82Ö\82Ì\83|\83C\83\93\83^\82ð\8ew\92è\82µ\82Ü\82·\81B\82±\82Ì\8aÖ\90\94\82Ì\8ed\97l\82Í\83T\83\93\83v\83\8b\82ð\8eQ\8fÆ\82µ\82Ä\82­\82¾\82³\82¢\81B</dd>\r
33 <dt>ByteToRead</dt>\r
34 <dd>\93]\91\97\82·\82é\83o\83C\83g\90\94(0\81`UINT\82Ì\8dÅ\91å\92l)\82ð\8ew\92è\82µ\82Ü\82·\81B</dd>\r
35 <dt>ByteRead</dt>\r
36 <dd>\8eÀ\8dÛ\82É\93]\91\97\82³\82ê\82½\83o\83C\83g\90\94\82ð\8ai\94[\82·\82é\95Ï\90\94\82ð\8ew\82·\83|\83C\83\93\83^\82ð\8ew\92è\82µ\82Ü\82·\81B</dd>\r
37 </dl>\r
38 </div>\r
39 \r
40 \r
41 <div class="para">\r
42 <h4>\96ß\82è\92l</h4>\r
43 <dl class="ret">\r
44 <dt>FR_OK (0)</dt>\r
45 <dd>\90³\8fí\8fI\97¹\81B</dd>\r
46 <dt>FR_DENIED</dt>\r
47 <dd>\94ñ\93Ç\82Ý\8d\9e\82Ý\83\82\81[\83h\82Å\8aJ\82¢\82½\83t\83@\83C\83\8b\82©\82ç\93Ç\82Ý\8d\9e\82à\82¤\82Æ\82µ\82½\81B</dd>\r
48 <dt>FR_DISK_ERR</dt>\r
49 <dd>\83f\83B\83X\83N\81E\83G\83\89\81[\82É\82æ\82é\8e¸\94s\81B</dd>\r
50 <dt>FR_INT_ERR</dt>\r
51 <dd>\95s\90³\82ÈFAT\8d\\91¢\82Ü\82½\82Í\93à\95\94\83G\83\89\81[\82É\82æ\82é\8e¸\94s\81B</dd>\r
52 <dt>FR_NOT_READY</dt>\r
53 <dd>\83\81\83f\83B\83A\82ª\83Z\83b\83g\82³\82ê\82Ä\82¢\82È\82¢\82È\82Ç\81A\83f\83B\83X\83N\81E\83h\83\89\83C\83u\82ª\93®\8dì\95s\94\\8fó\91Ô\81B</dd>\r
54 <dt>FR_INVALID_OBJECT</dt>\r
55 <dd>\96³\8cø\82È\83t\83@\83C\83\8b\81E\83I\83u\83W\83F\83N\83g\81B</dd>\r
56 </dl>\r
57 </div>\r
58 \r
59 \r
60 <div class="para">\r
61 <h4>\89ð\90à</h4>\r
62 <p>\83t\83@\83C\83\8b\82Ì\83f\81[\83^\82ð\83o\83b\83t\83@\82É\93Ç\82Ý\8fo\82³\82¸\82É\91\97\90M\83X\83g\83\8a\81[\83\80\82É\92¼\90Ú\93]\91\97\82µ\82Ü\82·\81B\83A\83v\83\8a\83P\81[\83V\83\87\83\93\91¤\82Å\83f\81[\83^\81E\83o\83b\83t\83@\82ð\95K\97v\82Æ\82µ\82È\82¢\82Ì\82Å\81A\83\81\83\82\83\8a\82Ì\8cÀ\82ç\82ê\82½\8aÂ\8b«\82Å\97L\8cø\82Å\82·\81B\93]\91\97\8aJ\8en\88Ê\92u\82Í\81A\8c»\8dÝ\82Ì\83t\83@\83C\83\8bR/W\83|\83C\83\93\83^\82©\82ç\82É\82È\82è\82Ü\82·\81B\83t\83@\83C\83\8bR/W\83|\83C\83\93\83^\82Í\93]\91\97\82³\82ê\82½\83o\83C\83g\90\94\82¾\82¯\90i\82Ý\82Ü\82·\81B\8ew\92è\82³\82ê\82½\83o\83C\83g\90\94\82Ì\93]\91\97\92\86\82É\83t\83@\83C\83\8b\82Ì\8fI\92[\82É\92B\82µ\82½\8fê\8d\87\82â\91\97\90M\83X\83g\83\8a\81[\83\80\82ª\83r\83W\81[\82É\82È\82Á\82½\8fê\8d\87\81A<tt>*ByteFwd</tt>\82Í<tt>ByteToFwd</tt>\82æ\82è\82à\8f¬\82³\82­\82È\82è\82Ü\82·\81B</p>\r
63 <p>\82±\82Ì\8aÖ\90\94\82Í\81A<tt>_USE_FORWARD == 1</tt>\82Å\81A\8a\8e\82Â<tt>_FS_TINY == 1</tt>\82Ì\82Æ\82«\82É\83T\83|\81[\83g\82³\82ê\82Ü\82·\81B</p>\r
64 </div>\r
65 \r
66 \r
67 <div class="para">\r
68 <h4>\8eg\97p\97á\81i\83I\81[\83f\83B\83I\8dÄ\90\81j</h4>\r
69 <pre>\r
70 /*-----------------------------------------------------------------------*/\r
71 /* f_forward\8aÖ\90\94\82©\82ç\8cÄ\82Î\82ê\82é\83f\81[\83^\91\97\90M\8aÖ\90\94\82Ì\97á                           */\r
72 /*-----------------------------------------------------------------------*/\r
73 \r
74 UINT out_stream (   /* \96ß\82è\92l: \93]\91\97\82³\82ê\82½\83o\83C\83g\90\94\82Ü\82½\82Í\83X\83g\83\8a\81[\83\80\82Ì\8fó\91Ô */\r
75     const BYTE *p,  /* \93]\91\97\82·\82é\83f\81[\83^\82ð\8ew\82·\83|\83C\83\93\83^ */\r
76     UINT btf        /* &gt;0: \93]\91\97\82ð\8ds\82¤(\83o\83C\83g\90\94). 0: \83X\83g\83\8a\81[\83\80\82Ì\8fó\91Ô\82ð\92²\82×\82é */\r
77 )\r
78 {\r
79     UINT cnt = 0;\r
80 \r
81 \r
82     if (btf == 0) {     /* \83Z\83\93\83X\97v\8b\81 */\r
83         /* \83X\83g\83\8a\81[\83\80\82Ì\8fó\91Ô\82ð\95Ô\82· (0: \83r\83W\81[, 1: \83\8c\83f\83B) */\r
84         /* \88ê\92U\81A\83\8c\83f\83B\82ð\95Ô\82µ\82½\82ç\81A\91±\82­\93]\91\97\97v\8b\81\82Å\8f­\82È\82­\82Æ\82à1\83o\83C\83g\82Í */\r
85         /* \93]\91\97\82³\82ê\82È\82¢\82Æ f_forward\8aÖ\90\94\82Í FR_RW_ERROR \82Æ\82È\82é\81B */\r
86         if (FIFO_READY) cnt = 1;\r
87     }\r
88     else {              /* \93]\91\97\97v\8b\81 */\r
89         do {    /* \91S\82Ä\82Ì\83o\83C\83g\82ð\93]\91\97\82·\82é\82©\81A\83X\83g\83\8a\81[\83\80\82ª\83r\83W\81[\82É\82È\82é\82Ü\82Å\8cJ\82è\95Ô\82· */\r
90             FIFO_PORT = *p++;\r
91             cnt++;\r
92         } while (cnt &lt; btf &amp;&amp; FIFO_READY);\r
93     }\r
94 \r
95     return cnt;\r
96 }\r
97 \r
98 \r
99 /*-----------------------------------------------------------------------*/\r
100 /* f_forward\8aÖ\90\94\82Ì\8eg\97p\97á                                                 */\r
101 /*-----------------------------------------------------------------------*/\r
102 \r
103 FRESULT play_file (\r
104     char *fn        /* \8dÄ\90\82·\82é\83I\81[\83f\83B\83I\81E\83t\83@\83C\83\8b\96¼\82ð\8ew\82·\83|\83C\83\93\83^ */\r
105 )\r
106 {\r
107     FRESULT rc;\r
108     FIL fil;\r
109     UINT dmy;\r
110 \r
111     /* \83t\83@\83C\83\8b\82ð\93Ç\82Ý\8fo\82µ\83\82\81[\83h\82Å\8aJ\82­ */\r
112     rc = f_open(&amp;fil, fn, FA_READ);\r
113 \r
114     /* \91S\82Ä\82Ì\83f\81[\83^\82ª\93]\91\97\82³\82ê\82é\82©\83G\83\89\81[\82ª\94­\90\82·\82é\82Ü\82Å\91±\82¯\82é */\r
115     while (rc == FR_OK &amp;&amp; fil.fptr &lt; fil.fsize) {\r
116 \r
117         /* \82Ù\82©\82Ì\8f\88\97\9d... */\r
118 \r
119         /* \92è\8aú\93I\82Ü\82½\82Í\97v\8b\81\82É\89\9e\82\82Ä\83f\81[\83^\82ð\83X\83g\83\8a\81[\83\80\82É\91\97\8fo\82·\82é */\r
120         rc = f_forward(&amp;fil, out_stream, 1000, &amp;dmy);\r
121     }\r
122 \r
123     return rc;  /* FR_OK: \90³\8fí\8fI\97¹, \82Ù\82©:\88Ù\8fí\8fI\97¹ */\r
124 }\r
125 </pre>\r
126 </div>\r
127 \r
128 \r
129 <div class="para">\r
130 <h4>\8eQ\8fÆ</h4>\r
131 <p><tt><a href="open.html">f_open</a>, <a href="gets.html">fgets</a>, <a href="write.html">f_write</a>, <a href="close.html">f_close</a>, <a href="sfile.html">FIL</a></tt></p>\r
132 </div>\r
133 \r
134 <p class="foot"><a href="../00index_j.html">\96ß\82é</a></p>\r
135 </body>\r
136 </html>\r