56 |
* both may want to indicate success/failure and return a result. |
* both may want to indicate success/failure and return a result. |
57 |
*/ |
*/ |
58 |
|
|
59 |
typedef enum scm_t_c_hookype_t { |
typedef enum scm_t_c_hook_type { |
60 |
SCM_C_HOOK_NORMAL, |
SCM_C_HOOK_NORMAL, |
61 |
SCM_C_HOOK_OR, |
SCM_C_HOOK_OR, |
62 |
SCM_C_HOOK_AND |
SCM_C_HOOK_AND |
63 |
} scm_t_c_hookype_t; |
} scm_t_c_hook_type; |
64 |
|
|
65 |
typedef void *(*scm_t_c_hook_function) (void *hook_data, |
typedef void *(*scm_t_c_hook_function) (void *hook_data, |
66 |
void *func_data, |
void *func_data, |
74 |
|
|
75 |
typedef struct scm_t_c_hook { |
typedef struct scm_t_c_hook { |
76 |
scm_t_c_hook_entry *first; |
scm_t_c_hook_entry *first; |
77 |
scm_t_c_hookype_t type; |
scm_t_c_hook_type type; |
78 |
void *data; |
void *data; |
79 |
} scm_t_c_hook; |
} scm_t_c_hook; |
80 |
|
|
81 |
extern void scm_c_hook_init (scm_t_c_hook *hook, |
extern void scm_c_hook_init (scm_t_c_hook *hook, |
82 |
void *hook_data, |
void *hook_data, |
83 |
scm_t_c_hookype_t type); |
scm_t_c_hook_type type); |
84 |
extern void scm_c_hook_add (scm_t_c_hook *hook, |
extern void scm_c_hook_add (scm_t_c_hook *hook, |
85 |
scm_t_c_hook_function func, |
scm_t_c_hook_function func, |
86 |
void *func_data, |
void *func_data, |