# EL_CalcEnoughBufferSizeforLink*

## 構文

  `#include <twl/el.h>`
  `s32 EL_CalcEnoughBufferSizeforLink( ELReadImage readfunc, u32 len, const void* buf, ELLinkMode link_mode );`
  `s32 EL_CalcEnoughBufferSizeforLinkFile( const char* FilePath, const void* buf, ELLinkMode link_mode);`
  `s32 EL_CalcEnoughBufferSizeforLinkImage( void* obj_image, u32 obj_len, const void* buf, ELLinkMode link_mode );`

## 引数

readfunc | ユーザー独自の READ 関数
FilePath | 登録する動的モジュールのパス名
obj_image | 登録する動的モジュールのメモリ上のアドレス
len / obj_len | 登録する動的モジュールのサイズ
buf | 動的モジュールの登録先となるバッファ 実際に書き込みは行いません。
link_mode | 動的リンクをテストする際のモードです。 現在は EL_LINKMODE_ONESHOT しか指定できません。

## 返り値

成功した場合は必要となるバッファサイズを返します。
失敗した場合は -1 を返します。

## 説明

動的モジュールをELライブラリに登録するのに十分なバッファサイズを求めます。
動的モジュールが外部参照をしている場合、やや大きめのサイズを返す場合があります。
`EL_CalcEnoughBufferSizeforLink()` は、ユーザーが指定した READ 関数を使用して、動的モジュールを読み込みます。
`EL_CalcEnoughBufferSizeforLinkFile()` は、登録する動的モジュールを ROM から読み込みます。
`EL_CalcEnoughBufferSizeforLinkImage()` は、メモリに読み込み済みの動的モジュールを使用します。

## 参照

`ELReadImage`

## 履歴

2009/01/14 初版