struct funcman_object {
const char *func_key;
char[FUNCMAN_NAME_MAX] lib_name;
char[FUNCMAN_NAME_MAX] func_name;
MODULE_HANDLE handle;
void *func_ptr;
int resolved;
int padding;
pthread_mutex_t mutex;
}関数ポインタキャッシュエントリ。
ライブラリ名・関数名・ハンドル・関数ポインタおよび排他制御用ロックを管理します。
静的変数として定義する場合は NEW_FUNCMAN_OBJECT マクロで初期化してください。
const char *func_key;この関数インスタンスの識別キー。
char[FUNCMAN_NAME_MAX] lib_name;拡張子なしライブラリ名。[0]==‘\0’ = 未設定。
char[FUNCMAN_NAME_MAX] func_name;関数シンボル名。[0]==‘\0’ = 未設定。
MODULE_HANDLE handle;キャッシュ済みハンドル (NULL = 未ロード)。
void *func_ptr;キャッシュ済み関数ポインタ (NULL = 未取得)。
int resolved;解決済フラグ (0 = 未解決)。
int padding;パディング。
pthread_mutex_t mutex;ロード処理を保護する mutex (Linux)。