English
PROGRAMMER'S GUIDEファイルシステムライブラリ
戻る進む
ファイルシステムライブラリ

8.関数仕様-1


8.1 ディレクトリ管理




Title

関数仕様

Function

ファイルシステムの初期化・マウント

Function Name

GFS_Init

No

1.1

 書 式
Sint32 GFS_Init(Sint32 open_max, void *work, GfsDirTbl *dirtbl)
 入 力
open_max
:同時に開くファイルの最大数(1から24まで)
work
:ライブラリのための作業領域
dirtbl
:ディレクトリ情報管理構造体
 出 力
dirtbl  :ディレクトリ情報管理構造体(ディレクトリ情報格納領域)
 関数値
読み込んだディレクトリ情報数。エラーが発生したときは負のエラーコードを返します。
引数のディレクトリ情報管理構造体へのポインタにNULLを指定すると、CDブロック
ファイルシステムが保持しているディレクトリ情報の個数を関数値として返します。
 機 能
ファイルシステムの初期化とCD-ROMのマウント処理を行います。
dirtblの指定によりディレクトリ管理機能を指定します。

dirtbl
使用するディレクトリ管理機能
ディレクトリ管理構造体
本ライブラリのディレクトリ管理
NULL
CDブロックファイルシステムのディレクトリ管理
 備 考

  1. workは4バイト境界に配置しなければなりません。

  2. INT_ChgMsk関数により、SCUのレベル0-DMA終了割り込みを許可します。

  3. CDブロックを以下のように初期設定します。

(ECC回数とリトライ回数が最大値に設定され、それ以外はデフォルトのままです。)
・CDブロックソフトリセット:しない
・サブコードデコード:しない
・モード2サブヘッダ認識:す る
・フォーム2リードリトライ:しない
・CD−ROMデータリード:最高速(現在は2倍速)
・スタンバイタイム:180秒
・ECC回数:5回
・リトライ回数:15回



Title

関数仕様

Function

ディレクトリ情報の読み込み

Function Name

GFS_LoadDir

No

1.2

 書 式
Sint32 GFS_LoadDir(Sint32 fid, GfsDirTbl *dirtbl)
 入 力
fid
:ディレクトリファイルの識別子
dirtbl
:ディレクトリ情報管理構造体
 出 力
dirtbl:ディレクトリ情報管理構造体(ディレクトリ情報格納領域)
 関数値
読み込んだディレクトリ数。エラーが発生したときは負のエラーコードを返します。
引数のディレクトリ情報管理構造体へのポインタにNULLを指定すると、CDブロック
ファイルシステムが保持しているディレクトリ情報の個数を関数値として返します。
 機 能
指定されたディレクトリファイルからディレクトリ情報を読み込みます。
dirtblの指定によりディレクトリ情報の格納先が変わります。
dirtbl
ディレクトリ情報格納領域
ディレクトリ管理構造体
dirtblのディレクトリ情報格納領域
NULL
CDブロック内のファイル管理情報領域

dirtblにNULLを指定したとき、GFS_InitでCDブロックファイルシステムを使用すると宣言しなければ、エラーとなります。ただし、dirtblにNULL以外の適切なディレクトリ情報管理構造体へのポインタを渡すことは常に可能です。



Title

関数仕様

Function

カレントディレクトリの設定

Function Name

GFS_SetDir

No

1.3

 書 式
Sint 32GFS_SetDir(GfsDirTbl *dirtbl);
 入 力
dirtbl :ディレクトリ情報管理構造体
 出 力
なし
 関数値
エラーコード。
 機 能
指定されたディレクトリ情報をカレントディレクトリに設定します。
dirtblの指定により使用するディレクトリ情報が変わります。
dirtbl
使用するディレクトリ情報
ディレクトリ管理構造体
dirtblの内容
NULL
CDブロック内のファイル管理情報
dirtblにNULLを指定したとき、GFS_InitでCDブロックファイルシステムを使用すると宣言しなければエラーとなります。ただし、dirtblにNULL以外の適切なディレクトリ情報管理構造体へのポインタを渡すことは常に可能です。



Title

関数仕様

Function

名前からファイル識別子への変換

Function Name

GFS_NameToId

No

1.4

 書 式
Sint 32GFS_NameToId(Sint8 *fname)
 入 力
fname:ファイル名
 出 力
なし
 関数値
ファイル識別子。エラーが発生したときは負のエラーコード。
 機 能
ファイル名に対応するファイル識別子を返します。



Title

関数仕様

Function

識別子からファイル名への変換

Function Name

GFS_IdToName

No

1.5

 書 式
const Sint8 *GFS_IdToName(Sint32 fid)
 入 力
fid:ファイル識別子
 出 力
なし
 関数値
ファイル名へのポインタ。エラーが発生したときはNULL。
 機 能
ファイル識別子に対応するファイル名へのポインタを返します。このポインタは、本ライブラリが使用している変換テーブル領域を指しています。



Title

関数仕様

Function

ディレクトリ情報の取得

Function Name

GFS_GetDirInfo

No

1.6

 書 式
Sint32 GFS_GetDirInfo(Sint32 fid, GfsDirId *dirrec)
 入 力
fid :ファイル識別子
 出 力
dirrec:ディレクトリ情報
 関数値
エラーコード
 機 能
ファイル識別子からディレクトリ情報を取得します。



Title

関数仕様

Function

ファイルシステムのリセット

Function Name

GFS_Reset

No

1.7

 書 式
void GFS_Reset(void)
 入 力
なし
 出 力
なし
 関数値
なし
 機 能
オープンしているファイルを全てクローズし、ファイルシステムをリセットします。
(ディレクトリ情報以外を初期化します。)
 備 考
ストリームシステムを使用している場合、ストリームをクローズしてから本関数を実行してください。

戻る進む
PROGRAMMER'S GUIDEファイルシステムライブラリ
Copyright SEGA ENTERPRISES, LTD., 1997