private.h 672 B

123456789101112131415161718192021222324
  1. /*
  2. * plugin private.h
  3. */
  4. #include "lub/list.h"
  5. #include "clish/plugin.h"
  6. /*---------------------------------------------------------
  7. * PRIVATE TYPES
  8. *--------------------------------------------------------- */
  9. struct clish_sym_s {
  10. char *name; /* Symbol name */
  11. clish_plugin_fn_t *func; /* Function address */
  12. bool_t permanent; /* If permanent the dry-run can't switch off it */
  13. clish_plugin_t *plugin; /* Parent plugin */
  14. };
  15. struct clish_plugin_s {
  16. char *file; /* Plugin file name. Must be unique. */
  17. char *name; /* Local plugin name. Can be used in builtin ref. */
  18. lub_list_t *syms; /* List of plugin symbols */
  19. void *dlhan; /* Handler of dlopen() */
  20. };