pocketpy_c.h 619 B

12345678910111213141516171819202122232425262728293031323334
  1. #ifndef POCKETPY_C_H
  2. #define POCKETPY_C_H
  3. #ifdef __cplusplus
  4. extern "C" {
  5. #endif
  6. #include <stdbool.h>
  7. #include <stdint.h>
  8. typedef struct pkpy_vm_handle* pkpy_vm;
  9. pkpy_vm pkpy_vm_create(bool use_stdio, bool enable_os);
  10. void pkpy_vm_exec(pkpy_vm vm_handle, const char* source);
  11. void pkpy_vm_destroy(pkpy_vm vm);
  12. ////////binding a c function to pocketpy
  13. typedef void (*pkpy_cfunction)(pkpy_vm);
  14. void pkpy_push_cfunction(pkpy_vm, pkpy_cfunction);
  15. void pkpy_push_int(pkpy_vm, int64_t);
  16. void pkpy_push_float(pkpy_vm, double);
  17. void pkpy_set_global(pkpy_vm, const char* name);
  18. #ifdef __cplusplus
  19. }
  20. #endif
  21. #endif