summaryrefslogtreecommitdiff
path: root/source/luametatex/source/lua/lmtenginelib.h
diff options
context:
space:
mode:
Diffstat (limited to 'source/luametatex/source/lua/lmtenginelib.h')
-rw-r--r--source/luametatex/source/lua/lmtenginelib.h41
1 files changed, 41 insertions, 0 deletions
diff --git a/source/luametatex/source/lua/lmtenginelib.h b/source/luametatex/source/lua/lmtenginelib.h
new file mode 100644
index 000000000..a6aef849c
--- /dev/null
+++ b/source/luametatex/source/lua/lmtenginelib.h
@@ -0,0 +1,41 @@
+/*
+ See license.txt in the root of this project.
+*/
+
+# ifndef LMT_LUAINIT_H
+# define LMT_LUAINIT_H
+
+typedef struct engine_state_info {
+ int lua_init;
+ int lua_only;
+ const char *luatex_banner;
+ const char *engine_name;
+ char *startup_filename;
+ char *startup_jobname;
+ char *dump_name; /* could move to dump_state */
+ int utc_time; /* kind of obsolete, could be a callback */
+ int permit_loadlib;
+} engine_state_info;
+
+extern engine_state_info lmt_engine_state;
+
+extern void tex_engine_initialize (int ac, char **av);
+extern char *tex_engine_input_filename (void);
+extern void tex_engine_check_configuration (void);
+
+extern void tex_engine_get_config_boolean (const char *name, int *target);
+extern void tex_engine_get_config_number (const char *name, int *target);
+extern void tex_engine_get_config_string (const char *name, char **target);
+extern int tex_engine_run_config_function (const char *name);
+extern void tex_engine_set_memory_data (const char *name, memory_data *data);
+extern void tex_engine_set_limits_data (const char *name, limits_data *data);
+
+extern void lmt_make_table (lua_State *L, const char *tab, const char *mttab, lua_CFunction getfunc, lua_CFunction setfunc);
+extern int lmt_traceback (lua_State *L);
+extern void lmt_error (lua_State *L, const char *where, int detail, int fatal);
+extern void lmt_initialize (void);
+extern void lmt_dump_engine_info (dumpstream f);
+extern void lmt_undump_engine_info (dumpstream f);
+extern const char *lmt_error_string (lua_State *L, int index);
+
+# endif