OSDN Git Service

(none)
[hos/hos-v4a.git] / aplfw / driver / volume / fat / fatvol_local.h
1
2
3 #ifndef __HOS__fatvol_local_h__
4 #define __HOS__fatvol_local_h__
5
6
7 #include "fatvol.h"
8
9
10 /* 最終クラスタマーカー */
11 #define FATVOL_CLUSTER_FREE                             0x00000000
12 #define FATVOL_CLUSTER_ENDMARKER                0xffffffff
13
14
15 /* ファイルシステムのタイプ */
16 #define FATVOL_TYPE_UNKNOWN                             0
17 #define FATVOL_TYPE_FAT12                               1
18 #define FATVOL_TYPE_FAT16                               2
19 #define FATVOL_TYPE_FAT32                               3
20
21
22 #ifdef __cplusplus
23 extern "C" {
24 #endif
25
26 HANDLE      FatVol_Open(C_DRVOBJ *pDrvObj, const char *pszPath, int iMode);
27 void        FatVol_Close(C_DRVOBJ *pDrvObj, C_FILEOBJ *pFileObj);
28 FILE_ERR    FatVol_IoControl(C_DRVOBJ *pDrvObj, C_FILEOBJ *pFileObj, int iFunc, void *pInBuf, FILE_SIZE InSize, const void *pOutBuf, FILE_SIZE OutSize);
29 FILE_POS    FatVol_Seek(C_DRVOBJ *pDrvObj, C_FILEOBJ *pFileObj, FILE_POS Offset, int iOrign);
30 FILE_SIZE   FatVol_Read(C_DRVOBJ *pDrvObj, C_FILEOBJ *pFileObj, void *pBuf, FILE_SIZE Size);
31 FILE_SIZE   FatVol_Write(C_DRVOBJ *pDrvObj, C_FILEOBJ *pFileObj, const void *pData, FILE_SIZE Size);
32 FILE_ERR    FatVol_Flush(C_DRVOBJ *pDrvObj, C_FILEOBJ *pFileObj);
33
34 FILE_ERR    FatVol_MakeDir(C_VOLUMEOBJ *self, const char *pszPath);                                                                     /* サブディレクトリを作成 */
35 FILE_ERR    FatVol_Remove(C_VOLUMEOBJ *self, const char *pszPath);                                                                      /* ファイルを削除 */
36
37
38 int         FatVol_ClusterWrite(C_FATVOL *self, FATVOL_UINT uiCluster, const void *pBuf);                       /**< クラスタ書き込み */
39 int         FatVol_ClusterRead(C_FATVOL *self, FATVOL_UINT uiCluster, void *pBuf);                                      /**< クラスタ読み込み */
40 int         FatVol_GetClusterBuf(C_FATVOL *self, FATVOL_UINT uiCluster, void **ppBuf, int iRead);
41 int         FatVol_RelClusterBuf(C_FATVOL *self, void *ppBuf, int iDirty);                                                      
42
43 FATVOL_UINT FatVol_GetNextCluster(C_FATVOL *self, FATVOL_UINT uiCluster);
44 void        FatVol_SetNextCluster(C_FATVOL *self, FATVOL_UINT uiCluster, FATVOL_UINT uiNextCluster);
45
46
47 #ifdef __cplusplus
48 }
49 #endif
50
51
52 #endif  /*  __HOS__fatvol_local_h__ */
53
54
55 /* end of file */