1 /* Copyright (C) 2001-2006 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, modified 8 or distributed except as expressly authorized under the terms of that 9 license. Refer to licensing information at http://www.artifex.com/ 10 or contact Artifex Software, Inc., 7 Mt. Lassen Drive - Suite A-134, 11 San Rafael, CA 94903, U.S.A., +1(415)492-9861, for further information. 12 */ 13 14 /*$Id: gscdefs.h 8479 2008-01-07 20:58:40Z giles $ */ 15 /* Prototypes for configuration definitions in gconfig.c. */ 16 17 #ifndef gscdefs_INCLUDED 18 # define gscdefs_INCLUDED 19 20 /* 21 * This file may be #included in places that don't even have stdpre.h, 22 * so it mustn't use any Ghostscript definitions in any code that is 23 * actually processed here (as opposed to being part of a macro 24 * definition). 25 */ 26 27 /* Miscellaneous system constants (read-only systemparams). */ 28 29 extern const long gs_buildtime; 30 extern const char *const gs_copyright; 31 extern const char *const gs_product; 32 extern const char *const gs_productfamily; 33 extern const long gs_revision; 34 extern const long gs_revisiondate; 35 extern const long gs_serialnumber; 36 37 /* Installation directories and files */ 38 extern const char *const gs_doc_directory; 39 extern const char *const gs_lib_default_path; 40 extern const char *const gs_init_file; 41 extern const char *const gs_dev_defaults; 42 43 /* Resource tables. In order to avoid importing a large number of types, */ 44 /* we only provide macros for some externs, not the externs themselves. */ 45 46 #define extern_gx_device_halftone_list()\ 47 typedef DEVICE_HALFTONE_RESOURCE_PROC((*gx_dht_proc));\ 48 extern const gx_dht_proc gx_device_halftone_list[] 49 50 #define extern_gx_image_class_table()\ 51 extern const gx_image_class_t gx_image_class_table[] 52 extern const unsigned gx_image_class_table_count; 53 54 #define extern_gx_image_type_table()\ 55 extern const gx_image_type_t * const gx_image_type_table[] 56 extern const unsigned gx_image_type_table_count; 57 58 /* We need the extra typedef so that the const will apply to the table. */ 59 #define extern_gx_init_table()\ 60 typedef init_proc((*gx_init_proc));\ 61 extern const gx_init_proc gx_init_table[] 62 63 #define extern_gx_io_device_table()\ 64 extern const gx_io_device * const gx_io_device_table[] 65 extern const unsigned gx_io_device_table_count; 66 67 /* Return the list of device prototypes, a NULL list of their structure */ 68 /* descriptors (no longer used), and (as the value) the length of the lists. */ 69 #define extern_gs_lib_device_list()\ 70 int gs_lib_device_list(const gx_device * const **plist,\ 71 gs_memory_struct_type_t **pst) 72 73 /* find a compositor by name */ 74 #define extern_gs_find_compositor() \ 75 const gs_composite_type_t * gs_find_compositor(int comp_id) 76 77 #endif /* gscdefs_INCLUDED */ 78