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

7.データ仕様


7.1 基本的なデータ




Title

データ仕様

Data

基本的なデータ

Data Name

 

No

1.0

 (1)基本データ型
 基本的データ構造の一覧表を次に示します。

型 名
説 明
Uint8
符号なし1バイト整数
Sint8
符号あり1バイト整数
Uint16
符号なし2バイト整数
Sint16
符号あり2バイト整数
Uint32
符号なし4バイト整数
Sint32
符号あり4バイト整数
Bool
論理型4バイト整数

 (2)論理型定数
 論理型(Bool)の値として使用します。

定数名
説 明
FALSE
0
論理値の偽
TRUE
1
論理値の真

 (3)ヌルポインタ
定数名
説 明
NULL
(void*)0
ヌルポインタ

7.2 定数




Title

データ仕様

Data

ファイルの属性

Data Name

GFS_ATR_〜

No

2.1

 以下に示す定数は、それぞれの属性の有無を表します。これらの定数は、GFS_Init、GFS_LoadDirで読み込まれたディレクトリ情報中の属性、およびGFS_GetFileInfoで出力される属性に対して使用できます。
ここに示さなかったビットの内容は不定です。

bit 7   6   5   4   3   2   1   0
   [ ] [ ] [ ] [ ] [ ] [-] [-] [ ] 
    |   |   |   |   |           |
    |   |   |   |   |           |
    |   |   |   |   |           +---- GFS_ATR_END_TBL  1:ディレクトリ情報テーブルの最後 
    |   |   |   |   |
    |   |   |   |   +---------------- GFS_ATR_FORM1    1:Form1セクタを含む
    |   |   |   +-------------------- GFS_ATR_FORM2    1:Form2セクタを含む
    |   |   +------------------------ GFS_ATR_INTLV    1:インタリ−ブセクタを含む
    |   +---------------------------- GFS_ATR_CDDA     1:CDDAファイル
    +-------------------------------- GFS_ATR_DIR      1:ディレクトリファイル




Title

データ仕様

Data

アクセス状態

Data Name

GFS_NWSTAT_〜

No

2.2

 以下に示す定数は、サーバのアクセス状態を表します。GFS_NwGetStatで出力されます。

定数名
説 明
GFS_NWSTAT_NOACT
何もしていない
GFS_NWSTAT_FREAD
GFS_NwFread実行中
GFS_NWSTAT_CDREAD
GFS_NwCdRead実行中




Title

データ仕様

Data

アクセスサーバ状態

Data Name

GFS_SVR_〜

No

2.3

 以下に示す定数はGFS_NwExecOneとGFS_NwExecServerの関数値である。その実行状態を表す。

定数名
説 明
GFS_SVR_COMPLETED
処理終了
GFS_SVR_BUSY
処理中
GFS_SVR_CDPAUSE
CDバッファフルの為一時停止
GFS_SVR_ERROR
アクセス中にエラーが発生した




Title

データ仕様

Data

シークモード

Data Name

GFS_SEEK_〜

No

2.4

 以下に示す定数は、アクセスポインタを移動する際の基準を表します。GFS_Seekの引数として使用されます。

定数名
説 明
GFS_SEEK_SET
ファイルの先頭
GFS_SEEK_CUR
現在の位置
GFS_SEEK_END
ファイルの終端




Title

データ仕様

Data

取り出しモード

Data Name

GFS_GMODE_〜

No

2.5

 以下の定数はCDバッファからの取り出し方式を表します。GFS_SetGmodeの引数として使用されます。

定数名
説 明
GFS_GMODE_ERASE
転送後、バッファから削除
GFS_GMODE_RESIDENT
転送後もCDバッファに残す




Title

データ仕様

Data

転送モード

Data Name

GFS_TMODE_〜

No

2.6

 以下の定数はCDバッファからの転送を実行するデバイスを表します。GFS_SetTmodeの引数として使用されます。

定数名
説 明
GFS_TMODE_SCU
SCUによりDMA転送(レベル0)
 ※転送先がWORKRAM-Lの場合、
  ソフトウェア転送になります。
