1 /*
2  * jpegtclDecls.h --
3  *
4  *	Declarations of functions in the platform independent public JPEGTCL API.
5  *
6  */
7 
8 #ifndef _JPEGTCLDECLS
9 #define _JPEGTCLDECLS
10 
11 /*
12  * WARNING: The contents of this file is automatically generated by the
13  * genStubs.tcl script. Any modifications to the function declarations
14  * below should be made in the jpegtcl.decls script.
15  */
16 
17 #include <tcl.h>
18 
19 #ifdef JPEGTCLAPI
20 #   undef TCL_STORAGE_CLASS
21 #   define TCL_STORAGE_CLASS DLLEXPORT
22 #else
23 #   define JPEGTCLAPI extern
24 #   undef USE_JPEGTCL_STUBS
25 #   define USE_JPEGTCL_STUBS 1
26 #endif
27 
28 EXTERN int Jpegtcl_Init(Tcl_Interp *interp);
29 EXTERN int Jpegtcl_SafeInit(Tcl_Interp *interp);
30 
31 /* undef Tcl macros that conflict with libjpeg stuff (sigh) */
32 #undef EXTERN
33 #include "../compat/libjpeg/jpeglib.h"
34 #include "../compat/libjpeg/jerror.h"
35 
36 /* !BEGIN!: Do not edit below this line. */
37 
38 /*
39  * Exported function declarations:
40  */
41 
42 /* 0 */
43 JPEGTCLAPI struct jpeg_error_mgr * jpeg_std_error(struct jpeg_error_mgr *err);
44 /* 1 */
45 JPEGTCLAPI void		jpeg_CreateCompress(j_compress_ptr cinfo,
46 				int version, size_t structsize);
47 /* 2 */
48 JPEGTCLAPI void		jpeg_CreateDecompress(j_decompress_ptr cinfo,
49 				int version, size_t structsize);
50 /* 3 */
51 JPEGTCLAPI void		jpeg_destroy_compress(j_compress_ptr cinfo);
52 /* 4 */
53 JPEGTCLAPI void		jpeg_destroy_decompress(j_decompress_ptr cinfo);
54 /* 5 */
55 JPEGTCLAPI void		jpeg_stdio_dest(j_compress_ptr cinfo, FILE *outfile);
56 /* 6 */
57 JPEGTCLAPI void		jpeg_stdio_src(j_decompress_ptr cinfo, FILE *infile);
58 /* 7 */
59 JPEGTCLAPI void		jpeg_set_defaults(j_compress_ptr cinfo);
60 /* 8 */
61 JPEGTCLAPI void		jpeg_set_colorspace(j_compress_ptr cinfo,
62 				J_COLOR_SPACE colorspace);
63 /* 9 */
64 JPEGTCLAPI void		jpeg_default_colorspace(j_compress_ptr cinfo);
65 /* 10 */
66 JPEGTCLAPI void		jpeg_set_quality(j_compress_ptr cinfo, int quality,
67 				boolean force_baseline);
68 /* 11 */
69 JPEGTCLAPI void		jpeg_set_linear_quality(j_compress_ptr cinfo,
70 				int scale_factor, boolean force_baseline);
71 /* 12 */
72 JPEGTCLAPI void		jpeg_add_quant_table(j_compress_ptr cinfo,
73 				int which_tbl,
74 				const unsigned int *basic_table,
75 				int scale_factor, boolean force_baseline);
76 /* 13 */
77 JPEGTCLAPI int		jpeg_quality_scaling(int quality);
78 /* 14 */
79 JPEGTCLAPI void		jpeg_simple_progression(j_compress_ptr cinfo);
80 /* 15 */
81 JPEGTCLAPI void		jpeg_suppress_tables(j_compress_ptr cinfo,
82 				boolean suppress);
83 /* 16 */
84 JPEGTCLAPI JQUANT_TBL *	 jpeg_alloc_quant_table(j_common_ptr cinfo);
85 /* 17 */
86 JPEGTCLAPI JHUFF_TBL *	jpeg_alloc_huff_table(j_common_ptr cinfo);
87 /* 18 */
88 JPEGTCLAPI void		jpeg_start_compress(j_compress_ptr cinfo,
89 				boolean write_all_tables);
90 /* 19 */
91 JPEGTCLAPI JDIMENSION	jpeg_write_scanlines(j_compress_ptr cinfo,
92 				JSAMPARRAY scanlines, JDIMENSION num_lines);
93 /* 20 */
94 JPEGTCLAPI void		jpeg_finish_compress(j_compress_ptr cinfo);
95 /* 21 */
96 JPEGTCLAPI JDIMENSION	jpeg_write_raw_data(j_compress_ptr cinfo,
97 				JSAMPIMAGE data, JDIMENSION num_lines);
98 /* 22 */
99 JPEGTCLAPI void		jpeg_write_marker(j_compress_ptr cinfo, int marker,
100 				const JOCTET *dataptr, unsigned int datalen);
101 /* 23 */
102 JPEGTCLAPI void		jpeg_write_m_header(j_compress_ptr cinfo, int marker,
103 				unsigned int datalen);
104 /* 24 */
105 JPEGTCLAPI void		jpeg_write_m_byte(j_compress_ptr cinfo, int val);
106 /* 25 */
107 JPEGTCLAPI void		jpeg_write_tables(j_compress_ptr cinfo);
108 /* 26 */
109 JPEGTCLAPI int		jpeg_read_header(j_decompress_ptr cinfo,
110 				boolean require_image);
111 /* 27 */
112 JPEGTCLAPI boolean	jpeg_start_decompress(j_decompress_ptr cinfo);
113 /* 28 */
114 JPEGTCLAPI JDIMENSION	jpeg_read_scanlines(j_decompress_ptr cinfo,
115 				JSAMPARRAY scanlines, JDIMENSION max_lines);
116 /* 29 */
117 JPEGTCLAPI boolean	jpeg_finish_decompress(j_decompress_ptr cinfo);
118 /* 30 */
119 JPEGTCLAPI JDIMENSION	jpeg_read_raw_data(j_decompress_ptr cinfo,
120 				JSAMPIMAGE data, JDIMENSION max_lines);
121 /* 31 */
122 JPEGTCLAPI boolean	jpeg_has_multiple_scans(j_decompress_ptr cinfo);
123 /* 32 */
124 JPEGTCLAPI boolean	jpeg_start_output(j_decompress_ptr cinfo,
125 				int scan_number);
126 /* 33 */
127 JPEGTCLAPI boolean	jpeg_finish_output(j_decompress_ptr cinfo);
128 /* 34 */
129 JPEGTCLAPI boolean	jpeg_input_complete(j_decompress_ptr cinfo);
130 /* 35 */
131 JPEGTCLAPI void		jpeg_new_colormap(j_decompress_ptr cinfo);
132 /* 36 */
133 JPEGTCLAPI int		jpeg_consume_input(j_decompress_ptr cinfo);
134 /* 37 */
135 JPEGTCLAPI void		jpeg_calc_output_dimensions(j_decompress_ptr cinfo);
136 /* 38 */
137 JPEGTCLAPI void		jpeg_save_markers(j_decompress_ptr cinfo,
138 				int marker_code, unsigned int length_limit);
139 /* 39 */
140 JPEGTCLAPI void		jpeg_set_marker_processor(j_decompress_ptr cinfo,
141 				int marker_code,
142 				jpeg_marker_parser_method routine);
143 /* 40 */
144 JPEGTCLAPI jvirt_barray_ptr * jpeg_read_coefficients(j_decompress_ptr cinfo);
145 /* 41 */
146 JPEGTCLAPI void		jpeg_write_coefficients(j_compress_ptr cinfo,
147 				jvirt_barray_ptr *coef_arrays);
148 /* 42 */
149 JPEGTCLAPI void		jpeg_copy_critical_parameters(
150 				j_decompress_ptr srcinfo,
151 				j_compress_ptr dstinfo);
152 /* 43 */
153 JPEGTCLAPI void		jpeg_abort_compress(j_compress_ptr cinfo);
154 /* 44 */
155 JPEGTCLAPI void		jpeg_abort_decompress(j_decompress_ptr cinfo);
156 /* 45 */
157 JPEGTCLAPI void		jpeg_abort(j_common_ptr cinfo);
158 /* 46 */
159 JPEGTCLAPI void		jpeg_destroy(j_common_ptr cinfo);
160 /* 47 */
161 JPEGTCLAPI boolean	jpeg_resync_to_restart(j_decompress_ptr cinfo,
162 				int desired);
163 
164 typedef struct JpegtclStubs {
165     int magic;
166     const struct JpegtclStubHooks *hooks;
167 
168     struct jpeg_error_mgr * (*jpeg_std_errorPtr) (struct jpeg_error_mgr *err); /* 0 */
169     void (*jpeg_CreateCompressPtr) (j_compress_ptr cinfo, int version, size_t structsize); /* 1 */
170     void (*jpeg_CreateDecompressPtr) (j_decompress_ptr cinfo, int version, size_t structsize); /* 2 */
171     void (*jpeg_destroy_compressPtr) (j_compress_ptr cinfo); /* 3 */
172     void (*jpeg_destroy_decompressPtr) (j_decompress_ptr cinfo); /* 4 */
173     void (*jpeg_stdio_destPtr) (j_compress_ptr cinfo, FILE *outfile); /* 5 */
174     void (*jpeg_stdio_srcPtr) (j_decompress_ptr cinfo, FILE *infile); /* 6 */
175     void (*jpeg_set_defaultsPtr) (j_compress_ptr cinfo); /* 7 */
176     void (*jpeg_set_colorspacePtr) (j_compress_ptr cinfo, J_COLOR_SPACE colorspace); /* 8 */
177     void (*jpeg_default_colorspacePtr) (j_compress_ptr cinfo); /* 9 */
178     void (*jpeg_set_qualityPtr) (j_compress_ptr cinfo, int quality, boolean force_baseline); /* 10 */
179     void (*jpeg_set_linear_qualityPtr) (j_compress_ptr cinfo, int scale_factor, boolean force_baseline); /* 11 */
180     void (*jpeg_add_quant_tablePtr) (j_compress_ptr cinfo, int which_tbl, const unsigned int *basic_table, int scale_factor, boolean force_baseline); /* 12 */
181     int (*jpeg_quality_scalingPtr) (int quality); /* 13 */
182     void (*jpeg_simple_progressionPtr) (j_compress_ptr cinfo); /* 14 */
183     void (*jpeg_suppress_tablesPtr) (j_compress_ptr cinfo, boolean suppress); /* 15 */
184     JQUANT_TBL * (*jpeg_alloc_quant_tablePtr) (j_common_ptr cinfo); /* 16 */
185     JHUFF_TBL * (*jpeg_alloc_huff_tablePtr) (j_common_ptr cinfo); /* 17 */
186     void (*jpeg_start_compressPtr) (j_compress_ptr cinfo, boolean write_all_tables); /* 18 */
187     JDIMENSION (*jpeg_write_scanlinesPtr) (j_compress_ptr cinfo, JSAMPARRAY scanlines, JDIMENSION num_lines); /* 19 */
188     void (*jpeg_finish_compressPtr) (j_compress_ptr cinfo); /* 20 */
189     JDIMENSION (*jpeg_write_raw_dataPtr) (j_compress_ptr cinfo, JSAMPIMAGE data, JDIMENSION num_lines); /* 21 */
190     void (*jpeg_write_markerPtr) (j_compress_ptr cinfo, int marker, const JOCTET *dataptr, unsigned int datalen); /* 22 */
191     void (*jpeg_write_m_headerPtr) (j_compress_ptr cinfo, int marker, unsigned int datalen); /* 23 */
192     void (*jpeg_write_m_bytePtr) (j_compress_ptr cinfo, int val); /* 24 */
193     void (*jpeg_write_tablesPtr) (j_compress_ptr cinfo); /* 25 */
194     int (*jpeg_read_headerPtr) (j_decompress_ptr cinfo, boolean require_image); /* 26 */
195     boolean (*jpeg_start_decompressPtr) (j_decompress_ptr cinfo); /* 27 */
196     JDIMENSION (*jpeg_read_scanlinesPtr) (j_decompress_ptr cinfo, JSAMPARRAY scanlines, JDIMENSION max_lines); /* 28 */
197     boolean (*jpeg_finish_decompressPtr) (j_decompress_ptr cinfo); /* 29 */
198     JDIMENSION (*jpeg_read_raw_dataPtr) (j_decompress_ptr cinfo, JSAMPIMAGE data, JDIMENSION max_lines); /* 30 */
199     boolean (*jpeg_has_multiple_scansPtr) (j_decompress_ptr cinfo); /* 31 */
200     boolean (*jpeg_start_outputPtr) (j_decompress_ptr cinfo, int scan_number); /* 32 */
201     boolean (*jpeg_finish_outputPtr) (j_decompress_ptr cinfo); /* 33 */
202     boolean (*jpeg_input_completePtr) (j_decompress_ptr cinfo); /* 34 */
203     void (*jpeg_new_colormapPtr) (j_decompress_ptr cinfo); /* 35 */
204     int (*jpeg_consume_inputPtr) (j_decompress_ptr cinfo); /* 36 */
205     void (*jpeg_calc_output_dimensionsPtr) (j_decompress_ptr cinfo); /* 37 */
206     void (*jpeg_save_markersPtr) (j_decompress_ptr cinfo, int marker_code, unsigned int length_limit); /* 38 */
207     void (*jpeg_set_marker_processorPtr) (j_decompress_ptr cinfo, int marker_code, jpeg_marker_parser_method routine); /* 39 */
208     jvirt_barray_ptr * (*jpeg_read_coefficientsPtr) (j_decompress_ptr cinfo); /* 40 */
209     void (*jpeg_write_coefficientsPtr) (j_compress_ptr cinfo, jvirt_barray_ptr *coef_arrays); /* 41 */
210     void (*jpeg_copy_critical_parametersPtr) (j_decompress_ptr srcinfo, j_compress_ptr dstinfo); /* 42 */
211     void (*jpeg_abort_compressPtr) (j_compress_ptr cinfo); /* 43 */
212     void (*jpeg_abort_decompressPtr) (j_decompress_ptr cinfo); /* 44 */
213     void (*jpeg_abortPtr) (j_common_ptr cinfo); /* 45 */
214     void (*jpeg_destroyPtr) (j_common_ptr cinfo); /* 46 */
215     boolean (*jpeg_resync_to_restartPtr) (j_decompress_ptr cinfo, int desired); /* 47 */
216 } JpegtclStubs;
217 
218 #ifdef __cplusplus
219 extern "C" {
220 #endif
221 JPEGTCLAPI const JpegtclStubs *jpegtclStubsPtr;
222 #ifdef __cplusplus
223 }
224 #endif
225 
226 #if defined(USE_JPEGTCL_STUBS)
227 
228 /*
229  * Inline function declarations:
230  */
231 
232 #define jpeg_std_error \
233 	(jpegtclStubsPtr->jpeg_std_errorPtr) /* 0 */
234 #define jpeg_CreateCompress \
235 	(jpegtclStubsPtr->jpeg_CreateCompressPtr) /* 1 */
236 #define jpeg_CreateDecompress \
237 	(jpegtclStubsPtr->jpeg_CreateDecompressPtr) /* 2 */
238 #define jpeg_destroy_compress \
239 	(jpegtclStubsPtr->jpeg_destroy_compressPtr) /* 3 */
240 #define jpeg_destroy_decompress \
241 	(jpegtclStubsPtr->jpeg_destroy_decompressPtr) /* 4 */
242 #define jpeg_stdio_dest \
243 	(jpegtclStubsPtr->jpeg_stdio_destPtr) /* 5 */
244 #define jpeg_stdio_src \
245 	(jpegtclStubsPtr->jpeg_stdio_srcPtr) /* 6 */
246 #define jpeg_set_defaults \
247 	(jpegtclStubsPtr->jpeg_set_defaultsPtr) /* 7 */
248 #define jpeg_set_colorspace \
249 	(jpegtclStubsPtr->jpeg_set_colorspacePtr) /* 8 */
250 #define jpeg_default_colorspace \
251 	(jpegtclStubsPtr->jpeg_default_colorspacePtr) /* 9 */
252 #define jpeg_set_quality \
253 	(jpegtclStubsPtr->jpeg_set_qualityPtr) /* 10 */
254 #define jpeg_set_linear_quality \
255 	(jpegtclStubsPtr->jpeg_set_linear_qualityPtr) /* 11 */
256 #define jpeg_add_quant_table \
257 	(jpegtclStubsPtr->jpeg_add_quant_tablePtr) /* 12 */
258 #define jpeg_quality_scaling \
259 	(jpegtclStubsPtr->jpeg_quality_scalingPtr) /* 13 */
260 #define jpeg_simple_progression \
261 	(jpegtclStubsPtr->jpeg_simple_progressionPtr) /* 14 */
262 #define jpeg_suppress_tables \
263 	(jpegtclStubsPtr->jpeg_suppress_tablesPtr) /* 15 */
264 #define jpeg_alloc_quant_table \
265 	(jpegtclStubsPtr->jpeg_alloc_quant_tablePtr) /* 16 */
266 #define jpeg_alloc_huff_table \
267 	(jpegtclStubsPtr->jpeg_alloc_huff_tablePtr) /* 17 */
268 #define jpeg_start_compress \
269 	(jpegtclStubsPtr->jpeg_start_compressPtr) /* 18 */
270 #define jpeg_write_scanlines \
271 	(jpegtclStubsPtr->jpeg_write_scanlinesPtr) /* 19 */
272 #define jpeg_finish_compress \
273 	(jpegtclStubsPtr->jpeg_finish_compressPtr) /* 20 */
274 #define jpeg_write_raw_data \
275 	(jpegtclStubsPtr->jpeg_write_raw_dataPtr) /* 21 */
276 #define jpeg_write_marker \
277 	(jpegtclStubsPtr->jpeg_write_markerPtr) /* 22 */
278 #define jpeg_write_m_header \
279 	(jpegtclStubsPtr->jpeg_write_m_headerPtr) /* 23 */
280 #define jpeg_write_m_byte \
281 	(jpegtclStubsPtr->jpeg_write_m_bytePtr) /* 24 */
282 #define jpeg_write_tables \
283 	(jpegtclStubsPtr->jpeg_write_tablesPtr) /* 25 */
284 #define jpeg_read_header \
285 	(jpegtclStubsPtr->jpeg_read_headerPtr) /* 26 */
286 #define jpeg_start_decompress \
287 	(jpegtclStubsPtr->jpeg_start_decompressPtr) /* 27 */
288 #define jpeg_read_scanlines \
289 	(jpegtclStubsPtr->jpeg_read_scanlinesPtr) /* 28 */
290 #define jpeg_finish_decompress \
291 	(jpegtclStubsPtr->jpeg_finish_decompressPtr) /* 29 */
292 #define jpeg_read_raw_data \
293 	(jpegtclStubsPtr->jpeg_read_raw_dataPtr) /* 30 */
294 #define jpeg_has_multiple_scans \
295 	(jpegtclStubsPtr->jpeg_has_multiple_scansPtr) /* 31 */
296 #define jpeg_start_output \
297 	(jpegtclStubsPtr->jpeg_start_outputPtr) /* 32 */
298 #define jpeg_finish_output \
299 	(jpegtclStubsPtr->jpeg_finish_outputPtr) /* 33 */
300 #define jpeg_input_complete \
301 	(jpegtclStubsPtr->jpeg_input_completePtr) /* 34 */
302 #define jpeg_new_colormap \
303 	(jpegtclStubsPtr->jpeg_new_colormapPtr) /* 35 */
304 #define jpeg_consume_input \
305 	(jpegtclStubsPtr->jpeg_consume_inputPtr) /* 36 */
306 #define jpeg_calc_output_dimensions \
307 	(jpegtclStubsPtr->jpeg_calc_output_dimensionsPtr) /* 37 */
308 #define jpeg_save_markers \
309 	(jpegtclStubsPtr->jpeg_save_markersPtr) /* 38 */
310 #define jpeg_set_marker_processor \
311 	(jpegtclStubsPtr->jpeg_set_marker_processorPtr) /* 39 */
312 #define jpeg_read_coefficients \
313 	(jpegtclStubsPtr->jpeg_read_coefficientsPtr) /* 40 */
314 #define jpeg_write_coefficients \
315 	(jpegtclStubsPtr->jpeg_write_coefficientsPtr) /* 41 */
316 #define jpeg_copy_critical_parameters \
317 	(jpegtclStubsPtr->jpeg_copy_critical_parametersPtr) /* 42 */
318 #define jpeg_abort_compress \
319 	(jpegtclStubsPtr->jpeg_abort_compressPtr) /* 43 */
320 #define jpeg_abort_decompress \
321 	(jpegtclStubsPtr->jpeg_abort_decompressPtr) /* 44 */
322 #define jpeg_abort \
323 	(jpegtclStubsPtr->jpeg_abortPtr) /* 45 */
324 #define jpeg_destroy \
325 	(jpegtclStubsPtr->jpeg_destroyPtr) /* 46 */
326 #define jpeg_resync_to_restart \
327 	(jpegtclStubsPtr->jpeg_resync_to_restartPtr) /* 47 */
328 
329 #endif /* defined(USE_JPEGTCL_STUBS) */
330 
331 /* !END!: Do not edit above this line. */
332 
333 #undef TCL_STORAGE_CLASS
334 #define TCL_STORAGE_CLASS DLLIMPORT
335 
336 #endif /* _JPEGTCLDECLS */
337 
338