00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #ifndef _GLOBUS_CALLOUT_H_
00018 #define _GLOBUS_CALLOUT_H_
00019
00027 #include "globus_common.h"
00028 #include "globus_callout_constants.h"
00029
00030 #ifdef __cplusplus
00031 extern "C" {
00032 #endif
00033
00034 #ifndef GLOBUS_GLOBAL_DOCUMENT_SET
00035
00039 #endif
00040
00117 #define GLOBUS_CALLOUT_MODULE (&globus_i_callout_module)
00118
00119 extern
00120 globus_module_descriptor_t globus_i_callout_module;
00121
00122
00127 typedef struct globus_i_callout_handle_s * globus_callout_handle_t;
00128
00129
00134 typedef globus_result_t (*globus_callout_function_t)(
00135 va_list ap);
00136
00137
00148 globus_result_t
00149 globus_callout_handle_init(
00150 globus_callout_handle_t * handle);
00151
00152 globus_result_t
00153 globus_callout_handle_destroy(
00154 globus_callout_handle_t handle);
00155
00167 globus_result_t
00168 globus_callout_read_config(
00169 globus_callout_handle_t handle,
00170 char * filename);
00171
00172 globus_result_t
00173 globus_callout_register(
00174 globus_callout_handle_t handle,
00175 char * type,
00176 char * library,
00177 char * symbol);
00178
00189 globus_result_t
00190 globus_callout_call_type(
00191 globus_callout_handle_t handle,
00192 char * type,
00193 ...);
00194
00195
00196 #ifdef __cplusplus
00197 }
00198 #endif
00199
00200 #endif