Document of c-modernization-kit (funcman) 1.0.0

Loading...
Searching...
No Matches
funcman_info.c
Go to the documentation of this file.
1
16
17#include <funcman.h>
18#include <stdio.h>
19
20/* doxygen コメントは、ヘッダに記載 */
21 int funcman_info(funcman_object *const *fobj_array, const size_t fobj_length)
22{
23 int rtc = 0;
24 size_t fobj_index;
25
26 for (fobj_index = 0; fobj_index < fobj_length; fobj_index++)
27 {
28 funcman_object *fobj = fobj_array[fobj_index];
29
30 if (fobj->resolved == 0)
31 {
32 (void)_funcman_get_func(fobj);
33 }
34 printf("- [%zu] %s\n", fobj_index, fobj->func_key);
35 printf(" - resolved : %d\n", fobj->resolved);
36 printf(" - lib_name : %s\n", fobj->lib_name);
37 printf(" - func_name: %s\n", fobj->func_name);
38 printf(" - handle : %p\n", (void *)fobj->handle);
39 printf(" - func_ptr : %p\n", fobj->func_ptr);
40
41 if (fobj->resolved < 0)
42 {
43 rtc = -1;
44 }
45 }
46
47 return rtc;
48}
funcman.h
関数動的呼び出し機構 (funcman) の公開 API ヘッダー。
_funcman_get_func
void * _funcman_get_func(funcman_object *fobj)
拡張関数ポインタを返します。この関数は内部用です。
Definition funcman_get_func.c:21
funcman_info
int funcman_info(funcman_object *const *fobj_array, const size_t fobj_length)
funcman_object ポインタ配列の内容を標準出力に表示します。
Definition funcman_info.c:21
funcman_object
関数ポインタキャッシュエントリ。
Definition funcman.h:67
funcman_object::handle
MODULE_HANDLE handle
キャッシュ済みハンドル (NULL = 未ロード)。
Definition funcman.h:71
funcman_object::func_name
char func_name[FUNCMAN_NAME_MAX]
関数シンボル名。[0]=='\0' = 未設定。
Definition funcman.h:70
funcman_object::resolved
int resolved
解決済フラグ (0 = 未解決)。
Definition funcman.h:73
funcman_object::func_ptr
void * func_ptr
キャッシュ済み関数ポインタ (NULL = 未取得)。
Definition funcman.h:72
funcman_object::lib_name
char lib_name[FUNCMAN_NAME_MAX]
拡張子なしライブラリ名。[0]=='\0' = 未設定。
Definition funcman.h:69
funcman_object::func_key
const char * func_key
この関数インスタンスの識別キー。
Definition funcman.h:68