54 #define DEVNAME_LEN 2 // "X:" 71 SYSERR_PRINT(
"Storage number %d too large.\n", drvno);
75 if(
storage[drvno].device != 0) {
76 SYSERR_PRINT(
"Storage %d: already mounted.\n", drvno);
80 fs = search_filesystem(fsname);
82 SYSERR_PRINT(
"Invalid file system \"%s\".\n", fsname);
92 SYSERR_PRINT(
"Cannot open Device \"%s\" (Storage %d:).\n", devname, drvno);
98 rtn = fs->mount(drvno, dev);
100 SYSERR_PRINT(
"Device \"%s\" (Storage %d:) mount error.\n", devname, drvno);
124 SYSERR_PRINT(
"Storage number %d too large.\n", drvno);
129 SYSERR_PRINT(
"Storage %d: not mounted.\n", drvno);
133 if(
storage[drvno].device != 0) {
139 SYSERR_PRINT(
"Device (Storage %d:) unmount error.\n", drvno);
142 if(
storage[drvno].device != 0) {
163 char *drvname = (
char *)device_name[i];
169 tprintf(
"Storage %d: \"%s\"\n", i, drvname);
171 tprintf(
"Storage %d: \"%s\" mount failed.\n",
175 SYSERR_PRINT(
"Storage number %d too large.\n", i);
180 drvname = (
char *)device_name[i];
int unmount_storage(int drvno)
ストレージデバイスをアンマウントする
struct st_device * open_device(char *name)
デバイスをオープンする
const char * device_name(int num)
デバイス名を取得する
int mount_storage(int drvno, const char *devname, const char *fsname)
ストレージデバイスをマウントする
int sync_device(struct st_device *dev)
デバイスの書き込みデータの同期をとる
struct st_filesystem * fs
ファイルシステム
int register_storage_device(const char *const device_name[])
ストレージデバイスをリストでマウントする
struct st_storage_info storage[GSC_FS_VOLUME_NUM]
ストレージデバイステーブル
int tprintf(const char *fmt,...)
簡易printf
#define GSC_FS_VOLUME_NUM
$gsc 最大ストレージデバイスボリューム数
int get_storage_device_name(int drv, char **devname, char **fsname)
マウントされているデバイス名を取得する
int close_device(struct st_device *dev)
デバイスをクローズする
char name[MAX_DEVNAMELRN]
デバイス名文字列
void init_storage(void)
外部記憶装置管理初期化
struct st_device * device
ストレージデバイスドライバ