OSDN Git Service

(none)
authorryuz <ryuz>
Sun, 20 May 2007 17:06:59 +0000 (17:06 +0000)
committerryuz <ryuz>
Sun, 20 May 2007 17:06:59 +0000 (17:06 +0000)
26 files changed:
aplfw/system/file/file_initialize.c
aplfw/system/file/file_open.c
aplfw/system/file/volume.h [deleted file]
aplfw/system/file/volume_openfile.c [deleted file]
aplfw/volume/dev/devvol.h [deleted file]
aplfw/volume/dev/devvol_adddevice.c [deleted file]
aplfw/volume/dev/devvol_create.c [deleted file]
aplfw/volume/dev/devvol_delete.c [deleted file]
aplfw/volume/dev/devvol_local.h [deleted file]
aplfw/volume/dev/devvol_openfile.c [deleted file]
aplfw/volume/fat/fatfile.h [deleted file]
aplfw/volume/fat/fatfile_create.c [deleted file]
aplfw/volume/fat/fatfile_local.h [deleted file]
aplfw/volume/fat/fatfile_read.c [deleted file]
aplfw/volume/fat/fatvol.h [deleted file]
aplfw/volume/fat/fatvol_clusterread.c [deleted file]
aplfw/volume/fat/fatvol_clusterwrite.c [deleted file]
aplfw/volume/fat/fatvol_create.c [deleted file]
aplfw/volume/fat/fatvol_createfile.c [deleted file]
aplfw/volume/fat/fatvol_flushfat.c [deleted file]
aplfw/volume/fat/fatvol_getclusterbuf.c [deleted file]
aplfw/volume/fat/fatvol_getnextcluster.c [deleted file]
aplfw/volume/fat/fatvol_local.h [deleted file]
aplfw/volume/fat/fatvol_open.c [deleted file]
aplfw/volume/fat/fatvol_relclusterbuf.c [deleted file]
aplfw/volume/fat/fatvol_setnextcluster.c [deleted file]

index 1f251b6..6f1616d 100755 (executable)
 
 
 #include "file_local.h"
-#include "volume/dev/devvol.h"
 
 
 C_FILE  g_File;
-C_DEVVOL g_DevVol;
 
 
 void File_Initialize(void)
index aa512c9..e865f2c 100755 (executable)
@@ -11,7 +11,6 @@
 #include <stdio.h>
 #include <string.h>
 #include "file_local.h"
-#include "volume.h"
 
 
 /* ファイルのオープン */
