
#include <twl/el.h>ELDlld EL_LinkEx( ELReadImage readfunc, u32 len, void* buf, u32 buf_size );ELDlld EL_LinkFileEx( const char* FilePath, void* buf, u32 buf_size );ELDlld EL_LinkImageEx( void* obj_image, u32 obj_len, void* buf, u32 buf_size );
| readfunc | ユーザー独自の READ 関数 |
| FilePath | 登録する動的モジュールのパス名 |
| obj_image | 登録する動的モジュールのメモリ上のアドレス |
| len / obj_len | 登録する動的モジュールのサイズ |
| buf | 動的モジュールの登録先となるバッファ |
| buf_size | 動的モジュールの登録先となるバッファのサイズ |
登録に成功した場合、登録した動的モジュールが返ってきます。
登録に失敗した場合は 0 が返ってきます。
動的モジュールをELライブラリに登録します。
EL_LinkEx() は、ユーザーが指定した READ 関数を使用して、動的モジュールを読み込みます。
EL_LinkFileEx() は、登録する動的モジュールを ROM から読み込みます。
EL_LinkImageEx() は、メモリに読み込み済みの動的モジュールを使用します。
buf には、EL_CalcEnoughBufferSizeforLink*() で求めたサイズ以上の
領域を確保しておく必要があります。
buf_size に指定したサイズで足りなかった場合、リンク処理は途中で失敗します。その後 EL_GetResultCode() を呼び出すと EL_RESULT_NO_MORE_RESOURCE が返ります。
また、あくまで動的モジュールの登録先のバッファは buf なので、EL_LinkImageEx() で動的モジュールの登録作業を行う場合には、
一時的に動的モジュール(ELFファイル)のサイズ分のバッファ(obj_image)が追加で必要となることに注意してください。
注意
デバッガを利用して動的モジュールをデバッグできるのは EL_LinkFileEx() を使用した場合のみという点に注意してください。
EL_CalcEnoughBufferSizeforLink*, ELReadImage
2009/03/16 初版