#ifndef VALAPHP_EMBED_RUNTIME_H
#define VALAPHP_EMBED_RUNTIME_H

#include <glib.h>

#include <sapi/embed/php_embed.h>

#include "valaphp-runtime-core.h"
#include "valaphp-runtime-embed.h"

gboolean valaphp_embed_ensure_initialized(char **error_message);
gboolean valaphp_embed_syntax_check_file(const char *path, char **error_message);
gboolean valaphp_embed_call_php_function(const char *function_name, zval *params, uint32_t param_count, zval *return_value, char **error_message);
char *valaphp_embed_call_php_function_output_to_string(const char *function_name, zval *params, uint32_t param_count, char **error_message);
char *valaphp_embed_zval_to_allocated_string(zval *return_value);
Phpzval *valaphp_embed_zend_zval_to_php_zval(zval *value);
void valaphp_embed_zval_to_zend_zval(Phpzval *value, zval *return_value);

#endif