diff --git a/aplfw/system/file/volume.h b/aplfw/system/file/volume.h
deleted file mode 100755 (executable)
index 3164127..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-/** 
- *  Hyper Operating System  Application Framework
- *
- * @file  volume.h
- * @brief %jp{ボリュームオブジェクト}
- *
- * %jp{ディスクドライブなどの単位をボリュームとして扱う}
- *
- * Copyright (C) 2006 by Project HOS
- * http://sourceforge.jp/projects/hos/
- */
-
-
-#ifndef __HOS__volume_h__
-#define __HOS__volume_h__
-
-#include "file.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-HANDLE   Volume_OpenFile(HANDLE hVolume, const char *pszPath, int iMode);              /* ファイルを開く */
-FILE_ERR Volume_MakeDir(HANDLE hVolume, const char *pszPath);                                  /* サブディレクトリを作成 */
-FILE_ERR Volume_Remove(HANDLE hVolume, const char *pszPath);                                   /* ファイルを削除 */
-
-#ifdef __cplusplus
-}
-#endif
-
-
-
-#endif /* __HOS__volume_h__ */
-
-
-/* end of file */
diff --git a/aplfw/system/file/volume_openfile.c b/aplfw/system/file/volume_openfile.c
deleted file mode 100755 (executable)
index 2c2b3bf..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-
-#include <stdio.h>
-#include "volume.h"
-#include "volumeobj.h"
-
-
-HANDLE Volume_OpenFile(HANDLE hVolume, const char *pszPath, int iMode)
-{
-       C_VOLUMEOBJ *self;
-       
-       self = (C_VOLUMEOBJ *)hVolume;
-       
-       if ( self->pMethods->pfncOpenFile == NULL )
-       {
-               return HANDLE_NULL;
-       }
-
-       return self->pMethods->pfncOpenFile(hVolume, pszPath, iMode);
-}
-
diff --git a/aplfw/volume/dev/devvol.h b/aplfw/volume/dev/devvol.h
deleted file mode 100755 (executable)
index a5e2e5d..0000000
+++ /dev/null
@@ -1,55 +0,0 @@
-/** 
- *  Hyper Operating System  Application Framework
- *
- * @file  devvol.h
- * @brief %jp{デバイスドライバをファイルとして管理するボリューム}
- *
- * Copyright (C) 2006-2007 by Project HOS
- * http://sourceforge.jp/projects/hos/
- */
-
-
-#ifndef __HOS__devvol_h__
-#define __HOS__devvol_h__
-
-
-#include "system/file/file.h"
-#include "system/file/volumeobj.h"
-
-
-#define DEVVOL_MAX_DEVICE              16
-
-/* デバイス情報 */
-struct c_drvobj;
-typedef struct t_devvol_devinf
-{
-       char                    szName[FILE_MAX_NAME];                  /* デバイス名 */
-       struct c_drvobj *pDrvObj;                                               /* デバイスドライバへの参照 */
-} T_DEVVOL_DEVINF;
-
-
-/*  */
-typedef struct c_devvol
-{
-       C_VOLUMEOBJ             VolumeObj;              /* ボリュームオブジェクトを継承 */
-       
-       T_DEVVOL_DEVINF DevTable[DEVVOL_MAX_DEVICE];
-} C_DEVVOL;
-
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-void     DevVol_Create(C_DEVVOL *self);
-FILE_ERR DevVol_AddDevice(C_DEVVOL *self, const char *pszName, struct c_drvobj *pDrvObj);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __HOS__devdir_h__ */
-
-
-
-/* end of file */
diff --git a/aplfw/volume/dev/devvol_adddevice.c b/aplfw/volume/dev/devvol_adddevice.c
deleted file mode 100755 (executable)
index 5baf248..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-
-#include <string.h>
-#include "devvol_local.h"
-
-
-FILE_ERR DevVol_AddDevice(C_DEVVOL *self, const char *pszName, struct c_drvobj *pDrvObj)
-{
-       int i;
-       
-       /* テーブルの空きを検索 */
-       for ( i = 0; i < DEVVOL_MAX_DEVICE; i++ )
-       {
-               if ( self->DevTable[i].pDrvObj == NULL )
-               {
-                       strcpy(self->DevTable[i].szName, pszName);
-                       self->DevTable[i].pDrvObj = pDrvObj;
-                       return FILE_ERR_OK;
-               }
-       }
-       
-       return FILE_ERR_NG;     
-}
diff --git a/aplfw/volume/dev/devvol_create.c b/aplfw/volume/dev/devvol_create.c
deleted file mode 100755 (executable)
index 1347c20..0000000
+++ /dev/null
@@ -1,32 +0,0 @@
-
-#include <stdio.h>
-#include "devvol_local.h"
-
-
-const T_VOLUMEOBJ_METHODS DevVol_VolumeObjMethods =
-{
-       {
-               DevVol_Delete,
-               DevVol_OpenFile,
-               
-       },
-       NULL,
-       NULL,
-};
-
-
-void DevVol_Create(C_DEVVOL *self)
-{
-       int i;
-       
-       /* 親クラスコンストラクタ呼び出し */
-       VolumeObj_Create(&self->VolumeObj, &DevVol_VolumeObjMethods);   
-       
-       /* 初期化 */
-       for ( i = 0; i < DEVVOL_MAX_DEVICE; i++ )
-       {
-               self->DevTable[i].pDrvObj = NULL;
-       }
-}
-
-
diff --git a/aplfw/volume/dev/devvol_delete.c b/aplfw/volume/dev/devvol_delete.c
deleted file mode 100755 (executable)
index cf2553d..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-#include "devvol_local.h"
-
-void DevVol_Delete(HANDLE hVolume)
-{
-}
-
diff --git a/aplfw/volume/dev/devvol_local.h b/aplfw/volume/dev/devvol_local.h
deleted file mode 100755 (executable)
index 8844d66..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-
-#ifndef __HOS__devvol_local_h__
-#define __HOS__devvol_local_h__
-
-
-#include "devvol.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-void   DevVol_Delete(HANDLE hVolume);
-HANDLE DevVol_OpenFile(HANDLE hVolume, const char *pszPath, int iMode);                /* ファイルを開く */
-
-#ifdef __cplusplus
-}
-#endif
-
-
-#endif
diff --git a/aplfw/volume/dev/devvol_openfile.c b/aplfw/volume/dev/devvol_openfile.c
deleted file mode 100755 (executable)
index ae59401..0000000
+++ /dev/null
@@ -1,38 +0,0 @@
-#include <stdio.h>
-#include <string.h>
-#include "devvol_local.h"
-#include "system/sysapi/sysapi.h"
-#include "system/file/drvobj.h"
-
-
-/* ファイルを開く */
-HANDLE DevVol_OpenFile(HANDLE hVolume, const char *pszPath, int iMode)
-{
-       C_DEVVOL *self;
-       int      i;
-
-       self = (C_DEVVOL *)hVolume;
-       
-       
-       /* 先頭の'/'を読み飛ばし */
-       pszPath++;
-       
-       /* デバイスを検索 */
-       for ( i = 0; i < DEVVOL_MAX_DEVICE; i++ )
-       {
-               if ( strcmp(pszPath, self->DevTable[i].szName) == 0 )
-               {
-                       break;
-               }
-       }
-       if ( i >= DEVVOL_MAX_DEVICE )
-       {
-               return HANDLE_NULL;
-       }
-       
-       return DrvObj_vOpen(self->DevTable[i].pDrvObj, pszPath, iMode);
-}
-
-
-/* end of file */
-
diff --git a/aplfw/volume/fat/fatfile.h b/aplfw/volume/fat/fatfile.h
deleted file mode 100755 (executable)
index 646b414..0000000
+++ /dev/null
@@ -1,52 +0,0 @@
-/** 
- *  Hyper Operating System  Application Framework
- *
- * @file  fatfile.h
- * @brief %jp{FATファイルシステム ファイルI/Fクラス}
- *
- * Copyright (C) 2006 by Project HOS
- * http://sourceforge.jp/projects/hos/
- */
-
-
-#ifndef __HOS__fatfile_h__
-#define __HOS__fatfile_h__
-
-
-#include "system/file/fileobj.h"
-#include "fatvol.h"
-
-
-typedef struct c_fatfile
-{
-       C_FILEOBJ       FileObj;                        /* ファイルオブジェクトを継承 */
-
-       int                     iMode;                          /* ファイルのモード */
-       C_FATVOL        *pFatVol;                       /* FatVolクラスの参照 */
-       FATVOL_UINT     uiStartCluster;         /* ファイルの先頭クラスタ */
-       HANDLE          hDir;                           /* 所属するディレクトリのハンドル */
-       int                     iDirEntry;                      /* ディレクトリ内のエントリ位置 */
-
-       FILE_POS        FilePos;                        /* ファイルポインタ */
-       FILE_POS        FileSize;                       /* ファイルサイズ */
-       
-       FATVOL_UINT     uiCurrentCluster;       /* 現在のクラスタ */
-       FATVOL_UINT     uiClusterSize;          /* クラスタサイズ */
-} C_FATFILE;
-
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-FILE_ERR FatFile_Create(C_FATFILE *self, C_FATVOL *pFatVol, FATVOL_UINT uiCluster, HANDLE hDir, int iDirEntry, int iMode);             /**< コンストラクタ */
-
-#ifdef __cplusplus
-}
-#endif
-
-
-#endif /* __HOS__pc16550file_h__ */
-
-
-/* end of file */
diff --git a/aplfw/volume/fat/fatfile_create.c b/aplfw/volume/fat/fatfile_create.c
deleted file mode 100755 (executable)
index 46dbd85..0000000
+++ /dev/null
@@ -1,43 +0,0 @@
-
-#include <stdio.h>
-#include "fatfile_local.h"
-
-
-const T_FILEOBJ_METHODS FatFile_FileObjMethods =
-{
-/*     { FatFile_Delete },     */      /* デストラクタ */
-       FatFile_IoControl,              /* IoControl */
-       FatFile_Seek,                   /* Seek */
-       FatFile_Read,                   /* Read */
-       FatFile_Write,                  /* Write */
-};
-
-
-FILE_ERR FatFile_Create(C_FATFILE *self, C_FATVOL *pFatVol, FATVOL_UINT uiCluster, HANDLE hDir, int iDirEntry, int iMode)
-{
-       /* 親クラスコンストラクタ呼び出し */
-       FileObj_Create(&self->FileObj, &FatFile_FileObjMethods);
-       
-       /* 初期化 */
-       self->iMode          = iMode;
-       self->pFatVol        = pFatVol;
-       self->uiStartCluster = uiCluster;
-       self->hDir           = hDir;
-       self->iDirEntry      = iDirEntry;
-       
-       /* サイズ取得 */
-       if ( hDir == NULL )
-       {
-               
-       }
-       
-       /* ファイルポインタ初期化 */
-       self->FilePos          = 0;
-       self->uiCurrentCluster = self->uiStartCluster;
-       
-       
-       return FILE_ERR_OK;
-}
-
-
-/* end of file */
diff --git a/aplfw/volume/fat/fatfile_local.h b/aplfw/volume/fat/fatfile_local.h
deleted file mode 100755 (executable)
index 4aab36f..0000000
+++ /dev/null
@@ -1,37 +0,0 @@
-/** 
- *  Hyper Operating System  Application Framework
- *
- * @file  fatfile.h
- * @brief %jp{FATファイルシステム ファイルI/Fクラス}
- *
- * Copyright (C) 2006 by Project HOS
- * http://sourceforge.jp/projects/hos/
- */
-
-
-#ifndef __HOS__fatfile_local_h__
-#define __HOS__fatfile_local_h__
-
-
-#include "fatfile.h"
-#include "fatvol_local.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-void      FatFile_Delete(HANDLE hFile);
-FILE_ERR  FatFile_IoControl(HANDLE hFile, int iFunc, const void *pInBuf, FILE_SIZE InSize, void *pOutBuf, FILE_SIZE OutSize);
-FILE_POS  FatFile_Seek(HANDLE hFile, FILE_POS Offset, int iOrign);
-FILE_SIZE FatFile_Read(HANDLE hFile, void *pBuf, FILE_SIZE Size);
-FILE_SIZE FatFile_Write(HANDLE hFile, const void *pData, FILE_SIZE Size);
-
-#ifdef __cplusplus
-}
-#endif
-
-
-#endif /* __HOS__fatfile_local_h__ */
-
-
-/* end of file */
diff --git a/aplfw/volume/fat/fatfile_read.c b/aplfw/volume/fat/fatfile_read.c
deleted file mode 100755 (executable)
index c566786..0000000
+++ /dev/null
@@ -1,79 +0,0 @@
-
-
-#include <string.h>
-#include "fatfile_local.h"
-
-
-/* 読み出し */
-FILE_SIZE FatFile_Read(
-                       HANDLE    hFile,
-                       void      *pBuf,
-                       FILE_SIZE Size)
-{
-       C_FATFILE     *self;
-       void          *pClusterBuf;
-       FATVOL_UINT   ulBlock;
-       FILE_SIZE     ReadSize;
-       
-       /* ハンドル取得 */
-       self = (C_FATFILE *)hFile;
-       
-       /* サイズオーバーするなら */
-       if ( self->FilePos + Size > self->FileSize )
-       {
-               /* サイズ更新されていないかディレクトリテーブルを参照 */
-               if ( self->hDir != NULL )
-               {
-               }
-       }
-       
-       /* サイズクリップ */
-       if ( Size > self->FileSize - self->FilePos )
-       {
-               Size = self->FileSize - self->FilePos;
-       }
-       
-       /* 要求読み出し量保存 */
-       ReadSize = Size;
-       
-       /* 読み出し */
-       while ( Size > 0 && self->FilePos < self->FileSize )
-       {
-               FILE_POS      ReadStart;
-               FILE_SIZE     ReadSize;
-               unsigned char *pubClusterBuf;
-               
-               /* 転送位置計算 */
-               ReadStart = self->FilePos % self->uiClusterSize;
-               ReadSize  = self->uiClusterSize - ReadStart;
-               if ( ReadSize > Size )
-               {
-                       ReadSize = Size;
-               }
-               
-               /* バッファ取得 */
-               if ( FatVol_GetClusterBuf(self->pFatVol, self->uiCurrentCluster, &pClusterBuf, 1) != FATVOL_ERR_OK )
-               {
-                       break;
-               }
-               
-               /* 転送 */
-               memcpy(pBuf, (char *)pClusterBuf + ReadStart, ReadSize);
-
-               /* バッファ開放 */
-               FatVol_RelClusterBuf(self->pFatVol, pClusterBuf, 0);
-               
-               /* サイズ更新 */
-               self->FilePos += ReadSize;
-               pBuf =  (char *)pBuf + ReadSize;
-               Size -= ReadSize;
-               
-               /* 次のクラスタに進む */
-               self->uiCurrentCluster = FatVol_GetNextCluster(self->pFatVol, self->uiCurrentCluster);
-       }
-       
-       return ReadSize - Size;
-}
-
-
-/* end of file */
diff --git a/aplfw/volume/fat/fatvol.h b/aplfw/volume/fat/fatvol.h
deleted file mode 100755 (executable)
index 85f7c74..0000000
+++ /dev/null
@@ -1,71 +0,0 @@
-
-
-#ifndef __HOS__fatvol_h__
-#define __HOS__fatvol_h__
-
-
-#include "system/sysapi/sysapi.h"
-#include "system/file/file.h"
-
-
-#define FATVOL_ERR_OK          0
-#define FATVOL_ERR_NG          (-1)
-
-
-/* 型定義 */
-typedef unsigned long  FATVOL_UINT;
-
-
-/* クラスタバッファ */
-typedef struct t_fatvol_clusterbuf
-{
-       FATVOL_UINT             uiClusterNum;
-       int                             iDirty;
-       unsigned char   *pubBuf;
-} T_FATVOL_CLUSTERBUF;
-
-
-/* クラスタバッファ */
-typedef struct c_fatvol
-{
-       HANDLE                  hBlockFile;                                     /**< ブロックデバイスドライバのハンドル */
-
-       int                             iFatType;                                       /**< FATのタイプ */
-       FATVOL_UINT             uiOffset;                                       /**< ディスクのオフセット */
-       FATVOL_UINT             uiDriveSize;                            /**< ドライブの総サイズ */
-       FATVOL_UINT             uiBytesPerSector;                       /**< セクタサイズ */
-       FATVOL_UINT             uiSectorsPerCluster;            /**< クラスタサイズ */
-       FATVOL_UINT             uiFatStartSector;                       /**< FATの開始セクタ番号 */
-       FATVOL_UINT             uiSectorPerFat;                         /**< FATあたりのセクタ数 */
-       FATVOL_UINT             uiFatNum;                                       /**< FATの個数 */
-       FATVOL_UINT             uiRootDirEntryNum;                      /**< ルートディレクトリのエントリ数 */
-       FATVOL_UINT             uiRootDirSector;                        /**< ルートディレクトリのセクタ */
-       FATVOL_UINT             uiCluster0Sector;                       /**< クラスタ0のセクタ番号 */
-       FATVOL_UINT             uiMaxClusterNum;                        
-       FATVOL_UINT         uiRootDirCluster;                   
-       
-       unsigned char   *pubFatBuf;                                     /**< FATのバッファリングメモリ */
-       unsigned char   *pubFatDirty;                           /**< FATの更新フラグ */
-
-       T_FATVOL_CLUSTERBUF     *pClusterBuf;
-       int                                     iClusterBufNum;
-       int                                     iClusterBufIndex;       
-} C_FATVOL;
-
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-int    FatVol_Create(C_FATVOL *self, HANDLE hBlockFile);
-void   FatVol_Delete(C_FATVOL *self);
-HANDLE FatVol_CreateFile(C_FATVOL *self, FATVOL_UINT uiCluster, HANDLE hDir, int iDirEntry, int iMode);
-
-#ifdef __cplusplus
-}
-#endif
-
-
-#endif /* __HOS__fatdrive_h__ */
-
-
diff --git a/aplfw/volume/fat/fatvol_clusterread.c b/aplfw/volume/fat/fatvol_clusterread.c
deleted file mode 100755 (executable)
index 7bc5b15..0000000
+++ /dev/null
@@ -1,53 +0,0 @@
-#include "fatvol_local.h"
-
-
-/** クラスタ読み込み */
-int FatVol_ClusterRead(
-               C_FATVOL    *self,
-               FATVOL_UINT uiCluster,
-               void        *pBuf)
-{
-       FATVOL_UINT uiPos;
-       FATVOL_UINT uiSize;
-
-       if ( uiCluster >= 0xffff0000 && (self->iFatType == FATVOL_TYPE_FAT12 || self->iFatType == FATVOL_TYPE_FAT16) )
-       {
-               /* FAT12/16 のルートディレクトリを 0xf0000000 にマップ */
-               uiCluster -= 0xf0000000;
-               
-               /* 読み出し位置移動 */
-               uiPos = (self->uiRootDirSector + (uiCluster * self->uiSectorsPerCluster)) * self->uiBytesPerSector;
-               if ( File_Seek(self->hBlockFile, uiPos, FILE_SEEK_SET) != uiPos )
-               {
-                       return FATVOL_ERR_NG;
-               }
-               
-               /* 読み出し */
-               uiSize = self->uiBytesPerSector * self->uiSectorsPerCluster;
-               if ( File_Read(self->hBlockFile, pBuf, uiSize) != uiSize )
-               {
-                       return FATVOL_ERR_NG;
-               }
-       }
-       else
-       {
-               /* 読み出し位置移動 */
-               uiPos = (self->uiCluster0Sector + (uiCluster * self->uiSectorsPerCluster)) * self->uiBytesPerSector;
-               if ( File_Seek(self->hBlockFile, uiPos, FILE_SEEK_SET) != uiPos )
-               {
-                       return FATVOL_ERR_NG;
-               }
-
-               /* 読み出し */
-               uiSize = self->uiBytesPerSector * self->uiSectorsPerCluster;
-               if ( File_Read(self->hBlockFile, pBuf, uiSize) != uiSize )
-               {
-                       return FATVOL_ERR_NG;
-               }
-       }
-       
-       return FATVOL_ERR_OK;
-}
-
-
-/* end of file */
diff --git a/aplfw/volume/fat/fatvol_clusterwrite.c b/aplfw/volume/fat/fatvol_clusterwrite.c
deleted file mode 100755 (executable)
index ff43adb..0000000
+++ /dev/null
@@ -1,54 +0,0 @@
-
-#include "fatvol_local.h"
-
-
-/** クラスタ書き込み */
-int FatVol_ClusterWrite(
-               C_FATVOL    *self,
-               FATVOL_UINT uiCluster,
-               const void  *pBuf)
-{
-       FATVOL_UINT uiPos;
-       FATVOL_UINT uiSize;
-       
-       if ( uiCluster >= 0xffff0000 && (self->iFatType == FATVOL_TYPE_FAT12 || self->iFatType == FATVOL_TYPE_FAT16) )
-       {
-               /* FAT12/16 のルートディレクトリを 0xffff0000 にマップ */
-               uiCluster -= 0xf0000000;
-               
-               /* 書き出し位置移動 */
-               uiPos = (self->uiRootDirSector + (uiCluster * self->uiSectorsPerCluster)) * self->uiBytesPerSector;
-               if ( File_Seek(self->hBlockFile, uiPos, FILE_SEEK_SET) != uiPos )
-               {
-                       return FATVOL_ERR_NG;
-               }
-               
-               /* 書き出し */
-               uiSize = self->uiBytesPerSector * self->uiSectorsPerCluster;
-               if ( File_Write(self->hBlockFile, pBuf, uiSize) != uiSize )
-               {
-                       return FATVOL_ERR_NG;
-               }
-       }
-       else
-       {
-               /* 書き出し位置移動 */
-               uiPos = (self->uiCluster0Sector + (uiCluster * self->uiSectorsPerCluster)) * self->uiBytesPerSector;
-               if ( File_Seek(self->hBlockFile, uiPos, FILE_SEEK_SET) != uiPos )
-               {
-                       return FATVOL_ERR_NG;
-               }
-               
-               /* 書き出し */
-               uiSize = self->uiBytesPerSector * self->uiSectorsPerCluster;
-               if ( File_Write(self->hBlockFile, pBuf, uiSize) != uiSize )
-               {
-                       return FATVOL_ERR_NG;
-               }
-       }
-       
-       return FATVOL_ERR_OK;
-}
-
-
-/* end of file */
diff --git a/aplfw/volume/fat/fatvol_create.c b/aplfw/volume/fat/fatvol_create.c
deleted file mode 100755 (executable)
index be0d17d..0000000
+++ /dev/null
@@ -1,114 +0,0 @@
-
-#include <string.h>
-#include "fatvol_local.h"
-
-
-int FatVol_Create(C_FATVOL *self, HANDLE hBlockFile)
-{
-       unsigned char ubBuf[512];
-       int           i;
-       
-       /* ドライブの設定 */
-       self->hBlockFile = hBlockFile;
-       self->uiOffset   = 0x33*512;
-       
-       /* サイズ取得 */
-       self->uiDriveSize = File_Seek(self->hBlockFile, FILE_SEEK_END, 0);
-       self->iFatType    = FATVOL_TYPE_UNKNOWN;
-       
-       /* BIOS Parameter Block */
-       File_Seek(self->hBlockFile, self->uiOffset, FILE_SEEK_SET);
-       File_Read(self->hBlockFile, ubBuf, 512);
-       
-       /* FAT12/16/32判定 */
-       if ( ubBuf[0x36] == 'F' && ubBuf[0x37] == 'A' && ubBuf[0x38] == 'T' && ubBuf[0x39] == '1' )
-       {
-               if ( ubBuf[0x3a] == '2' )
-               {
-                       self->iFatType = FATVOL_TYPE_FAT12;
-               }
-               else if ( ubBuf[0x3a] == '6' )
-               {
-                       self->iFatType = FATVOL_TYPE_FAT16;
-               }
-       }
-       else if ( ubBuf[0x52] == 'F' && ubBuf[0x53] == 'A' && ubBuf[0x54] == 'T' && ubBuf[0x55] == '3' && ubBuf[0x56] == '2')
-       {
-               self->iFatType = FATVOL_TYPE_FAT32;
-       }
-       
-       /* フォーマット別情報解析 */
-       switch ( self->iFatType )
-       {
-       case FATVOL_TYPE_FAT12:
-       case FATVOL_TYPE_FAT16:
-               self->uiBytesPerSector    = ubBuf[0x0b] + ubBuf[0x0c] * 256;            /**< セクタサイズ */
-               self->uiSectorsPerCluster = ubBuf[0x0d];                                                        /**< 1クラスタのセクタ数 */
-               self->uiRootDirEntryNum   = ubBuf[0x11] + ubBuf[0x12] * 256;            /**< ルートディレクトリ最大エントリ数 */
-               self->uiFatStartSector    = ubBuf[0x0e] + ubBuf[0x0f] * 256;            /**< FATの開始セクタ番号 */
-               self->uiSectorPerFat      = ubBuf[0x16] + ubBuf[0x17] * 256;            /**< FATあたりのセクタ数 */
-               self->uiFatNum            = ubBuf[0x10];                                                        /**< FAT個数 */
-               self->uiRootDirSector     = self->uiFatStartSector + (self->uiSectorPerFat * self->uiFatNum);
-                                                                                                                                                       /**< ルートディレクトリ開始位置 */
-               self->uiCluster0Sector    = self->uiRootDirSector
-                                                                               + (((self->uiRootDirEntryNum * 32) + self->uiBytesPerSector - 1) / self->uiBytesPerSector)
-                                                                               - (2 * self->uiSectorsPerCluster);      /**< クラスタ0の開始セクタ */
-                               
-               /* FATバッファ準備 */
-               self->pubFatBuf   = (unsigned char *)SysMem_Alloc(self->uiSectorPerFat * self->uiBytesPerSector);
-               self->pubFatDirty = (unsigned char *)SysMem_Alloc(self->uiSectorPerFat);
-
-               /* FATバッファ準備 */
-               File_Seek(self->hBlockFile, self->uiFatStartSector * self->uiBytesPerSector, FILE_SEEK_SET);
-               File_Read(self->hBlockFile, self->pubFatBuf, self->uiSectorPerFat * self->uiBytesPerSector);
-               memset(self->pubFatDirty, 0, self->uiSectorPerFat);
-
-               break;
-
-       case FATVOL_TYPE_FAT32:
-               break;
-       
-       default:
-               return FATVOL_ERR_NG;
-       }
-       
-       /* 最大クラスタ番号算出 */
-       switch ( self->iFatType )
-       {
-       case FATVOL_TYPE_FAT12:
-               self->uiMaxClusterNum = (self->uiSectorPerFat * self->uiBytesPerSector) / 3 * 2;
-               if ( self->uiMaxClusterNum >= 0x0ff7 )
-               {
-                       self->uiMaxClusterNum = 0x0ff6;
-               }
-               break;
-
-       case FATVOL_TYPE_FAT16:
-               self->uiMaxClusterNum = (self->uiSectorPerFat * self->uiBytesPerSector) / 2;
-               if ( self->uiMaxClusterNum >= 0xfff7 )
-               {
-                       self->uiMaxClusterNum = 0xfff6;
-               }
-               break;
-
-       case FATVOL_TYPE_FAT32:
-               self->uiMaxClusterNum = (self->uiSectorPerFat * self->uiBytesPerSector) / 4;
-               break;
-       }
-       
-       /* クラスタバッファ取得 */
-       self->iClusterBufIndex = 0;
-       self->iClusterBufNum   = 32;
-       self->pClusterBuf = (T_FATVOL_CLUSTERBUF *)SysMem_Alloc(sizeof(T_FATVOL_CLUSTERBUF) * self->iClusterBufNum);
-       for ( i = 0; i < self->iClusterBufNum; i++ )
-       {
-               self->pClusterBuf[i].uiClusterNum = FATVOL_CLUSTER_ENDMARKER;
-               self->pClusterBuf[i].iDirty       = 0;
-               self->pClusterBuf[i].pubBuf       = SysMem_Alloc(self->uiSectorsPerCluster * self->uiBytesPerSector);
-       }
-       
-       return FATVOL_ERR_OK;
-}
-
-
-
diff --git a/aplfw/volume/fat/fatvol_createfile.c b/aplfw/volume/fat/fatvol_createfile.c
deleted file mode 100755 (executable)
index c657e9e..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-#include <stdio.h>
-#include "system/sysapi/sysapi.h"
-#include "fatfile.h"
-#include "fatvol_local.h"
-
-
-HANDLE FatVol_CreateFile(
-               C_FATVOL    *self,
-               FATVOL_UINT uiCluster,
-               HANDLE      hDir,
-               int         iDirEntry,
-               int         iMode)
-{
-       C_FATFILE *pFatFile;
-       
-       /* オブジェクトを生成 */
-       pFatFile = (C_FATFILE *)SysMem_Alloc(sizeof(C_FATFILE));
-       if ( pFatFile == NULL )
-       {
-               return HANDLE_NULL;
-       }
-       FatFile_Create(pFatFile, self, uiCluster, hDir, iDirEntry, iMode);
-       
-       return (HANDLE)pFatFile;
-}
-
-
-/* end of file */
diff --git a/aplfw/volume/fat/fatvol_flushfat.c b/aplfw/volume/fat/fatvol_flushfat.c
deleted file mode 100755 (executable)
index 11483f5..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-
-#include <string.h>
-#include "fatvol_local.h"
-
-
-/** FATのフラッシュ */
-void FatVol_FlushFat(C_FATVOL *self)
-{
-       unsigned long i;
-       
-       /* FAT先頭へ移動 */
-       File_Seek(self->hBlockFile, self->uiFatStartSector * self->uiBytesPerSector, FILE_SEEK_SET);
-       
-       for ( i = 0; i < self->uiFatNum; i++ )
-       {
-               int j;
-               
-               for ( j = 0; j < self->uiSectorPerFat; j++ )
-               {
-                       if ( self->pubFatDirty[j] )
-                       {
-                               File_Write(self->hBlockFile, &self->pubFatBuf[j * self->uiBytesPerSector], self->uiBytesPerSector);
-                       }
-                       else
-                       {
-                               File_Seek(self->hBlockFile, self->uiBytesPerSector, FILE_SEEK_CUR);
-                       }
-               }
-       }
-
-       /* 更新フラグクリア */
-       memset(self->pubFatDirty, 0, self->uiSectorPerFat);
-}
-
-
-/* end of file */
diff --git a/aplfw/volume/fat/fatvol_getclusterbuf.c b/aplfw/volume/fat/fatvol_getclusterbuf.c
deleted file mode 100755 (executable)
index 1374559..0000000
+++ /dev/null
@@ -1,67 +0,0 @@
-
-#include "fatvol_local.h"
-
-
-/**< クラスタ読み込み */
-int FatVol_GetClusterBuf(
-               C_FATVOL    *self,
-               FATVOL_UINT uiCluster,
-               void        **ppBuf,
-               int         iRead)
-{
-       int i;
-       
-       /* 既にバッファに居ないか探索 */
-       for ( i = 0; i < self->iClusterBufNum; i++ )
-       {
-               /* 見つかれば既存バッファを返す */
-               if ( self->pClusterBuf[i].uiClusterNum == uiCluster )
-               {
-                       *ppBuf = self->pClusterBuf[i].pubBuf;
-                       return FATVOL_ERR_OK;
-               }
-       }
-       
-       /* 空のバッファを探す */
-       for ( i = 0; i < self->iClusterBufNum; i++ )
-       {
-               if ( self->pClusterBuf[i].uiClusterNum == FATVOL_CLUSTER_ENDMARKER )
-               {
-                       break;
-               }
-       }
-       
-       /* 空きが無ければ空ける */
-       if ( i >= self->iClusterBufNum )
-       {
-               /* FIFO順でフラッシュ */
-               i = self->iClusterBufIndex++;
-               
-               /* dirtyなら吐き出す */
-               if ( self->pClusterBuf[i].iDirty )
-               {
-                       if ( FatVol_ClusterWrite(self, self->pClusterBuf[i].uiClusterNum, self->pClusterBuf[i].pubBuf) != FATVOL_ERR_OK )
-                       {
-                               return FATVOL_ERR_NG;
-                       }
-                       self->pClusterBuf[i].iDirty = 0;
-               }
-               self->pClusterBuf[i].uiClusterNum = FATVOL_CLUSTER_ENDMARKER;
-       }
-       
-       /* バッファに読み込み */
-       if ( iRead )
-       {
-               if ( FatVol_ClusterRead(self, self->pClusterBuf[i].uiClusterNum, self->pClusterBuf[i].pubBuf) != FATVOL_ERR_OK )
-               {
-                       return FATVOL_ERR_NG;
-               }
-       }
-       self->pClusterBuf[i].iDirty       = 0;
-       self->pClusterBuf[i].uiClusterNum = uiCluster;
-       
-       return FATVOL_ERR_OK;   
-}
-
-
-/* end of file */
diff --git a/aplfw/volume/fat/fatvol_getnextcluster.c b/aplfw/volume/fat/fatvol_getnextcluster.c
deleted file mode 100755 (executable)
index ddacdd9..0000000
+++ /dev/null
@@ -1,64 +0,0 @@
-
-#include <string.h>
-#include "fatvol_local.h"
-
-
-FATVOL_UINT FatVol_GetNextCluster(C_FATVOL *self, FATVOL_UINT uiCluster)
-{
-       FATVOL_UINT uiNextCluster = FATVOL_CLUSTER_ENDMARKER;
-       
-       switch ( self->iFatType )
-       {
-       case FATVOL_TYPE_FAT12:
-               /* 0xffff0000 からルートディレクトリをマップ */
-               if ( uiCluster >= 0xffff0000 )
-               {
-                       return uiCluster + 1;
-               }
-               
-               /* FAT検索 */
-               if ( uiCluster % 2 == 0 )
-               {
-                       uiNextCluster = self->pubFatBuf[(uiCluster / 2) * 3 + 0]
-                                                       + ((self->pubFatBuf[(uiCluster / 2) * 3 + 1] & 0x0f) << 8);
-               }
-               else
-               {
-                       uiNextCluster = ((self->pubFatBuf[(uiCluster / 2) * 3 + 1] >> 4) & 0xf)
-                                                       + (self->pubFatBuf[(uiCluster / 2) * 3 + 2] << 4);
-               }
-               
-               if ( uiNextCluster >= 0x0ff7 )
-               {
-                       uiNextCluster = FATVOL_CLUSTER_ENDMARKER;
-               }
-               break;
-       
-       case FATVOL_TYPE_FAT16:
-               /* 0xffff0000 からルートディレクトリをマップ */
-               if ( uiCluster >= 0xffff0000 )
-               {
-                       return uiCluster + 1;
-               }
-               
-               /* FAT検索 */
-               uiNextCluster = self->pubFatBuf[uiCluster * 2] + self->pubFatBuf[uiCluster * 2 + 1] * 256;
-               if ( uiNextCluster >= 0xfff7 )
-               {
-                       uiNextCluster = FATVOL_CLUSTER_ENDMARKER;
-               }
-               break;
-
-       case FATVOL_TYPE_FAT32:
-               uiNextCluster = self->pubFatBuf[uiCluster * 4]
-                               + self->pubFatBuf[uiCluster * 4 + 1] * 256
-                               + self->pubFatBuf[uiCluster * 4 + 2] * 256 * 256
-                               + self->pubFatBuf[uiCluster * 4 + 3] * 256 * 256 * 256;
-               break;
-       }
-       
-       return uiNextCluster;
-}
-
-
-/* end of file */
diff --git a/aplfw/volume/fat/fatvol_local.h b/aplfw/volume/fat/fatvol_local.h
deleted file mode 100755 (executable)
index ea5e9c9..0000000
+++ /dev/null
@@ -1,43 +0,0 @@
-
-
-#ifndef __HOS__fatvol_local_h__
-#define __HOS__fatvol_local_h__
-
-
-#include "fatvol.h"
-
-
-/* 最終クラスタマーカー */
-#define FATVOL_CLUSTER_FREE                            0x00000000
-#define FATVOL_CLUSTER_ENDMARKER               0xffffffff
-
-
-/* ファイルシステムのタイプ */
-#define FATVOL_TYPE_UNKNOWN                            0
-#define FATVOL_TYPE_FAT12                              1
-#define FATVOL_TYPE_FAT16                              2
-#define FATVOL_TYPE_FAT32                              3
-
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-int FatVol_ClusterWrite(C_FATVOL *self, FATVOL_UINT uiCluster, const void *pBuf);                      /**< クラスタ書き込み */
-int FatVol_ClusterRead(C_FATVOL *self, FATVOL_UINT uiCluster, void *pBuf);                                     /**< クラスタ読み込み */
-int FatVol_GetClusterBuf(C_FATVOL *self, FATVOL_UINT uiCluster, void **ppBuf, int iRead);
-int FatVol_RelClusterBuf(C_FATVOL *self, void *ppBuf, int iDirty);                                                     
-
-FATVOL_UINT FatVol_GetNextCluster(C_FATVOL *self, FATVOL_UINT uiCluster);
-void        FatVol_SetNextCluster(C_FATVOL *self, FATVOL_UINT uiCluster, FATVOL_UINT uiNextCluster);
-
-
-#ifdef __cplusplus
-}
-#endif
-
-
-#endif /*  __HOS__fatvol_local_h__ */
-
-
-/* end of file */
diff --git a/aplfw/volume/fat/fatvol_open.c b/aplfw/volume/fat/fatvol_open.c
deleted file mode 100755 (executable)
index 3530047..0000000
+++ /dev/null
@@ -1,134 +0,0 @@
-
-#include <string.h>
-#include "fatvol_local.h"
-
-
-HANDLE FatVol_Open(C_FATVOL *self, const char *pszPath, int iMode)
-{
-       unsigned char ubBuf[32];
-       FATVOL_UINT   uiCluster;
-       HANDLE hDir;
-       HANDLE hFile;
-       char   szEntryName[8+3+1];
-       int    iEntryNameLen;
-       char   szName[8+3+1];
-       int    iNameLen;
-       int    iDirEntry;
-       int    i, j;
-       
-       /* ルートを基点にする */
-       if ( *pszPath == '/' )
-       {
-               pszPath++;
-       }
-       
-       /* ルートディレクトリを開く */
-       hDir = FatVol_CreateFile(self, self->uiRootDirCluster, 0, 0, FILE_MODE_READ | FILE_MODE_WRITE);
-       
-       for ( ; ; )
-       {
-               /* 名前の部分を検索 */
-               for ( iNameLen = 0; pszPath[iNameLen] != '\0'; iNameLen++ )
-               {
-                       if ( pszPath[iNameLen] == '/' )
-                       {
-                               szName[iNameLen] = '\0';
-                               break;
-                       }
-                       
-                       /* 大文字に変換 */
-                       if ( pszPath[iNameLen] >= 'a' && pszPath[iNameLen] <= 'z' )
-                       {
-                               szName[iNameLen] = pszPath[iNameLen] - ('a' - 'A');
-                       }
-                       else
-                       {
-                               szName[iNameLen] = pszPath[iNameLen];
-                       }
-               }
-               
-               /* ディレクトリエントリを検索 */
-               iDirEntry = -1;
-               for ( i = 0; File_Read(hDir, ubBuf, 32, 0) == 32; i++ )
-               {
-                       /* 0なら打ち切り */
-                       if ( ubBuf[0] == 0x00 )
-                       {
-                               break;
-                       }
-                       
-                       /* 名前部分取り出し */
-                       iEntryNameLen = 0;
-                       for ( j = 0; j < 8; j++ )
-                       {
-                               if ( ubBuf[0+j] == ' ' || ubBuf[0+j] == '\0' )
-                               {
-                                       break;
-                               }
-                               szEntryName[iEntryNameLen++] = (char)ubBuf[0+j];
-                       }
-                       szEntryName[iEntryNameLen++] = '.';
-                       for ( j = 0; j < 3; j++ )
-                       {
-                               if ( ubBuf[8+j] == ' ' || ubBuf[8+j] == '\0' )
-                               {
-                                       break;
-                               }
-                               szEntryName[iEntryNameLen++] = (char)ubBuf[8+j];
-                       }
-                       szEntryName[iEntryNameLen++] = '\0';
-                       if ( iEntryNameLen > 2 && szEntryName[iEntryNameLen-1] == '.' )
-                       {
-                               szEntryName[--iEntryNameLen] = '\0';
-                       }
-                       
-                       if ( strcmp(szEntryName, szName) == 0 )
-                       {
-                               iDirEntry = i;
-                               break;
-                       }
-               }
-               
-               /* 開始クラスタ取得 */
-               uiCluster = ubBuf[0x1a] + ubBuf[0x1b]*256;
-               if ( self->iFatType == FATVOL_TYPE_FAT32 )
-               {
-                       uiCluster += ubBuf[0x14]*256*256 + ubBuf[0x15]*256*256*256;
-               }
-
-               /* パス部分の解析が終わっていればここで抜ける */
-               if ( pszPath[iNameLen] == '\0' )
-               {
-                       break;
-               }
-               
-               File_Close(hDir);
-               
-               /* サブディレクトリがなければエラー */
-               if ( iDirEntry < 0 || !(ubBuf[0x0b] & 0x10) )
-               {
-                       return HANDLE_NULL;
-               }
-               
-               /* サブディレクトリを開く */
-               hDir = FatVol_CreateFile(self, uiCluster, 0, 0, FILE_MODE_READ | FILE_MODE_WRITE);
-               
-               pszPath += iNameLen;
-       }
-       
-       /* 既存ファイルがあれば */
-       if ( iDirEntry >= 0 )
-       {
-               hFile = FatVol_CreateFile(self, uiCluster, hDir, iDirEntry, iMode);
-               if ( hFile == HANDLE_NULL )
-               {
-                       File_Close(hDir);
-               }
-               return hFile;
-       }
-       
-       File_Close(hDir);
-       return HANDLE_NULL;
-}
-
-
diff --git a/aplfw/volume/fat/fatvol_relclusterbuf.c b/aplfw/volume/fat/fatvol_relclusterbuf.c
deleted file mode 100755 (executable)
index a62e276..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-
-#include <stddef.h>
-#include "fatvol_local.h"
-
-
-/**< クラスタ読み込み */
-int FatVol_RelClusterBuf(
-               C_FATVOL    *self,
-               void        *pBuf,
-               int         iDirty)
-{
-       T_FATVOL_CLUSTERBUF     *pClusterBuf;
-       
-       /* バッファ情報取得 */
-       pClusterBuf = (T_FATVOL_CLUSTERBUF *)((char *)pBuf - offsetof(T_FATVOL_CLUSTERBUF, pubBuf));
-       
-       pClusterBuf->iDirty = iDirty;
-       
-       return FATVOL_ERR_OK;   
-}
-
-
-/* end of file */
diff --git a/aplfw/volume/fat/fatvol_setnextcluster.c b/aplfw/volume/fat/fatvol_setnextcluster.c
deleted file mode 100755 (executable)
index 4434168..0000000
+++ /dev/null
@@ -1,50 +0,0 @@
-
-
-#include "fatvol_local.h"
-
-
-void FatVol_SetNextCluster(C_FATVOL *self, FATVOL_UINT uiCluster, FATVOL_UINT uiNextCluster)
-{
-       switch ( self->iFatType )
-       {
-       case FATVOL_TYPE_FAT12:
-               /* FAT更新 */
-               if ( uiCluster % 2 == 0 )
-               {
-                       self->pubFatBuf[(uiCluster / 2) * 3 + 0] = uiNextCluster & 0xff;
-                       self->pubFatBuf[(uiCluster / 2) * 3 + 1] = ((uiNextCluster >> 8) & 0x0f) | (self->pubFatBuf[(uiCluster / 2) * 3 + 1] & 0xf0);
-               }
-               else
-               {
-                       self->pubFatBuf[(uiCluster / 2) * 3 + 1] = ((uiNextCluster << 4) & 0xf0) | (self->pubFatBuf[(uiCluster / 2) * 3 + 1] & 0x0f);
-                       self->pubFatBuf[(uiCluster / 2) * 3 + 2] = ((uiNextCluster >> 4) & 0xff);
-               }
-
-               /* 更新フラグ設定 */
-               self->pubFatDirty[((uiCluster / 2) * 3 + 0) / self->uiBytesPerSector] = 1;
-               self->pubFatDirty[((uiCluster / 2) * 3 + 2) / self->uiBytesPerSector] = 1;
-               break;
-               
-       case FATVOL_TYPE_FAT16:
-               /* FAT更新 */
-               self->pubFatBuf[uiCluster * 2 + 0] = uiNextCluster % 256;
-               self->pubFatBuf[uiCluster * 2 + 1] = uiNextCluster / 256;
-
-               /* 更新フラグ設定 */
-               self->pubFatDirty[(uiCluster * 2) / self->uiBytesPerSector] = 1;
-               break;
-
-       case FATVOL_TYPE_FAT32:
-               /* FAT更新 */
-               self->pubFatBuf[uiCluster * 2 + 0] = uiNextCluster % 256;
-               self->pubFatBuf[uiCluster * 2 + 1] = (uiNextCluster / 256) % 256;
-               self->pubFatBuf[uiCluster * 2 + 2] = (uiNextCluster / 256 / 256) % 256;
-               self->pubFatBuf[uiCluster * 2 + 3] = (uiNextCluster / 256 / 256 / 256) % 256;
-
-               /* 更新フラグ設定 */
-               self->pubFatDirty[(uiCluster * 4) / self->uiBytesPerSector] = 1;
-       }
-}
-
-
-/* end of file */