mirror of
https://github.com/pocketpy/pocketpy
synced 2025-10-20 03:20:18 +00:00
39 lines
799 B
C
39 lines
799 B
C
#ifndef POCKETPY_C_H
|
|
#define POCKETPY_C_H
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
#include <stdbool.h>
|
|
#include <stdint.h>
|
|
|
|
typedef struct pkpy_vm_handle* pkpy_vm;
|
|
|
|
pkpy_vm pkpy_vm_create(bool use_stdio, bool enable_os);
|
|
void pkpy_vm_exec(pkpy_vm vm_handle, const char* source);
|
|
void pkpy_vm_destroy(pkpy_vm vm);
|
|
|
|
////////binding a c function to pocketpy
|
|
typedef void (*pkpy_cfunction)(pkpy_vm);
|
|
|
|
void pkpy_push_cfunction(pkpy_vm, pkpy_cfunction);
|
|
void pkpy_push_int(pkpy_vm, int64_t);
|
|
void pkpy_push_float(pkpy_vm, double);
|
|
void pkpy_push_null(pkpy_vm);
|
|
|
|
void pkpy_set_global(pkpy_vm, const char* name);
|
|
void pkpy_get_global(pkpy_vm vm_handle, const char* name);
|
|
|
|
void pkpy_call(pkpy_vm vm_handle, int argc);
|
|
int pkpy_toint(pkpy_vm vm_handle, int index);
|
|
|
|
|
|
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif
|