# MB_GetSegmentLength

## 構文

  `#include <nitro/mb.h>`
  `u32 MB_GetSegmentLength(FSFile *file);`

## 引数

file

プログラムファイルのハンドルを保持するFSFile構造体
このファイルのシーク位置はプログラムバイナリの先頭を指している必要があります。
また、シーク位置はこの関数から返ったときに元の位置を保持します。
このポインタにNULLを指定した場合は親機アプリケーション自身を
ダウンロードプログラムファイルとみなしてサイズを計算します。

## 返り値

正しいプログラムである場合、0 よりも大きいバイトサイズを返し、そうでない場合は 0 を返します。

## 説明

指定したプログラムファイルをマルチブート処理へ登録するために必要なメモリサイズを取得します。
詳細は`MB_ReadSegment()`を参照ください。
この関数は内部で`FS_ReadFile()` を呼び出します。

## 参照

MB_SEGMENT_BUFFER_MIN
MB_ReadSegment MB_RegisterFile

## 履歴

2004/11/11 クローンブート公開に伴う記述変更. 遅延リード方式追加に伴う記述変更.
2004/09/10 ファイルポインタにNULLを指定した際の動作説明を追加
2004/08/09 初版