GFS_TMODE_SDMA0
DMAサイクルスチール転送チャンネル0
GFS_TMODE_SDMA1
DMAサイクルスチール転送チャンネル1
GFS_TMODE_CPU
ソフトウェア転送




Title

データ仕様

Data

エラーコード

Data Name

GFS_ERR_〜

No

2.7

 GFS_ERR_OKの値は0です。その他のエラーコードは、負の値を持ちます。

定数名
説 明
GFS_ERR_OK
正常終了
GFS_ERR_CDRD
CDリードエラー
GFS_ERR_CDNODISC
CDがセットされていない
GFS_ERR_CDROM
CD-ROMでないディスクが設定されている
GFS_ERR_DIRTBL
ディレクトリ管理テーブルの内容が不正
GFS_ERR_OPENMAX
最大オープン数の値が不正
GFS_ERR_DIR
指定されたファイルはディレクトリでない
GFS_ERR_CDBFS
CDブロックファイルシステムのエラー
GFS_ERR_NONAME
現在のディレクトリではファイル名を扱えない
GFS_ERR_NEXIST
存在しないファイル名
GFS_ERR_FID
不正なファイル識別子
GFS_ERR_HNDL
ファイルハンドルが不正
GFS_ERR_SEEK
シーク位置が不正
GFS_ERR_ORG
基準位置が不正
GFS_ERR_NUM
バイト数が負
GFS_ERR_OFS
オフセット不正
GFS_ERR_FBUSY
指定ファイルハンドルに対する処理が残っている
GFS_ERR_PARA
パラメータが不正
GFS_ERR_BUSY
ライブラリ関数実行中
GFS_ERR_NOHNDL
ファイルハンドルに空きがない
GFS_ERR_PUINUSE
ピックアップ動作中
GFS_ERR_ALIGN
データ読込み量域が4バイト境界にない
GFS_ERR_TMOUT
内部処理でタイムアウトが発生した
GFS_ERR_CDOPEN
トレイが開いている
GFS_ERR_BFUL
バッファフルで読み込み中止
GFS_ERR_FATAL
CDドライブが〈FATAL〉状態




Title

データ仕様

Data

その他

Data Name

 

No

2.8

 本ライブラリで使用されるその他の定数を次に示します。

定数名
説 明
GFS_RPARA_DFL
読み込みパラメータの初期値
GFS_BUFSIZ_INF
GFS_Loadで読み込み領域の大きさに関わらず読み込むことを指定

7.3 データ型




Title

データ仕様

Data

ファイルハンドル

Data Name

GfsHn

No

3.1

 ファイルのアクセスに関する、ファイルごとの情報を保持します。GFS_Openによって生成されます。ファイルをアクセスするほとんどの関数はこのデータを参照します。




Title

データ仕様

Data

ディレクトリ情報管理

Data Name

GfsDirTbl

No

3.2

(1) ディレクトリ情報テーブル種別
 ディレクトリ情報管理構造体はファイル名なしディレクトリ情報、またはファイル名つきディレクトリ情報を管理できる。どちらを管理するかを次の定数で指定します。

定数名
説 明
GFS_DIR_ID
ファイル名情報を持たない
GFS_DIR_NAME
ファイル名情報を持つ

(2) ディレクトリ情報管理
 ディレクトリ情報を管理するためのデータ型です。ディレクトリ情報テーブルの種別と、その大きさ、その実体を保持します。

GfsDirTbl *dirtbl
アクセスマクロ
説 明
GFS_DIRTBL_TYPE(dirtbl)
Sint32
ディレクトリ情報テーブルの種別
GFS_DIRTBL_NDIR(dirtbl)
Sint32
ディレクトリ情報テーブルの最大要素数
GFS_DIRTBL_DIRID(dirtbl)
GfsDirId*
ファイル名なしディレクトリ情報テーブル
へのポインタ
GFS_DIR_NAME(dirtbl)
GfsDirName*
ファイル名つきディレクトリ情報テーブル
へのポインタ

