OSDN Git Service

(none)
[hos/hos-v4a.git] / aplfw / volume / fat / fatfile.h
1 /** 
2  *  Hyper Operating System  Application Framework
3  *
4  * @file  fatfile.h
5  * @brief %jp{FATファイルシステム ファイルI/Fクラス}
6  *
7  * Copyright (C) 2006 by Project HOS
8  * http://sourceforge.jp/projects/hos/
9  */
10
11
12 #ifndef __HOS__fatfile_h__
13 #define __HOS__fatfile_h__
14
15
16 #include "system/file/fileobj.h"
17 #include "fatvol.h"
18
19
20 typedef struct c_fatfile
21 {
22         C_FILEOBJ       FileObj;                        /* ファイルオブジェクトを継承 */
23
24         int                     iMode;                          /* ファイルのモード */
25         C_FATVOL        *pFatVol;                       /* FatVolクラスの参照 */
26         FATVOL_UINT     uiStartCluster;         /* ファイルの先頭クラスタ */
27         HANDLE          hDir;                           /* 所属するディレクトリのハンドル */
28         int                     iDirEntry;                      /* ディレクトリ内のエントリ位置 */
29
30         FILE_POS        FilePos;                        /* ファイルポインタ */
31         FILE_POS        FileSize;                       /* ファイルサイズ */
32         
33         FATVOL_UINT     uiCurrentCluster;       /* 現在のクラスタ */
34         FATVOL_UINT     uiClusterSize;          /* クラスタサイズ */
35 } C_FATFILE;
36
37
38 #ifdef __cplusplus
39 extern "C" {
40 #endif
41
42 FILE_ERR FatFile_Create(C_FATFILE *self, C_FATVOL *pFatVol, FATVOL_UINT uiCluster, HANDLE hDir, int iDirEntry, int iMode);              /**< コンストラクタ */
43
44 #ifdef __cplusplus
45 }
46 #endif
47
48
49 #endif  /* __HOS__pc16550file_h__ */
50
51
52 /* end of file */