# 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)。