jerry_callbacks.h 880 B

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. #ifndef JERRY_CALLBACKS_H__
  2. #define JERRY_CALLBACKS_H__
  3. #include <rtthread.h>
  4. #include <jerry_util.h>
  5. #ifdef __cplusplus
  6. extern "C" {
  7. #endif
  8. typedef void(*js_callback_func)(const void *args, uint32_t size);
  9. typedef rt_bool_t(*js_mq_func)(void *args);
  10. struct js_callback
  11. {
  12. js_callback_func function;
  13. struct js_callback *next;
  14. };
  15. struct js_mq_callback
  16. {
  17. struct js_callback *callback;
  18. void *args;
  19. uint32_t size;
  20. };
  21. struct js_callback *js_add_callback(js_callback_func callback);
  22. void js_remove_callback(struct js_callback *callback);
  23. void js_remove_all_callbacks(void);
  24. void js_call_callback(struct js_callback *callback, const void *data, uint32_t size);
  25. rt_bool_t js_send_callback(struct js_callback *callback, const void *args, uint32_t size);
  26. void js_mq_func_init(js_mq_func signal);
  27. void js_mq_func_deinit(void);
  28. #ifdef __cplusplus
  29. }
  30. #endif
  31. #endif