[WINDOWSCODECS] Fix stack pointer corruption when handling PNGs.
[reactos.git] / dll / win32 / windowscodecs / typeof.h
1 #define typeof(X_) __typeof_ ## X_
2
3 #ifdef _WIN64
4 #define __typeof_intptr long long
5 #define __typeof_longptr long long
6 #else
7 #define __typeof_intptr int
8 #define __typeof_longptr long
9 #endif
10
11 #ifdef __cplusplus
12 #define __typeof_size size_t
13 #define __typeof_wchar wchar_t
14 #else
15 #define __typeof_size __typeof_intptr
16 #define __typeof_wchar unsigned short
17 #endif
18
19 struct jpeg_decompress_struct;
20 struct jpeg_compress_struct;
21 struct png_struct_def;
22 struct png_color_struct;
23 struct png_color_16_struct;
24
25 typedef struct jpeg_error_mgr * (__cdecl typeof(jpeg_std_error))(struct jpeg_error_mgr *);
26 typedef void (__cdecl typeof(jpeg_CreateDecompress))(struct jpeg_decompress_struct *, int, __typeof_size);
27 typedef int (__cdecl typeof(jpeg_read_header))(struct jpeg_decompress_struct *, unsigned char);
28 typedef unsigned char (__cdecl typeof(jpeg_start_decompress))(struct jpeg_decompress_struct *);
29 typedef unsigned int (__cdecl typeof(jpeg_read_scanlines))(struct jpeg_decompress_struct *, unsigned char **, unsigned int);
30 typedef unsigned char (__cdecl typeof(jpeg_finish_decompress))(struct jpeg_decompress_struct *);
31 typedef void (__cdecl typeof(jpeg_destroy_decompress))(struct jpeg_decompress_struct *);
32 typedef unsigned char (__cdecl typeof(jpeg_resync_to_restart))(struct jpeg_decompress_struct *, int);
33 typedef void (__cdecl typeof(jpeg_CreateCompress))(struct jpeg_compress_struct *, int, __typeof_size);
34 typedef void (__cdecl typeof(jpeg_start_compress))(struct jpeg_compress_struct *, unsigned char);
35 typedef void (__cdecl typeof(jpeg_destroy_compress))(struct jpeg_compress_struct *);
36 typedef void (__cdecl typeof(jpeg_finish_compress))(struct jpeg_compress_struct *);
37 typedef void (__cdecl typeof(jpeg_set_defaults))(struct jpeg_compress_struct *);
38 typedef unsigned int (__cdecl typeof(jpeg_write_scanlines))(struct jpeg_compress_struct *, char **, unsigned int);
39
40 typedef void (*png_error_ptr_1)(struct png_struct_def *, const char *);
41 typedef void (*png_rw_ptr_1)(struct png_struct_def *, unsigned char *, unsigned int);
42 typedef void (*png_flush_ptr_1)(struct png_struct_def *);
43 typedef struct png_info_def* (__cdecl typeof(png_create_info_struct))(struct png_struct_def *);
44 typedef struct png_struct_def * (__cdecl typeof(png_create_read_struct))(const char *, void *, png_error_ptr_1, png_error_ptr_1);
45 typedef struct png_struct_def *(__cdecl typeof(png_create_write_struct))(const char *, void *, png_error_ptr_1, png_error_ptr_1);
46 typedef void (__cdecl typeof(png_destroy_info_struct))(struct png_struct_def *, struct png_info_def **);
47 typedef void (__cdecl typeof(png_destroy_read_struct))(struct png_struct_def **, struct png_info_def **, struct png_info_def **);
48 typedef void (__cdecl typeof(png_destroy_write_struct))(struct png_struct_def **, struct png_info_def **);
49 typedef void (__cdecl typeof(png_error))(struct png_struct_def *, const char *);
50 typedef unsigned char (__cdecl typeof(png_get_bit_depth))(const struct png_struct_def *, const struct png_info_def *);
51 typedef unsigned char (__cdecl typeof(png_get_color_type))(const struct png_struct_def *, const struct png_info_def *);
52 typedef void *(__cdecl typeof(png_get_error_ptr))(const struct png_struct_def *);
53 typedef unsigned int (__cdecl typeof(png_get_image_height))(const struct png_struct_def *, const struct png_info_def *);
54 typedef unsigned int (__cdecl typeof(png_get_image_width))(const struct png_struct_def *, const struct png_info_def *);
55 typedef void *(__cdecl typeof(png_get_io_ptr))(struct png_struct_def *);
56 typedef unsigned int (__cdecl typeof(png_get_pHYs))(const struct png_struct_def *, const struct png_info_def *, unsigned int *, unsigned int *, int *);
57 typedef unsigned int (__cdecl typeof(png_get_PLTE))(const struct png_struct_def *, const struct png_info_def *, struct png_color_struct **, int *);
58 typedef unsigned int (__cdecl typeof(png_get_tRNS))(const struct png_struct_def *, struct png_info_def *, unsigned char **, int *, struct png_color_16_struct **);
59 typedef void (__cdecl typeof(png_set_bgr))(struct png_struct_def *);
60 typedef void (__cdecl typeof(png_set_error_fn))(struct png_struct_def *, void *, png_error_ptr_1, png_error_ptr_1);
61 typedef void (__cdecl typeof(png_set_expand_gray_1_2_4_to_8))(struct png_struct_def *);
62 typedef void (__cdecl typeof(png_set_filler))(struct png_struct_def *, unsigned int, int);
63 typedef int (__cdecl typeof(png_set_interlace_handling))(struct png_struct_def *);
64 typedef void (__cdecl typeof(png_set_gray_to_rgb))(struct png_struct_def *);
65 typedef void (__cdecl typeof(png_set_IHDR))(struct png_struct_def *, struct png_info_def *, unsigned int, unsigned int, int, int, int, int, int);
66 typedef void (__cdecl typeof(png_set_pHYs))(struct png_struct_def *, struct png_info_def *, unsigned int, unsigned int, int);
67 typedef void (__cdecl typeof(png_set_read_fn))(struct png_struct_def *, void *, png_rw_ptr_1);
68 typedef void (__cdecl typeof(png_set_strip_16))(struct png_struct_def *);
69 typedef void (__cdecl typeof(png_set_tRNS_to_alpha))(struct png_struct_def *);
70 typedef void (__cdecl typeof(png_set_write_fn))(struct png_struct_def *, void *, png_rw_ptr_1, png_flush_ptr_1);
71 typedef void (__cdecl typeof(png_read_end))(struct png_struct_def *, struct png_info_def *);
72 typedef void (__cdecl typeof(png_read_image))(struct png_struct_def *, unsigned char **);
73 typedef void (__cdecl typeof(png_read_info))(struct png_struct_def *, struct png_info_def *);
74 typedef void (__cdecl typeof(png_write_end))(struct png_struct_def *, struct png_info_def *);
75 typedef void (__cdecl typeof(png_write_info))(struct png_struct_def *, struct png_info_def *);
76 typedef void (__cdecl typeof(png_write_rows))(struct png_struct_def *, unsigned char **row, unsigned int);
77 typedef unsigned int (__cdecl typeof(png_get_iCCP))(struct png_struct_def *, struct png_info_def *, char **, int *, char **, unsigned int *);
78 typedef void (__cdecl typeof(png_set_crc_action))(struct png_struct_def *, int, int);
79 typedef void (__cdecl typeof(png_set_PLTE))(struct png_struct_def *, struct png_info_def *, const struct png_color_struct *, int);
80 typedef void (__cdecl typeof(png_set_tRNS))(struct png_struct_def *, struct png_info_def *, const unsigned char *, int, const struct png_color_16_struct *);
81 typedef void (__cdecl typeof(png_set_filter))(struct png_struct_def *, int, int);
82 typedef void *thandle_t_1;
83 typedef int (*TIFFReadWriteProc_1)(thandle_t_1, void *, __typeof_intptr);
84 typedef unsigned int (*TIFFSeekProc_1)(void *, unsigned int, int);
85 typedef int (*TIFFCloseProc_1)(thandle_t_1);
86 typedef unsigned int (*TIFFSizeProc_1)(thandle_t_1);
87 typedef int (*TIFFMapFileProc_1)(thandle_t_1, void **, unsigned int *);
88 typedef void (*TIFFUnmapFileProc_1)(thandle_t_1, void *, unsigned int);
89 typedef struct tiff *(__cdecl typeof(TIFFClientOpen))(const char *, const char *, thandle_t_1, TIFFReadWriteProc_1, TIFFReadWriteProc_1, TIFFSeekProc_1, TIFFCloseProc_1, TIFFSizeProc_1, TIFFMapFileProc_1, TIFFUnmapFileProc_1);
90 typedef void (__cdecl typeof(TIFFClose))(struct tiff *);
91 typedef unsigned short (__cdecl typeof(TIFFCurrentDirectory))(struct tiff *);
92 typedef int (__cdecl typeof(TIFFGetField))(struct tiff *, unsigned int, ...);
93 typedef int (__cdecl typeof(TIFFReadDirectory))(struct tiff *);
94 typedef int (__cdecl typeof(TIFFReadEncodedStrip))(struct tiff *, unsigned int, void *, int);
95 typedef int (__cdecl typeof(TIFFSetDirectory))(struct tiff *, unsigned short);
96 typedef unsigned int (__cdecl typeof(TIFFCurrentDirOffset))(struct tiff *);
97 typedef int (__cdecl typeof(TIFFIsByteSwapped))(struct tiff *);
98 typedef unsigned short (__cdecl typeof(TIFFNumberOfDirectories))(struct tiff *);
99 typedef long (__cdecl typeof(TIFFReadEncodedTile))(struct tiff *, unsigned long, void *, long);
100 typedef int (__cdecl typeof(TIFFSetField))(struct tiff *, unsigned long, ...);
101 typedef int (__cdecl typeof(TIFFWriteDirectory))(struct tiff *);
102 typedef int (__cdecl typeof(TIFFWriteScanline))(struct tiff *, void *, unsigned long, unsigned short);
103
104 #undef __typeof_intptr
105 #undef __typeof_longptr
106 #undef __typeof_wchar
107 #undef __typeof_size
108
109 /* EOF */
110