#include #ifndef TOOL_INFO_H #define TOOL_INFO_H struct arc_model; typedef void (*cap_execute)(struct arc_model *a_m); struct tool_capability { char *name; cap_execute run; }; typedef char *(*tool_name_fn)(void); typedef char **(*tool_interface_fn)(size_t *num_caps); struct tool_plugin { void *handle; char *name; struct tool_capability *caps; size_t num_caps; }; void tool_plugin_init(struct tool_plugin *t_plugin, char *tool_name, size_t num_caps); void tool_plugin_destroy(struct tool_plugin *t_plugin); void load_tool_plugin(struct tool_plugin *t_plugin, char *plugin_file); #endif