#ifndef __STAGLIST_H
#define __STAGLIST_H
typedef struct staglist_struct staglist;
typedef struct staglist_struct *staglist_p;
struct staglist_struct
{
/* name of this tag */
char *name;
/* pointer to the function which handles it */
void (*function) (context_p, char **, int, char**);
/* pointer to the next simple stag */
staglist_p next;
};
#ifdef __cplusplus
extern "C" {
#endif /* __cplusplus */
staglist_p staglist_init();
void staglist_destroy(staglist_p simple_tag_list);
int staglist_alias(staglist_p *simple_tag_list, char *old_name,
char *new_name);
int staglist_register(staglist_p *simple_tag_list, char *name,
void (*function)(context_p, char **, int, char**));
void staglist_remove(staglist_p *simple_tag_list, char *name);
int staglist_exists(staglist_p simple_tag_list, char *name);
int staglist_exec(staglist_p simple_tag_list, char *name, context_p ctx,
char **output, int argc, char **argv);
#ifdef __cplusplus
}
#endif /* __cplusplus */
#endif /* __STAGLIST_H */