diff options
Diffstat (limited to 'gs/src/idparam.h')
-rw-r--r-- | gs/src/idparam.h | 75 |
1 files changed, 75 insertions, 0 deletions
diff --git a/gs/src/idparam.h b/gs/src/idparam.h new file mode 100644 index 000000000..dc9c333ae --- /dev/null +++ b/gs/src/idparam.h @@ -0,0 +1,75 @@ +/* Copyright (C) 1992, 1993, 1994 Aladdin Enterprises. All rights reserved. + + This file is part of Aladdin Ghostscript. + + Aladdin Ghostscript is distributed with NO WARRANTY OF ANY KIND. No author + or distributor accepts any responsibility for the consequences of using it, + or for whether it serves any particular purpose or works at all, unless he + or she says so in writing. Refer to the Aladdin Ghostscript Free Public + License (the "License") for full details. + + Every copy of Aladdin Ghostscript must include a copy of the License, + normally in a plain ASCII text file named PUBLIC. The License grants you + the right to copy, modify and redistribute Aladdin Ghostscript, but only + under certain conditions described in the License. Among other things, the + License requires that the copyright notice and this notice be preserved on + all copies. +*/ + +/* idparam.h */ +/* Interface to idparam.c */ + +#ifndef gs_matrix_DEFINED +# define gs_matrix_DEFINED +typedef struct gs_matrix_s gs_matrix; +#endif + +#ifndef gs_uid_DEFINED +# define gs_uid_DEFINED +typedef struct gs_uid_s gs_uid; +#endif + +/* + * Unless otherwise noted, all the following routines return 0 for + * a valid parameter, 1 for a defaulted parameter, or <0 on error. + * + * Note that all the dictionary parameter routines take a C string, + * not a t_name ref *. Even though this is slower, it means that + * the GC doesn't have to worry about finding statically declared + * name refs, and we have that many fewer static variables. + * + * All these routines allow pdict == NULL, which they treat the same as + * pdict referring to an empty dictionary. Routines with "null" in their + * name return 2 if the parameter is null, without setting *pvalue. + */ +int dict_bool_param(P4(const ref *pdict, const char _ds *kstr, + bool defaultval, bool *pvalue)); +int dict_int_param(P6(const ref *pdict, const char _ds *kstr, + int minval, int maxval, int defaultval, int *pvalue)); +int dict_int_null_param(P6(const ref *pdict, const char _ds *kstr, + int minval, int maxval, int defaultval, + int *pvalue)); +int dict_uint_param(P6(const ref *pdict, const char _ds *kstr, + uint minval, uint maxval, uint defaultval, + uint *pvalue)); +int dict_float_param(P4(const ref *pdict, const char _ds *kstr, + floatp defaultval, float *pvalue)); +int dict_int_array_param(P4(const ref *pdict, const char _ds *kstr, + uint maxlen, int *ivec)); +int dict_float_array_param(P5(const ref *pdict, const char _ds *kstr, + uint maxlen, float *fvec, + const float *defaultvec)); +/* + * For dict_proc_param, + * defaultval = false means substitute t__invalid; + * defaultval = true means substitute an empty procedure. + * In either case, return 1. + */ +int dict_proc_param(P4(const ref *pdict, const char _ds *kstr, ref *pproc, + bool defaultval)); +int dict_matrix_param(P3(const ref *pdict, const char _ds *kstr, + gs_matrix *pmat)); +int dict_uid_param(P4(const ref *pdict, gs_uid *puid, int defaultval, + gs_memory_t *mem)); +/* Check that a UID in a dictionary is equal to an existing, valid UID. */ +bool dict_check_uid_param(P2(const ref *pdict, const gs_uid *puid)); |