All Rights Reserved.
This software is provided AS-IS with no warranty, either express or
implied.
This software is distributed under license and may not be copied,
modified or distributed except as expressly authorized under the terms
of the license contained in the file LICENSE in this distribution.
Refer to licensing information at http://www.artifex.com or contact
Artifex Software, Inc., 39 Mesa Street, Suite 108A, San Francisco,
CA 94129, USA, for further information.
*/
#ifndef icstate_INCLUDED
# define icstate_INCLUDED
#include "imemory.h"
#include "iref.h"
#include "idsdata.h"
#include "iesdata.h"
#include "iosdata.h"
#include "stream.h"
#include "opdef.h"
#include "gsgstate.h"
#include "files.h"
#include "interp.h"
struct gs_context_state_s {
gs_gstate *pgs;
gs_dual_memory_t memory;
int language_level;
ref array_packing;
ref binary_object_format;
long nv_page_count;
long rand_state;
long usertime_0[2];
bool usertime_inited;
ref error_object;
ref userparams;
int scanner_options;
bool LockFilePermissions;
bool starting_arg_file;
bool RenderTTNotdef;
gs_file_path_ptr lib_path;
ref stdio[3];
stream *invalid_file_stream;
op_array_table op_array_table_global;
op_array_table op_array_table_local;
int time_slice_ticks;
gs_offset_t uel_position;
dict_stack_t dict_stack;
exec_stack_t exec_stack;
op_stack_t op_stack;
struct i_plugin_holder_s *plugin_list;
};
extern const long rand_state_initial;
* We make st_context_state public because zcontext.c must subclass it.
*/
#define public_st_context_state() \
gs_public_st_complex_only(st_context_state, gs_context_state_t,\
"gs_context_state_t", context_state_clear_marks,\
context_state_enum_ptrs, context_state_reloc_ptrs, 0)
#endif