ローダー
API
ローダー関連のAPIを使用するには、solid_loader.h をインクルードしてください。
#include "solid_loader.h"
ローダーはロード元として SOLIDのファイルシステム を使用します。
SOLID_LDR_GetAddr
-
int SOLID_LDR_GetAddr(const char *pName, SOLID_ADDRESS *pAddr)
エクスポートされたシンボルのアドレスを取得します
同じシンボル名で複数のアドレス値が登録された場合、 最後に登録されたアドレス値が取得できます。
- パラメータ:
pName -- シンボル名(文字列,NUL終端)
pAddr -- 取得したアドレス
- 戻り値:
SOLID_ERR_OK
: 正常終了それ以外: エラー
SOLID_LDR_GetDllAddr
-
int SOLID_LDR_GetDllAddr(const char *pDllName, const char *pSymbolName, SOLID_ADDRESS *pAddr)
ロードオブジェクトを指定してエクスポートされたシンボルのアドレスを取得します
- パラメータ:
pDllName -- 検索を行うロードオブジェクト名(文字列,NUL終端)
pSymbolName -- シンボル名(文字列,NUL終端)
pAddr -- 取得したアドレス
- 戻り値:
SOLID_ERR_OK
: 正常終了それ以外: エラー
SOLID_LDR_LoadFile
-
int SOLID_LDR_LoadFile(const char *pName, const char *pFilename)
ファイルシステムからロード処理を行います
- パラメータ:
pName -- ロードオブジェクト名(文字列,NUL終端)
pFilename -- ロードするファイル名(文字列,NUL終端)
- 戻り値:
SOLID_ERR_OK
: 正常終了それ以外: エラー
SOLID_LDR_LoadDLL
-
int SOLID_LDR_LoadDLL(const char *pName, const char *pFilename, SOLID_ADDRESS loadAddr)
ファイルシステムからDLLのロード処理を行います
再配置可能なロードオブジェクトを指定アドレスにロードします。 ロード位置を指定しない時は、SOLID_LDR_ADDR_DLLAREA (-1) を指定してください。 この時、DLLのロード領域として使用可能な領域を DLLAREA としてメモリマップエディタで登録しておく必要があります。
- パラメータ:
pName -- ロードオブジェクト名(文字列,NUL終端)
pFilename -- ロードするファイル名(文字列,NUL終端)
loadAddr -- ロードする先頭アドレス
- 戻り値:
SOLID_ERR_OK
: 正常終了それ以外: エラー
SOLID_LDR_CanExec
-
int SOLID_LDR_CanExec(const char *pName, SOLID_ADDRESS *pAddr)
指定されたロードオブジェクトが実行可能かを確認します
- パラメータ:
pName -- ロードオブジェクト名(文字列,NUL終端)
pAddr -- 実行開始アドレス
- 戻り値:
1: 実行可能
0: 実行不可(シンボル解決が終了していない)
それ以外: エラー
SOLID_LDR_UnLoad
-
int SOLID_LDR_UnLoad(const char *pName)
指定されたロードオブジェクトをアンロードします
- パラメータ:
pName -- ロードオブジェクト名(文字列,NUL終端)
- 戻り値:
SOLID_ERR_OK
: 正常終了それ以外: エラー
SOLID_LDR_RegisterSymbol
-
int SOLID_LDR_RegisterSymbol(const char *pName, SOLID_ADDRESS addr)
シンボル情報を登録します
- パラメータ:
pName -- シンボル名(文字列,NUL終端)
addr -- アドレス
- 戻り値:
SOLID_ERR_OK
: 正常終了それ以外: エラー
SOLID_LDR_CheckUnresolved
-
int SOLID_LDR_CheckUnresolved(void)
未解決シンボルの数を確認します
- 戻り値:
未解決シンボルの総数
SOLID_LDR_MGR_INFO
-
typedef struct _SOLID_LDR_MGR_INFO_ SOLID_LDR_MGR_INFO
SOLID_LDR_GetManagedAreaInfo
-
int SOLID_LDR_GetManagedAreaInfo(SOLID_LDR_MGR_INFO *pInfo)
ローダーの管理メモリ領域の使用状況を取得します。
- パラメータ:
pInfo -- 使用状況を取得するバッファ
- 戻り値:
SOLID_ERR_OK
: 正常終了それ以外: エラー