1 /* Copyright (C) 2001-2019 Artifex Software, Inc.
2    All Rights Reserved.
3 
4    This software is provided AS-IS with no warranty, either express or
5    implied.
6 
7    This software is distributed under license and may not be copied,
8    modified or distributed except as expressly authorized under the terms
9    of the license contained in the file LICENSE in this distribution.
10 
11    Refer to licensing information at http://www.artifex.com or contact
12    Artifex Software, Inc.,  1305 Grant Avenue - Suite 200, Novato,
13    CA 94945, U.S.A., +1(415)492-9861, for further information.
14 */
15 
16 
17 /* Parameter structure for expandable stacks of refs */
18 
19 #ifndef istkparm_INCLUDED
20 #  define istkparm_INCLUDED
21 
22 #include "stdpre.h"
23 #include "gsstruct.h"
24 #include "iref.h"
25 
26 /*
27  * Define the structure for stack parameters set at initialization.
28  */
29 /*typedef struct ref_stack_params_s ref_stack_params_t;*/ /* in istack.h */
30 struct ref_stack_params_s {
31     uint bot_guard;		/* # of guard elements below bot */
32     uint top_guard;		/* # of guard elements above top */
33     uint block_size;		/* size of each block */
34     uint data_size;		/* # of data slots in each block */
35     ref guard_value;		/* t__invalid or t_operator, */
36                                 /* bottom guard value */
37     int underflow_error;	/* error code for underflow */
38     int overflow_error;		/* error code for overflow */
39     bool allow_expansion;	/* if false, don't expand */
40 };
41 #define private_st_ref_stack_params() /* in istack.c */\
42   gs_private_st_simple(st_ref_stack_params, ref_stack_params_t,\
43     "ref_stack_params_t")
44 
45 #endif /* istkparm_INCLUDED */
46