(3) 設定方法

 (a)ファイル名なしディレクトリ情報使用時
GfsDirTbl dirtbl;
GfsDirId dir_id[MAX_DIR_ID]

GFS_DIRTBL_TYPE (&dirtbl) = GFS_DIR_ID; /* ファイル名なしディレクトリ情報指定   */ GFS_DIRTBL_NDIR (&dirtbl) = MAX_DIR_ID; /* 最大要素数               */ GFS_DIRTBL_DIRID(&dirtbl) = dir_id; /* ファイル名なしディレクトリ情報テーブル */

 (b)ファイル名つきディレクトリ情報使用時
GfsDirTbl dirtbl;
GfsDirName dir_name[MAX_DIR_NAME];

GFS_DIRTBL_TYPE(&dirtbl) = GFS_DIR_NAME; /* ファイル名つきディレクトリ情報指定   */ GFS_DIRTBL_NDIR(&dirtbl) = MAX_DIR_NAME; /* 最大要素数               */ GFS_DIRTBL_DIRNAME(&dirtbl) = dir_name; /* ファイル名つきディレクトリ情報テーブル */




Title

データ仕様

Data

ファイル名なしディレクトリ情報

Data Name

GfsDirId

No

3.3

 ファイル名を含まないディレクトリ情報構造体です。
 ディレクトリ情報テーブルの種別(GFS_DIRTBL_TYPE)には、GFS_DIR_IDを指定します。

GfsDirId *dir
アクセスマクロ
説 明
GFS_DIR_FAD(dir)
Sint32
ファイルの先頭FAD
GFS_DIR_SIZE(dir)
Sint32
ファイルの大きさ(単位はバイト)
GFS_DIR_FN(dir)
Uint8
ファイル番号
GFS_DIR_ATR(dir)
Uint8
ファイルの属性
GFS_DIR_UNIT(dir)
Uint8
ファイルのユニットサイズ(単位はセクタ)
GFS_DIR_GAP(dir)
Uint8
ファイルのギャップサイズ(単位はセクタ)




Title

データ仕様

Data

ファイル名つきディレクトリ情報

Data Name

GfsDirName

No

3.4

 ファイル名を含むディレクトリ情報構造体です。
 ディレクトリ情報テーブルの種別(GFS_DIRTBL_TYPE)には、GFS_DIR_NAMEを指定します。

GfsDirName *dir
アクセスマクロ
説 明
GFS_DIR_FAD(dir)
Sint32
ファイルの先頭FAD
GFS_DIR_SIZE(dir)
Sint32
ファイルの大きさ(単位はバイト)
GFS_DIR_FN(dir)
Uint8
ファイル番号
GFS_DIR_ATR(dir)
Uint8
ファイルの属性
GFS_DIR_UNIT(dir)
Uint8
ファイルのユニットサイズ(単位はセクタ)
GFS_DIR_GAP(dir)
Uint8
ファイルのギャップサイズ(単位はセクタ)
GFS_DIR_FNAME(dir)
Sint8[]
ファイル名*1
*1:領域の大きさは12バイトです。ファイル名の長さが12バイトの時、文字列は'¥0'では終わりません。




Title

データ仕様

Data

エラー処理関数

Data Name

GfsErrFunc

No

3.5

 書 式
void (*GFsErrFunc) (void *obj, Sint32 ec)
 入 力
obj
:エラー処理を行うために必要なオブジェクト
ec
:エラーコード
 出 力
なし



Title

データ仕様

Data

エラー状態

Data Name

GfsErrStat

No

3.6

 GFS_GetErrStatで出力されるデータです。

GfsErrStat *stat
アクセスマクロ
説 明
GFS_ERR_FUNC(err)
GfsErrFunc
エラー処理関数へのポインタ。
GFS_ERR_OBJ(err)
void*
エラー処理関数の第1引数。
GFS_ERR_CODE(err)
Sint32
エラーコード。


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