skynet_module.h 927 B

1234567891011121314151617181920212223242526272829
  1. #ifndef SKYNET_MODULE_H
  2. #define SKYNET_MODULE_H
  3. struct skynet_context;
  4. typedef void * (*skynet_dl_create)(void);
  5. typedef int (*skynet_dl_init)(void * inst, struct skynet_context *, const char * parm);
  6. typedef void (*skynet_dl_release)(void * inst);
  7. typedef void (*skynet_dl_signal)(void * inst, int signal);
  8. struct skynet_module {
  9. const char * name;
  10. void * module;
  11. skynet_dl_create create;
  12. skynet_dl_init init;
  13. skynet_dl_release release;
  14. skynet_dl_signal signal;
  15. };
  16. struct skynet_module * skynet_module_query(const char * name);
  17. void * skynet_module_instance_create(struct skynet_module *);
  18. int skynet_module_instance_init(struct skynet_module *, void * inst, struct skynet_context *ctx, const char * parm);
  19. void skynet_module_instance_release(struct skynet_module *, void *inst);
  20. void skynet_module_instance_signal(struct skynet_module *, void *inst, int signal);
  21. void skynet_module_init(const char *path);
  22. #endif