funcman_object

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 マクロで初期化してください。

1 属性

1.1 func_key

const char *func_key;

この関数インスタンスの識別キー。

1.2 lib_name

char[FUNCMAN_NAME_MAX] lib_name;

拡張子なしライブラリ名。[0]==‘\0’ = 未設定。

1.3 func_name

char[FUNCMAN_NAME_MAX] func_name;

関数シンボル名。[0]==‘\0’ = 未設定。

1.4 handle

MODULE_HANDLE handle;

キャッシュ済みハンドル (NULL = 未ロード)。

1.5 func_ptr

void *func_ptr;

キャッシュ済み関数ポインタ (NULL = 未取得)。

1.6 resolved

int resolved;

解決済フラグ (0 = 未解決)。

1.7 padding

int padding;

パディング。

1.8 mutex

pthread_mutex_t mutex;

ロード処理を保護する mutex (Linux)。