summaryrefslogtreecommitdiff
path: root/psi/iapi.h
diff options
context:
space:
mode:
authorChris Liddell <chris.liddell@artifex.com>2017-11-17 15:17:03 +0000
committerRobin Watts <Robin.Watts@artifex.com>2018-12-07 14:17:55 -0500
commitabb742af3affbe00da625a1272d682ac5fd4c964 (patch)
treea201eae99bee574f5cf0fa2ffa208d9928c07e37 /psi/iapi.h
parenteab61428b3fa1e4078e71febefe406dad499814e (diff)
downloadghostpdl-abb742af3affbe00da625a1272d682ac5fd4c964.tar.gz
Commit of gpdl-shared-device branch.
This commit is a squashed version of the gpdl-shared-device branch. Essentially this is a first version of the new language switching mechanism. This does not build as part as "all", but rather as "experimental" or "gpdl".
Diffstat (limited to 'psi/iapi.h')
-rw-r--r--psi/iapi.h20
1 files changed, 20 insertions, 0 deletions
diff --git a/psi/iapi.h b/psi/iapi.h
index 4155cbf03..f4120c546 100644
--- a/psi/iapi.h
+++ b/psi/iapi.h
@@ -112,6 +112,16 @@ extern "C" {
typedef struct display_callback_s display_callback;
#endif
+#ifndef gs_memory_DEFINED
+# define gs_memory_DEFINED
+typedef struct gs_memory_s gs_memory_t;
+#endif
+
+#ifndef gx_device_DEFINED
+# define gx_device_DEFINED
+typedef struct gx_device_s gx_device;
+#endif
+
typedef struct gsapi_revision_s {
const char *product;
const char *copyright;
@@ -296,6 +306,14 @@ gsapi_run_fileW(void *instance,
const wchar_t *file_name, int user_errors, int *pexit_code);
#endif
+/* Retrieve the memory allocator for the interpreter instance */
+GSDLLEXPORT gs_memory_t * GSDLLAPI
+gsapi_get_device_memory(void *instance);
+
+/* Set the device */
+GSDLLEXPORT int GSDLLAPI
+gsapi_set_device(void *instance, gx_device *pdev);
+
/* Exit the interpreter.
* This must be called on shutdown if gsapi_init_with_args()
* has been called, and just before gsapi_delete_instance().
@@ -353,6 +371,8 @@ typedef int (GSDLLAPIPTR PFN_gsapi_run_fileA)(void *instance,
typedef int (GSDLLAPIPTR PFN_gsapi_run_fileW)(void *instance,
const wchar_t *file_name, int user_errors, int *pexit_code);
#endif
+typedef gs_memory_t * (GSDLLAPIPTR PFN_gsapi_get_device_memory)(void *instance);
+typedef gs_memory_t * (GSDLLAPIPTR PFN_gsapi_set_device)(void *instance, gx_device *pdev);
typedef int (GSDLLAPIPTR PFN_gsapi_exit)(void *instance);
#ifdef __MACOS__