13#include "saxonc_export.h"
14#include "saxon_error.h"
15#include <saxonc/saxonc-core.h>
19#if defined __linux__ || defined __APPLE__
27#define EXTERN_SAXONC extern "C" {
28#define EXTERN_SAXONC_END }
31#define EXTERN_SAXONC_END
44static const bool false = 0;
45static const bool true = 1;
57static const int SXN_EXCEPTION = -2;
58static const int SXN_UNSET = -1;
59static const int SXN_PHP = 1;
60static const int SXN_PYTHON = 2;
61static const int SXN_CPP = 0;
73static const saxon_error_t SAXON_ERROR_DEFAULT = {SAXON_OK, NULL, NULL, NULL, -1, 0};
75extern char *resources_dir;
133typedef void *(*allocFn)(
size_t length);
135typedef void * (*nativeFn)(
void * t,
char * functionName,
void * proc,
void * pythonFunc,
void * func,
int php,
int useNativeTypes,
int numOfArguments,
void ** arguments);
136typedef void * (*nativePHPFn)(
char * functionName,
void * proc,
void * func,
int useNativeTypes,
int numOfArguments,
void ** arguments);
137typedef void * (*nativePythonFn)(
void * proc,
void * func,
int useNativeTypes,
int numOfArguments,
void ** arguments);
139extern const char *failure;
216 const char *name,
const char *value);
SAXONC_EXPORT void setParameter(sxnc_parameter **parameters, int *parLen, int *parCap, const char *name, sxnc_value *value)
Set a parameter.
Definition SaxonCGlue.c:202
SAXONC_EXPORT int c_createSaxonProcessor(sxnc_environment *environi, sxnc_processor *processor, int license)
Create a pointer to the Saxon Processor.
Definition SaxonCGlue.c:145
SAXONC_EXPORT int64_t createSaxonProcessor2(graal_isolatethread_t *thread, int license)
Create and return the ObjectHandle for a Saxon Processor.
Definition SaxonCGlue.c:141
SAXONC_EXPORT int64_t getParameter(sxnc_parameter *parameters, int parLen, const char *name)
Get a parameter from the list.
Definition SaxonCGlue.c:178
SAXONC_EXPORT int create_graalvm_isolate(sxnc_environment *env)
Load dll using the default setting in SaxonC.
Definition SaxonCGlue.c:45
char * _getResourceDirectory(void)
Get resources directory.
Definition SaxonCGlue.c:27
SAXONC_EXPORT int attach_graalvm_thread(sxnc_environment *env)
Attach to the current thread in the loaded GraalVM isolate.
Definition SaxonCGlue.c:74
SAXONC_EXPORT void setProperty(sxnc_property **properties, int *propLen, int *propCap, const char *name, const char *value)
Set a property.
Definition SaxonCGlue.c:228
SAXONC_EXPORT graal_isolatethread_t * get_or_attach_thread(sxnc_environment *env)
Get or attach to the current thread in the loaded GraalVM isolate.
Definition SaxonCGlue.c:57
SAXONC_EXPORT void graal_tear_down(graal_isolatethread_t *thread)
Clean up and destroy GraalVM to release memory used.
Definition SaxonCGlue.c:167
SAXONC_EXPORT int detach_graalvm_thread(sxnc_environment *env)
Closes down the GraalVM environment used by SaxonC.
Definition SaxonCGlue.c:101
SAXONC_EXPORT char * getProperty(sxnc_property *properties, int propLen, const char *name)
Get a property from the list.
Definition SaxonCGlue.c:190
SAXONC_EXPORT const char * checkForException(sxnc_environment *environi)
Callback to check for exceptions.
Definition SaxonCGlue.c:162
SAXONC_EXPORT void clearSettings(sxnc_parameter **parameters, int *parLen, sxnc_property **properties, int *propLen)
Clear parameters and properties.
Definition SaxonCGlue.c:257
sxnc_environment.
Definition SaxonCGlue.h:85
graal_isolatethread_t * thread
pointer to the current GraalVM isolate thread
Definition SaxonCGlue.h:87
graal_isolate_t * isolate
Structure representing a GraalVM isolate.
Definition SaxonCGlue.h:86
graal_isolatethread_t * mainthread
pointer to the main GraalVM isolate thread
Definition SaxonCGlue.h:88
sxnc_parameter.
Definition SaxonCGlue.h:97
char * name
The parameter name.
Definition SaxonCGlue.h:98
int64_t value
Definition SaxonCGlue.h:99
!
Definition SaxonCGlue.h:127
int64_t value
The ObjectHandle of the processor object.
Definition SaxonCGlue.h:128
sxnc_property.
Definition SaxonCGlue.h:111
char * value
Definition SaxonCGlue.h:113
char * name
The property name.
Definition SaxonCGlue.h:112
!
Definition SaxonCGlue.h:120
int64_t xdmvalue
Definition SaxonCGlue.h:121