Blob Blame History Raw
diff -up tkimg1.4/libpng/pngtclDecls.h.png16 tkimg1.4/libpng/pngtclDecls.h
--- tkimg1.4/libpng/pngtclDecls.h.png16	2014-06-03 14:30:49.940611215 -0400
+++ tkimg1.4/libpng/pngtclDecls.h	2014-06-03 14:35:20.260778409 -0400
@@ -45,7 +45,7 @@ EXTERN int Pngtcl_SafeInit(Tcl_Interp *i
 /* 1 */
 PNG_IMPEXP png_uint_32	png_access_version_number(void);
 /* 2 */
-PNG_IMPEXP void		png_set_sig_bytes(png_structp png_ptr, int num_bytes);
+PNG_IMPEXP void		png_set_sig_bytes(png_structrp png_ptr, int num_bytes);
 /* 3 */
 PNG_IMPEXP int		png_sig_cmp(png_const_bytep sig, png_size_t start,
 				png_size_t num_to_check);
@@ -59,18 +59,18 @@ PNG_IMPEXP png_structp	png_create_write_
 				png_error_ptr warn_fn);
 /* 6 */
 PNG_IMPEXP png_size_t	png_get_compression_buffer_size(
-				png_const_structp png_ptr);
+				png_const_structrp png_ptr);
 /* 7 */
-PNG_IMPEXP void		png_set_compression_buffer_size(png_structp png_ptr,
+PNG_IMPEXP void		png_set_compression_buffer_size(png_structrp png_ptr,
 				png_size_t size);
 /* 8 */
-PNG_IMPEXP jmp_buf*	png_set_longjmp_fn(png_structp png_ptr,
+PNG_IMPEXP jmp_buf*	png_set_longjmp_fn(png_structrp png_ptr,
 				png_longjmp_ptr longjmp_fn,
 				size_t jmp_buf_size);
 /* 9 */
-PNG_IMPEXP void		png_longjmp(png_structp png_ptr, int val);
+PNG_IMPEXP void		png_longjmp(png_const_structrp png_ptr, int val);
 /* 10 */
-PNG_IMPEXP int		png_reset_zstream(png_structp png_ptr);
+PNG_IMPEXP int		png_reset_zstream(png_structrp png_ptr);
 /* 11 */
 PNG_IMPEXP png_structp	png_create_read_struct_2(
 				png_const_charp user_png_ver,
@@ -86,142 +86,142 @@ PNG_IMPEXP png_structp	png_create_write_
 				png_malloc_ptr malloc_fn,
 				png_free_ptr free_fn);
 /* 13 */
-PNG_IMPEXP void		png_write_sig(png_structp png_ptr);
+PNG_IMPEXP void		png_write_sig(png_structrp png_ptr);
 /* 14 */
-PNG_IMPEXP void		png_write_chunk(png_structp png_ptr,
+PNG_IMPEXP void		png_write_chunk(png_structrp png_ptr,
 				png_const_bytep chunk_name,
 				png_const_bytep data, png_size_t length);
 /* 15 */
-PNG_IMPEXP void		png_write_chunk_start(png_structp png_ptr,
+PNG_IMPEXP void		png_write_chunk_start(png_structrp png_ptr,
 				png_const_bytep chunk_name,
 				png_uint_32 length);
 /* 16 */
-PNG_IMPEXP void		png_write_chunk_data(png_structp png_ptr,
+PNG_IMPEXP void		png_write_chunk_data(png_structrp png_ptr,
 				png_const_bytep data, png_size_t length);
 /* 17 */
-PNG_IMPEXP void		png_write_chunk_end(png_structp png_ptr);
+PNG_IMPEXP void		png_write_chunk_end(png_structrp png_ptr);
 /* 18 */
-PNG_IMPEXP png_infop	png_create_info_struct(png_structp png_ptr);
+PNG_IMPEXP png_infop	png_create_info_struct(png_const_structrp png_ptr);
 /* 19 */
 PNG_IMPEXP void		png_info_init_3(png_infopp info_ptr,
 				png_size_t png_info_struct_size);
 /* 20 */
-PNG_IMPEXP void		png_write_info_before_PLTE(png_structp png_ptr,
-				png_infop info_ptr);
+PNG_IMPEXP void		png_write_info_before_PLTE(png_structrp png_ptr,
+				png_const_inforp info_ptr);
 /* 21 */
-PNG_IMPEXP void		png_write_info(png_structp png_ptr,
-				png_infop info_ptr);
+PNG_IMPEXP void		png_write_info(png_structrp png_ptr,
+				png_const_inforp info_ptr);
 /* 22 */
-PNG_IMPEXP void		png_read_info(png_structp png_ptr,
-				png_infop info_ptr);
+PNG_IMPEXP void		png_read_info(png_structrp png_ptr,
+				png_inforp info_ptr);
 /* 23 */
-PNG_IMPEXP png_const_charp png_convert_to_rfc1123(png_structp png_ptr,
+PNG_IMPEXP png_const_charp png_convert_to_rfc1123(png_structrp png_ptr,
 				png_const_timep ptime);
 /* 24 */
 PNG_IMPEXP void		png_convert_from_struct_tm(png_timep ptime,
-				PNG_CONST struct tm FAR *ttime);
+				PNG_CONST struct tm *ttime);
 /* 25 */
 PNG_IMPEXP void		png_convert_from_time_t(png_timep ptime,
 				time_t ttime);
 /* 26 */
-PNG_IMPEXP void		png_set_expand(png_structp png_ptr);
+PNG_IMPEXP void		png_set_expand(png_structrp png_ptr);
 /* 27 */
-PNG_IMPEXP void		png_set_expand_gray_1_2_4_to_8(png_structp png_ptr);
+PNG_IMPEXP void		png_set_expand_gray_1_2_4_to_8(png_structrp png_ptr);
 /* 28 */
-PNG_IMPEXP void		png_set_palette_to_rgb(png_structp png_ptr);
+PNG_IMPEXP void		png_set_palette_to_rgb(png_structrp png_ptr);
 /* 29 */
-PNG_IMPEXP void		png_set_tRNS_to_alpha(png_structp png_ptr);
+PNG_IMPEXP void		png_set_tRNS_to_alpha(png_structrp png_ptr);
 /* 30 */
-PNG_IMPEXP void		png_set_bgr(png_structp png_ptr);
+PNG_IMPEXP void		png_set_bgr(png_structrp png_ptr);
 /* 31 */
-PNG_IMPEXP void		png_set_gray_to_rgb(png_structp png_ptr);
+PNG_IMPEXP void		png_set_gray_to_rgb(png_structrp png_ptr);
 /* 32 */
-PNG_IMPEXP void		png_set_rgb_to_gray(png_structp png_ptr,
+PNG_IMPEXP void		png_set_rgb_to_gray(png_structrp png_ptr,
 				int error_action, double red, double green);
 /* 33 */
-PNG_IMPEXP void		png_set_rgb_to_gray_fixed(png_structp png_ptr,
+PNG_IMPEXP void		png_set_rgb_to_gray_fixed(png_structrp png_ptr,
 				int error_action, png_fixed_point red,
 				png_fixed_point green);
 /* 34 */
-PNG_IMPEXP png_byte	png_get_rgb_to_gray_status(png_const_structp png_ptr);
+PNG_IMPEXP png_byte	png_get_rgb_to_gray_status(png_const_structrp png_ptr);
 /* 35 */
 PNG_IMPEXP void		png_build_grayscale_palette(int bit_depth,
 				png_colorp palette);
 /* 36 */
-PNG_IMPEXP void		png_set_strip_alpha(png_structp png_ptr);
+PNG_IMPEXP void		png_set_strip_alpha(png_structrp png_ptr);
 /* 37 */
-PNG_IMPEXP void		png_set_swap_alpha(png_structp png_ptr);
+PNG_IMPEXP void		png_set_swap_alpha(png_structrp png_ptr);
 /* 38 */
-PNG_IMPEXP void		png_set_invert_alpha(png_structp png_ptr);
+PNG_IMPEXP void		png_set_invert_alpha(png_structrp png_ptr);
 /* 39 */
-PNG_IMPEXP void		png_set_filler(png_structp png_ptr,
+PNG_IMPEXP void		png_set_filler(png_structrp png_ptr,
 				png_uint_32 filler, int flags);
 /* 40 */
-PNG_IMPEXP void		png_set_add_alpha(png_structp png_ptr,
+PNG_IMPEXP void		png_set_add_alpha(png_structrp png_ptr,
 				png_uint_32 filler, int flags);
 /* 41 */
-PNG_IMPEXP void		png_set_swap(png_structp png_ptr);
+PNG_IMPEXP void		png_set_swap(png_structrp png_ptr);
 /* 42 */
-PNG_IMPEXP void		png_set_packing(png_structp png_ptr);
+PNG_IMPEXP void		png_set_packing(png_structrp png_ptr);
 /* 43 */
-PNG_IMPEXP void		png_set_packswap(png_structp png_ptr);
+PNG_IMPEXP void		png_set_packswap(png_structrp png_ptr);
 /* 44 */
-PNG_IMPEXP void		png_set_shift(png_structp png_ptr,
+PNG_IMPEXP void		png_set_shift(png_structrp png_ptr,
 				png_const_color_8p true_bits);
 /* 45 */
-PNG_IMPEXP int		png_set_interlace_handling(png_structp png_ptr);
+PNG_IMPEXP int		png_set_interlace_handling(png_structrp png_ptr);
 /* 46 */
-PNG_IMPEXP void		png_set_invert_mono(png_structp png_ptr);
+PNG_IMPEXP void		png_set_invert_mono(png_structrp png_ptr);
 /* 47 */
-PNG_IMPEXP void		png_set_background(png_structp png_ptr,
+PNG_IMPEXP void		png_set_background(png_structrp png_ptr,
 				png_const_color_16p background_color,
 				int background_gamma_code, int need_expand,
 				double background_gamma);
 /* 48 */
-PNG_IMPEXP void		png_set_strip_16(png_structp png_ptr);
+PNG_IMPEXP void		png_set_strip_16(png_structrp png_ptr);
 /* 49 */
-PNG_IMPEXP void		png_set_quantize(png_structp png_ptr,
+PNG_IMPEXP void		png_set_quantize(png_structrp png_ptr,
 				png_colorp palette, int num_palette,
 				int maximum_colors,
 				png_const_uint_16p histogram,
 				int full_quantize);
 /* 50 */
-PNG_IMPEXP void		png_set_gamma(png_structp png_ptr,
+PNG_IMPEXP void		png_set_gamma(png_structrp png_ptr,
 				double screen_gamma,
 				double override_file_gamma);
 /* 51 */
-PNG_IMPEXP void		png_set_flush(png_structp png_ptr, int nrows);
+PNG_IMPEXP void		png_set_flush(png_structrp png_ptr, int nrows);
 /* 52 */
-PNG_IMPEXP void		png_write_flush(png_structp png_ptr);
+PNG_IMPEXP void		png_write_flush(png_structrp png_ptr);
 /* 53 */
-PNG_IMPEXP void		png_start_read_image(png_structp png_ptr);
+PNG_IMPEXP void		png_start_read_image(png_structrp png_ptr);
 /* 54 */
-PNG_IMPEXP void		png_read_update_info(png_structp png_ptr,
-				png_infop info_ptr);
+PNG_IMPEXP void		png_read_update_info(png_structrp png_ptr,
+				png_inforp info_ptr);
 /* 55 */
-PNG_IMPEXP void		png_read_rows(png_structp png_ptr, png_bytepp row,
+PNG_IMPEXP void		png_read_rows(png_structrp png_ptr, png_bytepp row,
 				png_bytepp display_row, png_uint_32 num_rows);
 /* 56 */
-PNG_IMPEXP void		png_read_row(png_structp png_ptr, png_bytep row,
+PNG_IMPEXP void		png_read_row(png_structrp png_ptr, png_bytep row,
 				png_bytep display_row);
 /* 57 */
-PNG_IMPEXP void		png_read_image(png_structp png_ptr, png_bytepp image);
+PNG_IMPEXP void		png_read_image(png_structrp png_ptr, png_bytepp image);
 /* 58 */
-PNG_IMPEXP void		png_write_row(png_structp png_ptr,
+PNG_IMPEXP void		png_write_row(png_structrp png_ptr,
 				png_const_bytep row);
 /* 59 */
-PNG_IMPEXP void		png_write_rows(png_structp png_ptr, png_bytepp row,
+PNG_IMPEXP void		png_write_rows(png_structrp png_ptr, png_bytepp row,
 				png_uint_32 num_rows);
 /* 60 */
-PNG_IMPEXP void		png_write_image(png_structp png_ptr,
+PNG_IMPEXP void		png_write_image(png_structrp png_ptr,
 				png_bytepp image);
 /* 61 */
-PNG_IMPEXP void		png_write_end(png_structp png_ptr,
-				png_infop info_ptr);
+PNG_IMPEXP void		png_write_end(png_structrp png_ptr,
+				png_inforp info_ptr);
 /* 62 */
-PNG_IMPEXP void		png_read_end(png_structp png_ptr, png_infop info_ptr);
+PNG_IMPEXP void		png_read_end(png_structrp png_ptr, png_inforp info_ptr);
 /* 63 */
-PNG_IMPEXP void		png_destroy_info_struct(png_structp png_ptr,
+PNG_IMPEXP void		png_destroy_info_struct(png_const_structrp png_ptr,
 				png_infopp info_ptr_ptr);
 /* 64 */
 PNG_IMPEXP void		png_destroy_read_struct(png_structpp png_ptr_ptr,
@@ -231,221 +231,221 @@ PNG_IMPEXP void		png_destroy_read_struct
 PNG_IMPEXP void		png_destroy_write_struct(png_structpp png_ptr_ptr,
 				png_infopp info_ptr_ptr);
 /* 66 */
-PNG_IMPEXP void		png_set_crc_action(png_structp png_ptr,
+PNG_IMPEXP void		png_set_crc_action(png_structrp png_ptr,
 				int crit_action, int ancil_action);
 /* 67 */
-PNG_IMPEXP void		png_set_filter(png_structp png_ptr, int method,
+PNG_IMPEXP void		png_set_filter(png_structrp png_ptr, int method,
 				int filters);
 /* 68 */
-PNG_IMPEXP void		png_set_filter_heuristics(png_structp png_ptr,
+PNG_IMPEXP void		png_set_filter_heuristics(png_structrp png_ptr,
 				int heuristic_method, int num_weights,
 				png_const_doublep filter_weights,
 				png_const_doublep filter_costs);
 /* 69 */
-PNG_IMPEXP void		png_set_compression_level(png_structp png_ptr,
+PNG_IMPEXP void		png_set_compression_level(png_structrp png_ptr,
 				int level);
 /* 70 */
-PNG_IMPEXP void		png_set_compression_mem_level(png_structp png_ptr,
+PNG_IMPEXP void		png_set_compression_mem_level(png_structrp png_ptr,
 				int mem_level);
 /* 71 */
-PNG_IMPEXP void		png_set_compression_strategy(png_structp png_ptr,
+PNG_IMPEXP void		png_set_compression_strategy(png_structrp png_ptr,
 				int strategy);
 /* 72 */
-PNG_IMPEXP void		png_set_compression_window_bits(png_structp png_ptr,
+PNG_IMPEXP void		png_set_compression_window_bits(png_structrp png_ptr,
 				int window_bits);
 /* 73 */
-PNG_IMPEXP void		png_set_compression_method(png_structp png_ptr,
+PNG_IMPEXP void		png_set_compression_method(png_structrp png_ptr,
 				int method);
 /* 74 */
-PNG_IMPEXP void		png_init_io(png_structp png_ptr, png_FILE_p fp);
+PNG_IMPEXP void		png_init_io(png_structrp png_ptr, png_FILE_p fp);
 /* 75 */
-PNG_IMPEXP void		png_set_error_fn(png_structp png_ptr,
+PNG_IMPEXP void		png_set_error_fn(png_structrp png_ptr,
 				png_voidp error_ptr, png_error_ptr error_fn,
 				png_error_ptr warning_fn);
 /* 76 */
-PNG_IMPEXP png_voidp	png_get_error_ptr(png_const_structp png_ptr);
+PNG_IMPEXP png_voidp	png_get_error_ptr(png_const_structrp png_ptr);
 /* 77 */
-PNG_IMPEXP void		png_set_write_fn(png_structp png_ptr,
+PNG_IMPEXP void		png_set_write_fn(png_structrp png_ptr,
 				png_voidp io_ptr, png_rw_ptr write_data_fn,
 				png_flush_ptr output_flush_fn);
 /* 78 */
-PNG_IMPEXP void		png_set_read_fn(png_structp png_ptr,
+PNG_IMPEXP void		png_set_read_fn(png_structrp png_ptr,
 				png_voidp io_ptr, png_rw_ptr read_data_fn);
 /* 79 */
-PNG_IMPEXP png_voidp	png_get_io_ptr(png_structp png_ptr);
+PNG_IMPEXP png_voidp	png_get_io_ptr(png_const_structrp png_ptr);
 /* 80 */
-PNG_IMPEXP void		png_set_read_status_fn(png_structp png_ptr,
+PNG_IMPEXP void		png_set_read_status_fn(png_structrp png_ptr,
 				png_read_status_ptr read_row_fn);
 /* 81 */
-PNG_IMPEXP void		png_set_write_status_fn(png_structp png_ptr,
+PNG_IMPEXP void		png_set_write_status_fn(png_structrp png_ptr,
 				png_write_status_ptr write_row_fn);
 /* 82 */
-PNG_IMPEXP void		png_set_mem_fn(png_structp png_ptr,
+PNG_IMPEXP void		png_set_mem_fn(png_structrp png_ptr,
 				png_voidp mem_ptr, png_malloc_ptr malloc_fn,
 				png_free_ptr free_fn);
 /* 83 */
-PNG_IMPEXP png_voidp	png_get_mem_ptr(png_const_structp png_ptr);
+PNG_IMPEXP png_voidp	png_get_mem_ptr(png_const_structrp png_ptr);
 /* 84 */
-PNG_IMPEXP void		png_set_read_user_transform_fn(png_structp png_ptr,
+PNG_IMPEXP void		png_set_read_user_transform_fn(png_structrp png_ptr,
 				png_user_transform_ptr read_user_transform_fn);
 /* 85 */
-PNG_IMPEXP void		png_set_write_user_transform_fn(png_structp png_ptr,
+PNG_IMPEXP void		png_set_write_user_transform_fn(png_structrp png_ptr,
 				png_user_transform_ptr write_user_transform_fn);
 /* 86 */
-PNG_IMPEXP void		png_set_user_transform_info(png_structp png_ptr,
+PNG_IMPEXP void		png_set_user_transform_info(png_structrp png_ptr,
 				png_voidp user_transform_ptr,
 				int user_transform_depth,
 				int user_transform_channels);
 /* 87 */
-PNG_IMPEXP png_voidp	png_get_user_transform_ptr(png_const_structp png_ptr);
+PNG_IMPEXP png_voidp	png_get_user_transform_ptr(png_const_structrp png_ptr);
 /* 88 */
-PNG_IMPEXP void		png_set_read_user_chunk_fn(png_structp png_ptr,
+PNG_IMPEXP void		png_set_read_user_chunk_fn(png_structrp png_ptr,
 				png_voidp user_chunk_ptr,
 				png_user_chunk_ptr read_user_chunk_fn);
 /* 89 */
-PNG_IMPEXP png_voidp	png_get_user_chunk_ptr(png_const_structp png_ptr);
+PNG_IMPEXP png_voidp	png_get_user_chunk_ptr(png_const_structrp png_ptr);
 /* 90 */
-PNG_IMPEXP void		png_set_progressive_read_fn(png_structp png_ptr,
+PNG_IMPEXP void		png_set_progressive_read_fn(png_structrp png_ptr,
 				png_voidp progressive_ptr,
 				png_progressive_info_ptr info_fn,
 				png_progressive_row_ptr row_fn,
 				png_progressive_end_ptr end_fn);
 /* 91 */
-PNG_IMPEXP png_voidp	png_get_progressive_ptr(png_const_structp png_ptr);
+PNG_IMPEXP png_voidp	png_get_progressive_ptr(png_const_structrp png_ptr);
 /* 92 */
-PNG_IMPEXP void		png_process_data(png_structp png_ptr,
-				png_infop info_ptr, png_bytep buffer,
+PNG_IMPEXP void		png_process_data(png_structrp png_ptr,
+				png_inforp info_ptr, png_bytep buffer,
 				png_size_t buffer_size);
 /* 93 */
-PNG_IMPEXP void		png_progressive_combine_row(png_structp png_ptr,
+PNG_IMPEXP void		png_progressive_combine_row(png_const_structrp png_ptr,
 				png_bytep old_row, png_const_bytep new_row);
 /* 94 */
-PNG_IMPEXP png_voidp	png_malloc(png_structp png_ptr,
+PNG_IMPEXP png_voidp	png_malloc(png_const_structrp png_ptr,
 				png_alloc_size_t size);
 /* 95 */
-PNG_IMPEXP png_voidp	png_calloc(png_structp png_ptr,
+PNG_IMPEXP png_voidp	png_calloc(png_const_structrp png_ptr,
 				png_alloc_size_t size);
 /* 96 */
-PNG_IMPEXP png_voidp	png_malloc_warn(png_structp png_ptr,
+PNG_IMPEXP png_voidp	png_malloc_warn(png_const_structrp png_ptr,
 				png_alloc_size_t size);
 /* 97 */
-PNG_IMPEXP void		png_free(png_structp png_ptr, png_voidp ptr);
+PNG_IMPEXP void		png_free(png_const_structrp png_ptr, png_voidp ptr);
 /* 98 */
-PNG_IMPEXP void		png_free_data(png_structp png_ptr,
-				png_infop info_ptr, png_uint_32 free_me,
+PNG_IMPEXP void		png_free_data(png_const_structrp png_ptr,
+				png_inforp info_ptr, png_uint_32 free_me,
 				int num);
 /* 99 */
-PNG_IMPEXP void		png_data_freer(png_structp png_ptr,
-				png_infop info_ptr, int freer,
+PNG_IMPEXP void		png_data_freer(png_const_structrp png_ptr,
+				png_inforp info_ptr, int freer,
 				png_uint_32 mask);
 /* 100 */
-PNG_IMPEXP png_voidp	png_malloc_default(png_structp png_ptr,
+PNG_IMPEXP png_voidp	png_malloc_default(png_const_structrp png_ptr,
 				png_alloc_size_t size);
 /* 101 */
-PNG_IMPEXP void		png_free_default(png_structp png_ptr, png_voidp ptr);
+PNG_IMPEXP void		png_free_default(png_const_structrp png_ptr, png_voidp ptr);
 /* 102 */
-PNG_IMPEXP void		png_error(png_structp png_ptr,
+PNG_IMPEXP void		png_error(png_const_structrp png_ptr,
 				png_const_charp error_message);
 /* 103 */
-PNG_IMPEXP void		png_chunk_error(png_structp png_ptr,
+PNG_IMPEXP void		png_chunk_error(png_const_structrp png_ptr,
 				png_const_charp error);
 /* 104 */
-PNG_IMPEXP void		png_err(png_structp png_ptr);
+PNG_IMPEXP void		png_err(png_const_structrp png_ptr);
 /* 105 */
-PNG_IMPEXP void		png_warning(png_structp png_ptr,
+PNG_IMPEXP void		png_warning(png_const_structrp png_ptr,
 				png_const_charp warning_message);
 /* 106 */
-PNG_IMPEXP void		png_chunk_warning(png_structp png_ptr,
+PNG_IMPEXP void		png_chunk_warning(png_const_structrp png_ptr,
 				png_const_charp warning_message);
 /* 107 */
-PNG_IMPEXP void		png_benign_error(png_structp png_ptr,
+PNG_IMPEXP void		png_benign_error(png_const_structrp png_ptr,
 				png_const_charp warning_message);
 /* 108 */
-PNG_IMPEXP void		png_chunk_benign_error(png_structp png_ptr,
+PNG_IMPEXP void		png_chunk_benign_error(png_const_structrp png_ptr,
 				png_const_charp warning_message);
 /* 109 */
-PNG_IMPEXP void		png_set_benign_errors(png_structp png_ptr,
+PNG_IMPEXP void		png_set_benign_errors(png_structrp png_ptr,
 				int allowed);
 /* 110 */
-PNG_IMPEXP png_uint_32	png_get_valid(png_const_structp png_ptr,
-				png_const_infop info_ptr, png_uint_32 flag);
+PNG_IMPEXP png_uint_32	png_get_valid(png_const_structrp png_ptr,
+				png_const_inforp info_ptr, png_uint_32 flag);
 /* 111 */
-PNG_IMPEXP png_size_t	png_get_rowbytes(png_const_structp png_ptr,
-				png_const_infop info_ptr);
+PNG_IMPEXP png_size_t	png_get_rowbytes(png_const_structrp png_ptr,
+				png_const_inforp info_ptr);
 /* 112 */
-PNG_IMPEXP png_bytepp	png_get_rows(png_const_structp png_ptr,
-				png_const_infop info_ptr);
+PNG_IMPEXP png_bytepp	png_get_rows(png_const_structrp png_ptr,
+				png_const_inforp info_ptr);
 /* 113 */
-PNG_IMPEXP void		png_set_rows(png_structp png_ptr, png_infop info_ptr,
+PNG_IMPEXP void		png_set_rows(png_const_structrp png_ptr, png_inforp info_ptr,
 				png_bytepp row_pointers);
 /* 114 */
-PNG_IMPEXP png_byte	png_get_channels(png_const_structp png_ptr,
-				png_const_infop info_ptr);
+PNG_IMPEXP png_byte	png_get_channels(png_const_structrp png_ptr,
+				png_const_inforp info_ptr);
 /* 115 */
-PNG_IMPEXP png_uint_32	png_get_image_width(png_const_structp png_ptr,
-				png_const_infop info_ptr);
+PNG_IMPEXP png_uint_32	png_get_image_width(png_const_structrp png_ptr,
+				png_const_inforp info_ptr);
 /* 116 */
-PNG_IMPEXP png_uint_32	png_get_image_height(png_const_structp png_ptr,
-				png_const_infop info_ptr);
+PNG_IMPEXP png_uint_32	png_get_image_height(png_const_structrp png_ptr,
+				png_const_inforp info_ptr);
 /* 117 */
-PNG_IMPEXP png_byte	png_get_bit_depth(png_const_structp png_ptr,
-				png_const_infop info_ptr);
+PNG_IMPEXP png_byte	png_get_bit_depth(png_const_structrp png_ptr,
+				png_const_inforp info_ptr);
 /* 118 */
-PNG_IMPEXP png_byte	png_get_color_type(png_const_structp png_ptr,
-				png_const_infop info_ptr);
+PNG_IMPEXP png_byte	png_get_color_type(png_const_structrp png_ptr,
+				png_const_inforp info_ptr);
 /* 119 */
-PNG_IMPEXP png_byte	png_get_filter_type(png_const_structp png_ptr,
-				png_const_infop info_ptr);
+PNG_IMPEXP png_byte	png_get_filter_type(png_const_structrp png_ptr,
+				png_const_inforp info_ptr);
 /* 120 */
-PNG_IMPEXP png_byte	png_get_interlace_type(png_const_structp png_ptr,
-				png_const_infop info_ptr);
+PNG_IMPEXP png_byte	png_get_interlace_type(png_const_structrp png_ptr,
+				png_const_inforp info_ptr);
 /* 121 */
-PNG_IMPEXP png_byte	png_get_compression_type(png_const_structp png_ptr,
-				png_const_infop info_ptr);
+PNG_IMPEXP png_byte	png_get_compression_type(png_const_structrp png_ptr,
+				png_const_inforp info_ptr);
 /* 122 */
-PNG_IMPEXP png_uint_32	png_get_pixels_per_meter(png_const_structp png_ptr,
-				png_const_infop info_ptr);
+PNG_IMPEXP png_uint_32	png_get_pixels_per_meter(png_const_structrp png_ptr,
+				png_const_inforp info_ptr);
 /* 123 */
-PNG_IMPEXP png_uint_32	png_get_x_pixels_per_meter(png_const_structp png_ptr,
-				png_const_infop info_ptr);
+PNG_IMPEXP png_uint_32	png_get_x_pixels_per_meter(png_const_structrp png_ptr,
+				png_const_inforp info_ptr);
 /* 124 */
-PNG_IMPEXP png_uint_32	png_get_y_pixels_per_meter(png_const_structp png_ptr,
-				png_const_infop info_ptr);
+PNG_IMPEXP png_uint_32	png_get_y_pixels_per_meter(png_const_structrp png_ptr,
+				png_const_inforp info_ptr);
 /* 125 */
-PNG_IMPEXP float	png_get_pixel_aspect_ratio(png_const_structp png_ptr,
-				png_const_infop info_ptr);
+PNG_IMPEXP float	png_get_pixel_aspect_ratio(png_const_structrp png_ptr,
+				png_const_inforp info_ptr);
 /* 126 */
-PNG_IMPEXP png_int_32	png_get_x_offset_pixels(png_const_structp png_ptr,
-				png_const_infop info_ptr);
+PNG_IMPEXP png_int_32	png_get_x_offset_pixels(png_const_structrp png_ptr,
+				png_const_inforp info_ptr);
 /* 127 */
-PNG_IMPEXP png_int_32	png_get_y_offset_pixels(png_const_structp png_ptr,
-				png_const_infop info_ptr);
+PNG_IMPEXP png_int_32	png_get_y_offset_pixels(png_const_structrp png_ptr,
+				png_const_inforp info_ptr);
 /* 128 */
-PNG_IMPEXP png_int_32	png_get_x_offset_microns(png_const_structp png_ptr,
-				png_const_infop info_ptr);
+PNG_IMPEXP png_int_32	png_get_x_offset_microns(png_const_structrp png_ptr,
+				png_const_inforp info_ptr);
 /* 129 */
-PNG_IMPEXP png_int_32	png_get_y_offset_microns(png_const_structp png_ptr,
-				png_const_infop info_ptr);
+PNG_IMPEXP png_int_32	png_get_y_offset_microns(png_const_structrp png_ptr,
+				png_const_inforp info_ptr);
 /* 130 */
-PNG_IMPEXP png_const_bytep png_get_signature(png_const_structp png_ptr,
-				png_infop info_ptr);
+PNG_IMPEXP png_const_bytep png_get_signature(png_const_structrp png_ptr,
+				png_const_inforp info_ptr);
 /* 131 */
-PNG_IMPEXP png_uint_32	png_get_bKGD(png_const_structp png_ptr,
-				png_infop info_ptr,
+PNG_IMPEXP png_uint_32	png_get_bKGD(png_const_structrp png_ptr,
+				png_inforp info_ptr,
 				png_color_16p *background);
 /* 132 */
-PNG_IMPEXP void		png_set_bKGD(png_structp png_ptr, png_infop info_ptr,
+PNG_IMPEXP void		png_set_bKGD(png_const_structrp png_ptr, png_inforp info_ptr,
 				png_const_color_16p background);
 /* 133 */
-PNG_IMPEXP png_uint_32	png_get_cHRM(png_const_structp png_ptr,
-				png_const_infop info_ptr, double *white_x,
+PNG_IMPEXP png_uint_32	png_get_cHRM(png_const_structrp png_ptr,
+				png_const_inforp info_ptr, double *white_x,
 				double *white_y, double *red_x,
 				double *red_y, double *green_x,
 				double *green_y, double *blue_x,
 				double *blue_y);
 /* 134 */
-PNG_IMPEXP png_uint_32	png_get_cHRM_fixed(png_const_structp png_ptr,
-				png_const_infop info_ptr,
+PNG_IMPEXP png_uint_32	png_get_cHRM_fixed(png_const_structrp png_ptr,
+				png_const_inforp info_ptr,
 				png_fixed_point *int_white_x,
 				png_fixed_point *int_white_y,
 				png_fixed_point *int_red_x,
@@ -455,13 +455,13 @@ PNG_IMPEXP png_uint_32	png_get_cHRM_fixe
 				png_fixed_point *int_blue_x,
 				png_fixed_point *int_blue_y);
 /* 135 */
-PNG_IMPEXP void		png_set_cHRM(png_structp png_ptr, png_infop info_ptr,
+PNG_IMPEXP void		png_set_cHRM(png_const_structrp png_ptr, png_inforp info_ptr,
 				double white_x, double white_y, double red_x,
 				double red_y, double green_x, double green_y,
 				double blue_x, double blue_y);
 /* 136 */
-PNG_IMPEXP void		png_set_cHRM_fixed(png_structp png_ptr,
-				png_infop info_ptr,
+PNG_IMPEXP void		png_set_cHRM_fixed(png_const_structrp png_ptr,
+				png_inforp info_ptr,
 				png_fixed_point int_white_x,
 				png_fixed_point int_white_y,
 				png_fixed_point int_red_x,
@@ -471,226 +471,226 @@ PNG_IMPEXP void		png_set_cHRM_fixed(png_
 				png_fixed_point int_blue_x,
 				png_fixed_point int_blue_y);
 /* 137 */
-PNG_IMPEXP png_uint_32	png_get_gAMA(png_const_structp png_ptr,
-				png_const_infop info_ptr, double *file_gamma);
+PNG_IMPEXP png_uint_32	png_get_gAMA(png_const_structrp png_ptr,
+				png_const_inforp info_ptr, double *file_gamma);
 /* 138 */
-PNG_IMPEXP png_uint_32	png_get_gAMA_fixed(png_const_structp png_ptr,
-				png_const_infop info_ptr,
+PNG_IMPEXP png_uint_32	png_get_gAMA_fixed(png_const_structrp png_ptr,
+				png_const_inforp info_ptr,
 				png_fixed_point *int_file_gamma);
 /* 139 */
-PNG_IMPEXP void		png_set_gAMA(png_structp png_ptr, png_infop info_ptr,
+PNG_IMPEXP void		png_set_gAMA(png_const_structrp png_ptr, png_inforp info_ptr,
 				double file_gamma);
 /* 140 */
-PNG_IMPEXP void		png_set_gAMA_fixed(png_structp png_ptr,
-				png_infop info_ptr,
+PNG_IMPEXP void		png_set_gAMA_fixed(png_const_structrp png_ptr,
+				png_inforp info_ptr,
 				png_fixed_point int_file_gamma);
 /* 141 */
-PNG_IMPEXP png_uint_32	png_get_hIST(png_const_structp png_ptr,
-				png_const_infop info_ptr, png_uint_16p *hist);
+PNG_IMPEXP png_uint_32	png_get_hIST(png_const_structrp png_ptr,
+				png_inforp info_ptr, png_uint_16p *hist);
 /* 142 */
-PNG_IMPEXP void		png_set_hIST(png_structp png_ptr, png_infop info_ptr,
+PNG_IMPEXP void		png_set_hIST(png_const_structrp png_ptr, png_inforp info_ptr,
 				png_const_uint_16p hist);
 /* 143 */
-PNG_IMPEXP png_uint_32	png_get_IHDR(png_structp png_ptr, png_infop info_ptr,
+PNG_IMPEXP png_uint_32	png_get_IHDR(png_const_structrp png_ptr, png_const_inforp info_ptr,
 				png_uint_32 *width, png_uint_32 *height,
 				int *bit_depth, int *color_type,
 				int *interlace_method,
 				int *compression_method, int *filter_method);
 /* 144 */
-PNG_IMPEXP void		png_set_IHDR(png_structp png_ptr, png_infop info_ptr,
+PNG_IMPEXP void		png_set_IHDR(png_const_structrp png_ptr, png_inforp info_ptr,
 				png_uint_32 width, png_uint_32 height,
 				int bit_depth, int color_type,
 				int interlace_method, int compression_method,
 				int filter_method);
 /* 145 */
-PNG_IMPEXP png_uint_32	png_get_oFFs(png_const_structp png_ptr,
-				png_const_infop info_ptr,
+PNG_IMPEXP png_uint_32	png_get_oFFs(png_const_structrp png_ptr,
+				png_const_inforp info_ptr,
 				png_int_32 *offset_x, png_int_32 *offset_y,
 				int *unit_type);
 /* 146 */
-PNG_IMPEXP void		png_set_oFFs(png_structp png_ptr, png_infop info_ptr,
+PNG_IMPEXP void		png_set_oFFs(png_const_structrp png_ptr, png_inforp info_ptr,
 				png_int_32 offset_x, png_int_32 offset_y,
 				int unit_type);
 /* 147 */
-PNG_IMPEXP png_uint_32	png_get_pCAL(png_const_structp png_ptr,
-				png_const_infop info_ptr, png_charp *purpose,
+PNG_IMPEXP png_uint_32	png_get_pCAL(png_const_structrp png_ptr,
+				png_inforp info_ptr, png_charp *purpose,
 				png_int_32 *X0, png_int_32 *X1, int *type,
 				int *nparams, png_charp *units,
 				png_charpp *params);
 /* 148 */
-PNG_IMPEXP void		png_set_pCAL(png_structp png_ptr, png_infop info_ptr,
+PNG_IMPEXP void		png_set_pCAL(png_const_structrp png_ptr, png_inforp info_ptr,
 				png_const_charp purpose, png_int_32 X0,
 				png_int_32 X1, int type, int nparams,
 				png_const_charp units, png_charpp params);
 /* 149 */
-PNG_IMPEXP png_uint_32	png_get_pHYs(png_const_structp png_ptr,
-				png_const_infop info_ptr, png_uint_32 *res_x,
+PNG_IMPEXP png_uint_32	png_get_pHYs(png_const_structrp png_ptr,
+				png_const_inforp info_ptr, png_uint_32 *res_x,
 				png_uint_32 *res_y, int *unit_type);
 /* 150 */
-PNG_IMPEXP void		png_set_pHYs(png_structp png_ptr, png_infop info_ptr,
+PNG_IMPEXP void		png_set_pHYs(png_const_structrp png_ptr, png_inforp info_ptr,
 				png_uint_32 res_x, png_uint_32 res_y,
 				int unit_type);
 /* 151 */
-PNG_IMPEXP png_uint_32	png_get_PLTE(png_const_structp png_ptr,
-				png_const_infop info_ptr,
+PNG_IMPEXP png_uint_32	png_get_PLTE(png_const_structrp png_ptr,
+				png_inforp info_ptr,
 				png_colorp *palette, int *num_palette);
 /* 152 */
-PNG_IMPEXP void		png_set_PLTE(png_structp png_ptr, png_infop info_ptr,
+PNG_IMPEXP void		png_set_PLTE(png_structrp png_ptr, png_inforp info_ptr,
 				png_const_colorp palette, int num_palette);
 /* 153 */
-PNG_IMPEXP png_uint_32	png_get_sBIT(png_const_structp png_ptr,
-				png_infop info_ptr, png_color_8p *sig_bit);
+PNG_IMPEXP png_uint_32	png_get_sBIT(png_const_structrp png_ptr,
+				png_inforp info_ptr, png_color_8p *sig_bit);
 /* 154 */
-PNG_IMPEXP void		png_set_sBIT(png_structp png_ptr, png_infop info_ptr,
+PNG_IMPEXP void		png_set_sBIT(png_const_structrp png_ptr, png_inforp info_ptr,
 				png_const_color_8p sig_bit);
 /* 155 */
-PNG_IMPEXP png_uint_32	png_get_sRGB(png_const_structp png_ptr,
-				png_const_infop info_ptr,
+PNG_IMPEXP png_uint_32	png_get_sRGB(png_const_structrp png_ptr,
+				png_const_inforp info_ptr,
 				int *file_srgb_intent);
 /* 156 */
-PNG_IMPEXP void		png_set_sRGB(png_structp png_ptr, png_infop info_ptr,
+PNG_IMPEXP void		png_set_sRGB(png_const_structrp png_ptr, png_inforp info_ptr,
 				int srgb_intent);
 /* 157 */
-PNG_IMPEXP void		png_set_sRGB_gAMA_and_cHRM(png_structp png_ptr,
-				png_infop info_ptr, int srgb_intent);
+PNG_IMPEXP void		png_set_sRGB_gAMA_and_cHRM(png_const_structrp png_ptr,
+				png_inforp info_ptr, int srgb_intent);
 /* 158 */
-PNG_IMPEXP png_uint_32	png_get_iCCP(png_const_structp png_ptr,
-				png_const_infop info_ptr, png_charpp name,
+PNG_IMPEXP png_uint_32	png_get_iCCP(png_const_structrp png_ptr,
+				png_inforp info_ptr, png_charpp name,
 				int *compression_type, png_bytepp profile,
 				png_uint_32 *proflen);
 /* 159 */
-PNG_IMPEXP void		png_set_iCCP(png_structp png_ptr, png_infop info_ptr,
+PNG_IMPEXP void		png_set_iCCP(png_const_structrp png_ptr, png_inforp info_ptr,
 				png_const_charp name, int compression_type,
 				png_const_bytep profile, png_uint_32 proflen);
 /* 160 */
-PNG_IMPEXP png_uint_32	png_get_sPLT(png_const_structp png_ptr,
-				png_const_infop info_ptr,
+PNG_IMPEXP int		png_get_sPLT(png_const_structrp png_ptr,
+				png_inforp info_ptr,
 				png_sPLT_tpp entries);
 /* 161 */
-PNG_IMPEXP void		png_set_sPLT(png_structp png_ptr, png_infop info_ptr,
+PNG_IMPEXP void		png_set_sPLT(png_const_structrp png_ptr, png_inforp info_ptr,
 				png_const_sPLT_tp entries, int nentries);
 /* 162 */
-PNG_IMPEXP png_uint_32	png_get_text(png_const_structp png_ptr,
-				png_const_infop info_ptr,
+PNG_IMPEXP int		png_get_text(png_const_structrp png_ptr,
+				png_inforp info_ptr,
 				png_textp *text_ptr, int *num_text);
 /* 163 */
-PNG_IMPEXP void		png_set_text(png_structp png_ptr, png_infop info_ptr,
+PNG_IMPEXP void		png_set_text(png_const_structrp png_ptr, png_inforp info_ptr,
 				png_const_textp text_ptr, int num_text);
 /* 164 */
-PNG_IMPEXP png_uint_32	png_get_tIME(png_const_structp png_ptr,
-				png_infop info_ptr, png_timep *mod_time);
+PNG_IMPEXP png_uint_32	png_get_tIME(png_const_structrp png_ptr,
+				png_inforp info_ptr, png_timep *mod_time);
 /* 165 */
-PNG_IMPEXP void		png_set_tIME(png_structp png_ptr, png_infop info_ptr,
+PNG_IMPEXP void		png_set_tIME(png_const_structrp png_ptr, png_inforp info_ptr,
 				png_const_timep mod_time);
 /* 166 */
-PNG_IMPEXP png_uint_32	png_get_tRNS(png_const_structp png_ptr,
-				png_infop info_ptr, png_bytep *trans,
+PNG_IMPEXP png_uint_32	png_get_tRNS(png_const_structrp png_ptr,
+				png_inforp info_ptr, png_bytep *trans,
 				int *num_trans, png_color_16p *trans_color);
 /* 167 */
-PNG_IMPEXP void		png_set_tRNS(png_structp png_ptr, png_infop info_ptr,
+PNG_IMPEXP void		png_set_tRNS(png_structrp png_ptr, png_inforp info_ptr,
 				png_const_bytep trans, int num_trans,
 				png_const_color_16p trans_color);
 /* 168 */
-PNG_IMPEXP png_uint_32	png_get_sCAL(png_const_structp png_ptr,
-				png_const_infop info_ptr, int *unit,
+PNG_IMPEXP png_uint_32	png_get_sCAL(png_const_structrp png_ptr,
+				png_const_inforp info_ptr, int *unit,
 				double *width, double *height);
 /* 169 */
-PNG_IMPEXP png_uint_32	png_get_sCAL_s(png_const_structp png_ptr,
-				png_const_infop info_ptr, int *unit,
+PNG_IMPEXP png_uint_32	png_get_sCAL_s(png_const_structrp png_ptr,
+				png_const_inforp info_ptr, int *unit,
 				png_charpp swidth, png_charpp sheight);
 /* 170 */
-PNG_IMPEXP void		png_set_sCAL(png_structp png_ptr, png_infop info_ptr,
+PNG_IMPEXP void		png_set_sCAL(png_const_structrp png_ptr, png_inforp info_ptr,
 				int unit, double width, double height);
 /* 171 */
-PNG_IMPEXP void		png_set_sCAL_s(png_structp png_ptr,
-				png_infop info_ptr, int unit,
+PNG_IMPEXP void		png_set_sCAL_s(png_const_structrp png_ptr,
+				png_inforp info_ptr, int unit,
 				png_const_charp swidth,
 				png_const_charp sheight);
 /* 172 */
-PNG_IMPEXP void		png_set_keep_unknown_chunks(png_structp png_ptr,
+PNG_IMPEXP void		png_set_keep_unknown_chunks(png_structrp png_ptr,
 				int keep, png_const_bytep chunk_list,
 				int num_chunks);
 /* 173 */
-PNG_IMPEXP int		png_handle_as_unknown(png_structp png_ptr,
+PNG_IMPEXP int		png_handle_as_unknown(png_const_structrp png_ptr,
 				png_const_bytep chunk_name);
 /* 174 */
-PNG_IMPEXP void		png_set_unknown_chunks(png_structp png_ptr,
-				png_infop info_ptr,
+PNG_IMPEXP void		png_set_unknown_chunks(png_const_structrp png_ptr,
+				png_inforp info_ptr,
 				png_const_unknown_chunkp unknowns,
 				int num_unknowns);
 /* 175 */
-PNG_IMPEXP void		png_set_unknown_chunk_location(png_structp png_ptr,
-				png_infop info_ptr, int chunk, int location);
+PNG_IMPEXP void		png_set_unknown_chunk_location(png_const_structrp png_ptr,
+				png_inforp info_ptr, int chunk, int location);
 /* 176 */
-PNG_IMPEXP int		png_get_unknown_chunks(png_const_structp png_ptr,
-				png_const_infop info_ptr,
+PNG_IMPEXP int		png_get_unknown_chunks(png_const_structrp png_ptr,
+				png_inforp info_ptr,
 				png_unknown_chunkpp entries);
 /* 177 */
-PNG_IMPEXP void		png_set_invalid(png_structp png_ptr,
-				png_infop info_ptr, int mask);
+PNG_IMPEXP void		png_set_invalid(png_const_structrp png_ptr,
+				png_inforp info_ptr, int mask);
 /* 178 */
-PNG_IMPEXP void		png_read_png(png_structp png_ptr, png_infop info_ptr,
+PNG_IMPEXP void		png_read_png(png_structrp png_ptr, png_inforp info_ptr,
 				int transforms, png_voidp params);
 /* 179 */
-PNG_IMPEXP void		png_write_png(png_structp png_ptr,
-				png_infop info_ptr, int transforms,
+PNG_IMPEXP void		png_write_png(png_structrp png_ptr,
+				png_inforp info_ptr, int transforms,
 				png_voidp params);
 /* 180 */
-PNG_IMPEXP png_const_charp png_get_copyright(png_const_structp png_ptr);
+PNG_IMPEXP png_const_charp png_get_copyright(png_const_structrp png_ptr);
 /* 181 */
-PNG_IMPEXP png_const_charp png_get_header_ver(png_const_structp png_ptr);
+PNG_IMPEXP png_const_charp png_get_header_ver(png_const_structrp png_ptr);
 /* 182 */
-PNG_IMPEXP png_const_charp png_get_header_version(png_const_structp png_ptr);
+PNG_IMPEXP png_const_charp png_get_header_version(png_const_structrp png_ptr);
 /* 183 */
-PNG_IMPEXP png_const_charp png_get_libpng_ver(png_const_structp png_ptr);
+PNG_IMPEXP png_const_charp png_get_libpng_ver(png_const_structrp png_ptr);
 /* 184 */
-PNG_IMPEXP png_uint_32	png_permit_mng_features(png_structp png_ptr,
+PNG_IMPEXP png_uint_32	png_permit_mng_features(png_structrp png_ptr,
 				png_uint_32 mng_features_permitted);
 /* 185 */
-PNG_IMPEXP void		png_set_strip_error_numbers(png_structp png_ptr,
+PNG_IMPEXP void		png_set_strip_error_numbers(png_structrp png_ptr,
 				png_uint_32 strip_mode);
 /* 186 */
-PNG_IMPEXP void		png_set_user_limits(png_structp png_ptr,
+PNG_IMPEXP void		png_set_user_limits(png_structrp png_ptr,
 				png_uint_32 user_width_max,
 				png_uint_32 user_height_max);
 /* 187 */
-PNG_IMPEXP png_uint_32	png_get_user_width_max(png_const_structp png_ptr);
+PNG_IMPEXP png_uint_32	png_get_user_width_max(png_const_structrp png_ptr);
 /* 188 */
-PNG_IMPEXP png_uint_32	png_get_user_height_max(png_const_structp png_ptr);
+PNG_IMPEXP png_uint_32	png_get_user_height_max(png_const_structrp png_ptr);
 /* 189 */
-PNG_IMPEXP void		png_set_chunk_cache_max(png_structp png_ptr,
+PNG_IMPEXP void		png_set_chunk_cache_max(png_structrp png_ptr,
 				png_uint_32 user_chunk_cache_max);
 /* 190 */
-PNG_IMPEXP png_uint_32	png_get_chunk_cache_max(png_const_structp png_ptr);
+PNG_IMPEXP png_uint_32	png_get_chunk_cache_max(png_const_structrp png_ptr);
 /* 191 */
-PNG_IMPEXP void		png_set_chunk_malloc_max(png_structp png_ptr,
+PNG_IMPEXP void		png_set_chunk_malloc_max(png_structrp png_ptr,
 				png_alloc_size_t user_chunk_cache_max);
 /* 192 */
 PNG_IMPEXP png_alloc_size_t png_get_chunk_malloc_max(
-				png_const_structp png_ptr);
+				png_const_structrp png_ptr);
 /* 193 */
-PNG_IMPEXP png_uint_32	png_get_pixels_per_inch(png_const_structp png_ptr,
-				png_const_infop info_ptr);
+PNG_IMPEXP png_uint_32	png_get_pixels_per_inch(png_const_structrp png_ptr,
+				png_const_inforp info_ptr);
 /* 194 */
-PNG_IMPEXP png_uint_32	png_get_x_pixels_per_inch(png_const_structp png_ptr,
-				png_const_infop info_ptr);
+PNG_IMPEXP png_uint_32	png_get_x_pixels_per_inch(png_const_structrp png_ptr,
+				png_const_inforp info_ptr);
 /* 195 */
-PNG_IMPEXP png_uint_32	png_get_y_pixels_per_inch(png_const_structp png_ptr,
-				png_const_infop info_ptr);
+PNG_IMPEXP png_uint_32	png_get_y_pixels_per_inch(png_const_structrp png_ptr,
+				png_const_inforp info_ptr);
 /* 196 */
-PNG_IMPEXP float	png_get_x_offset_inches(png_const_structp png_ptr,
-				png_const_infop info_ptr);
+PNG_IMPEXP float	png_get_x_offset_inches(png_const_structrp png_ptr,
+				png_const_inforp info_ptr);
 /* 197 */
-PNG_IMPEXP float	png_get_y_offset_inches(png_const_structp png_ptr,
-				png_const_infop info_ptr);
+PNG_IMPEXP float	png_get_y_offset_inches(png_const_structrp png_ptr,
+				png_const_inforp info_ptr);
 /* 198 */
-PNG_IMPEXP png_uint_32	png_get_pHYs_dpi(png_const_structp png_ptr,
-				png_const_infop info_ptr, png_uint_32 *res_x,
+PNG_IMPEXP png_uint_32	png_get_pHYs_dpi(png_const_structrp png_ptr,
+				png_const_inforp info_ptr, png_uint_32 *res_x,
 				png_uint_32 *res_y, int *unit_type);
 /* 199 */
-PNG_IMPEXP png_uint_32	png_get_io_state(png_structp png_ptr);
+PNG_IMPEXP png_uint_32	png_get_io_state(png_const_structrp png_ptr);
 /* 200 */
-PNG_IMPEXP png_const_bytep png_get_io_chunk_name(png_structp png_ptr);
+PNG_IMPEXP png_const_bytep png_get_io_chunk_name(png_structrp png_ptr);
 /* 201 */
 PNG_IMPEXP png_uint_32	png_get_uint_32(png_const_bytep buf);
 /* 202 */
@@ -698,7 +698,7 @@ PNG_IMPEXP png_uint_16	png_get_uint_16(p
 /* 203 */
 PNG_IMPEXP png_int_32	png_get_int_32(png_const_bytep buf);
 /* 204 */
-PNG_IMPEXP png_uint_32	png_get_uint_31(png_structp png_ptr,
+PNG_IMPEXP png_uint_32	png_get_uint_31(png_const_structrp png_ptr,
 				png_const_bytep buf);
 /* 205 */
 PNG_IMPEXP void		png_save_uint_32(png_bytep buf, png_uint_32 i);
@@ -707,85 +707,85 @@ PNG_IMPEXP void		png_save_int_32(png_byt
 /* 207 */
 PNG_IMPEXP void		png_save_uint_16(png_bytep buf, unsigned int i);
 /* 208 */
-PNG_IMPEXP void		png_set_gamma_fixed(png_structp png_ptr,
+PNG_IMPEXP void		png_set_gamma_fixed(png_structrp png_ptr,
 				png_fixed_point screen_gamma,
 				png_fixed_point override_file_gamma);
 /* 209 */
-PNG_IMPEXP void		png_set_filter_heuristics_fixed(png_structp png_ptr,
+PNG_IMPEXP void		png_set_filter_heuristics_fixed(png_structrp png_ptr,
 				int heuristic_method, int num_weights,
 				png_const_fixed_point_p filter_weights,
 				png_const_fixed_point_p filter_costs);
 /* 210 */
 PNG_IMPEXP png_fixed_point png_get_pixel_aspect_ratio_fixed(
-				png_const_structp png_ptr,
-				png_const_infop info_ptr);
+				png_const_structrp png_ptr,
+				png_const_inforp info_ptr);
 /* 211 */
-PNG_IMPEXP png_fixed_point png_get_x_offset_inches_fixed(png_structp png_ptr,
-				png_const_infop info_ptr);
+PNG_IMPEXP png_fixed_point png_get_x_offset_inches_fixed(png_const_structrp png_ptr,
+				png_const_inforp info_ptr);
 /* 212 */
-PNG_IMPEXP png_fixed_point png_get_y_offset_inches_fixed(png_structp png_ptr,
-				png_const_infop info_ptr);
+PNG_IMPEXP png_fixed_point png_get_y_offset_inches_fixed(png_const_structrp png_ptr,
+				png_const_inforp info_ptr);
 /* 213 */
-PNG_IMPEXP void		png_set_sCAL_fixed(png_structp png_ptr,
-				png_infop info_ptr, int unit,
+PNG_IMPEXP void		png_set_sCAL_fixed(png_const_structrp png_ptr,
+				png_inforp info_ptr, int unit,
 				png_fixed_point width,
 				png_fixed_point height);
 /* 214 */
-PNG_IMPEXP png_uint_32	png_get_sCAL_fixed(png_structp png_ptr,
-				png_const_infop info_ptr, int *unit,
+PNG_IMPEXP png_uint_32	png_get_sCAL_fixed(png_const_structrp png_ptr,
+				png_const_inforp info_ptr, int *unit,
 				png_fixed_point *width,
 				png_fixed_point *height);
 /* 215 */
-PNG_IMPEXP void		png_set_background_fixed(png_structp png_ptr,
+PNG_IMPEXP void		png_set_background_fixed(png_structrp png_ptr,
 				png_const_color_16p background_color,
 				int background_gamma_code, int need_expand,
 				png_fixed_point background_gamma);
 /* 216 */
-PNG_IMPEXP png_uint_32	png_get_io_chunk_type(png_const_structp png_ptr);
+PNG_IMPEXP png_uint_32	png_get_io_chunk_type(png_const_structrp png_ptr);
 /* 217 */
-PNG_IMPEXP png_uint_32	png_get_current_row_number(png_const_structp png_ptr);
+PNG_IMPEXP png_uint_32	png_get_current_row_number(png_const_structrp png_ptr);
 /* 218 */
 PNG_IMPEXP png_byte	png_get_current_pass_number(
-				png_const_structp png_ptr);
+				png_const_structrp png_ptr);
 /* 219 */
-PNG_IMPEXP png_size_t	png_process_data_pause(png_structp png_ptr, int save);
+PNG_IMPEXP png_size_t	png_process_data_pause(png_structrp png_ptr, int save);
 /* 220 */
-PNG_IMPEXP png_uint_32	png_process_data_skip(png_structp png_ptr);
+PNG_IMPEXP png_uint_32	png_process_data_skip(png_structrp png_ptr);
 /* 221 */
-PNG_IMPEXP void		png_set_expand_16(png_structp png_ptr);
+PNG_IMPEXP void		png_set_expand_16(png_structrp png_ptr);
 /* 222 */
-PNG_IMPEXP void		png_set_text_compression_level(png_structp png_ptr,
+PNG_IMPEXP void		png_set_text_compression_level(png_structrp png_ptr,
 				int level);
 /* 223 */
 PNG_IMPEXP void		png_set_text_compression_mem_level(
-				png_structp png_ptr, int mem_level);
+				png_structrp png_ptr, int mem_level);
 /* 224 */
 PNG_IMPEXP void		png_set_text_compression_strategy(
-				png_structp png_ptr, int strategy);
+				png_structrp png_ptr, int strategy);
 /* 225 */
 PNG_IMPEXP void		png_set_text_compression_window_bits(
-				png_structp png_ptr, int window_bits);
+				png_structrp png_ptr, int window_bits);
 /* 226 */
-PNG_IMPEXP void		png_set_text_compression_method(png_structp pnt_ptr,
+PNG_IMPEXP void		png_set_text_compression_method(png_structrp pnt_ptr,
 				int method);
 /* 227 */
-PNG_IMPEXP void		png_set_alpha_mode(png_structp png_ptr, int mode,
+PNG_IMPEXP void		png_set_alpha_mode(png_structrp png_ptr, int mode,
 				double output_gamma);
 /* 228 */
-PNG_IMPEXP void		png_set_alpha_mode_fixed(png_structp png_ptr,
+PNG_IMPEXP void		png_set_alpha_mode_fixed(png_structrp png_ptr,
 				int mode, png_fixed_point output_gamma);
 /* 229 */
-PNG_IMPEXP void		png_set_scale_16(png_structp png_ptr);
+PNG_IMPEXP void		png_set_scale_16(png_structrp png_ptr);
 /* 230 */
-PNG_IMPEXP png_uint_32	png_get_cHRM_XYZ(png_structp png_ptr,
-				png_const_infop info_ptr, double *red_X,
+PNG_IMPEXP png_uint_32	png_get_cHRM_XYZ(png_const_structrp png_ptr,
+				png_const_inforp info_ptr, double *red_X,
 				double *red_Y, double *red_Z,
 				double *green_X, double *green_Y,
 				double *green_Z, double *blue_X,
 				double *blue_Y, double *blue_Z);
 /* 231 */
-PNG_IMPEXP png_uint_32	png_get_cHRM_XYZ_fixed(png_structp png_ptr,
-				png_const_infop info_ptr,
+PNG_IMPEXP png_uint_32	png_get_cHRM_XYZ_fixed(png_const_structrp png_ptr,
+				png_const_inforp info_ptr,
 				png_fixed_point *int_red_X,
 				png_fixed_point *int_red_Y,
 				png_fixed_point *int_red_Z,
@@ -796,14 +796,14 @@ PNG_IMPEXP png_uint_32	png_get_cHRM_XYZ_
 				png_fixed_point *int_blue_Y,
 				png_fixed_point *int_blue_Z);
 /* 232 */
-PNG_IMPEXP void		png_set_cHRM_XYZ(png_structp png_ptr,
-				png_infop info_ptr, double red_X,
+PNG_IMPEXP void		png_set_cHRM_XYZ(png_const_structrp png_ptr,
+				png_inforp info_ptr, double red_X,
 				double red_Y, double red_Z, double green_X,
 				double green_Y, double green_Z,
 				double blue_X, double blue_Y, double blue_Z);
 /* 233 */
-PNG_IMPEXP void		png_set_cHRM_XYZ_fixed(png_structp png_ptr,
-				png_infop info_ptr,
+PNG_IMPEXP void		png_set_cHRM_XYZ_fixed(png_const_structrp png_ptr,
+				png_inforp info_ptr,
 				png_fixed_point int_red_X,
 				png_fixed_point int_red_Y,
 				png_fixed_point int_red_Z,
@@ -813,245 +813,293 @@ PNG_IMPEXP void		png_set_cHRM_XYZ_fixed(
 				png_fixed_point int_blue_X,
 				png_fixed_point int_blue_Y,
 				png_fixed_point int_blue_Z);
+/* 234 */
+PNG_IMPEXP int		png_image_begin_read_from_file(png_imagep image,
+				PNG_CONST char *file_name);
+/* 235 */
+PNG_IMPEXP int		png_image_begin_read_from_stdio(png_imagep image,
+				FILE* file);
+/* 236 */
+PNG_IMPEXP int		png_image_begin_read_from_memory(png_imagep image,
+				png_const_voidp memory, png_size_t size);
+/* 237 */
+PNG_IMPEXP int		png_image_finish_read(png_imagep image,
+				png_const_colorp background, void *buffer, 
+				png_int_32 row_stride,
+				void *colormap);
+/* 238 */
+PNG_IMPEXP void		png_image_free(png_imagep image);
+/* 239 */
+PNG_IMPEXP int		png_image_write_to_file(png_imagep image,
+				PNG_CONST char *file, int convert_to_8bit, const void *buffer,
+				png_int_32 row_stride, PNG_CONST void *colormap);
+/* 240 */
+PNG_IMPEXP int		png_image_write_to_stdio(png_imagep image, FILE *file,
+				int convert_to_8_bit, PNG_CONST void *buffer, 
+				png_int_32 row_stride,
+				PNG_CONST void *colormap);
+/* 241 */
+PNG_IMPEXP int		png_convert_to_rfc1123_buffer(char out[29],
+				png_const_timep ptime);
+/* 242 */
+PNG_IMPEXP void		png_set_check_for_invalid_index(png_structrp png_ptr, int allowed);
+/* 243 */
+PNG_IMPEXP int		png_get_palette_max(png_const_structp png_ptr,
+				png_const_infop info_ptr);
+/* 244 */
+PNG_IMPEXP int		png_set_option(png_structrp png_ptr, int option,
+				int onoff);
 
 typedef struct PngtclStubs {
     int magic;
     const struct PngtclStubHooks *hooks;
 
+
     void (*reserved0)(void);
     png_uint_32 (*png_access_version_numberPtr) (void); /* 1 */
-    void (*png_set_sig_bytesPtr) (png_structp png_ptr, int num_bytes); /* 2 */
+    void (*png_set_sig_bytesPtr) (png_structrp png_ptr, int num_bytes); /* 2 */
     int (*png_sig_cmpPtr) (png_const_bytep sig, png_size_t start, png_size_t num_to_check); /* 3 */
     png_structp (*png_create_read_structPtr) (png_const_charp user_png_ver, png_voidp error_ptr, png_error_ptr error_fn, png_error_ptr warn_fn); /* 4 */
     png_structp (*png_create_write_structPtr) (png_const_charp user_png_ver, png_voidp error_ptr, png_error_ptr error_fn, png_error_ptr warn_fn); /* 5 */
-    png_size_t (*png_get_compression_buffer_sizePtr) (png_const_structp png_ptr); /* 6 */
-    void (*png_set_compression_buffer_sizePtr) (png_structp png_ptr, png_size_t size); /* 7 */
-    jmp_buf* (*png_set_longjmp_fnPtr) (png_structp png_ptr, png_longjmp_ptr longjmp_fn, size_t jmp_buf_size); /* 8 */
-    void (*png_longjmpPtr) (png_structp png_ptr, int val); /* 9 */
-    int (*png_reset_zstreamPtr) (png_structp png_ptr); /* 10 */
+    png_size_t (*png_get_compression_buffer_sizePtr) (png_const_structrp png_ptr); /* 6 */
+    void (*png_set_compression_buffer_sizePtr) (png_structrp png_ptr, png_size_t size); /* 7 */
+    jmp_buf* (*png_set_longjmp_fnPtr) (png_structrp png_ptr, png_longjmp_ptr longjmp_fn, size_t jmp_buf_size); /* 8 */
+    void (*png_longjmpPtr) (png_const_structrp png_ptr, int val); /* 9 */
+    int (*png_reset_zstreamPtr) (png_structrp png_ptr); /* 10 */
     png_structp (*png_create_read_struct_2Ptr) (png_const_charp user_png_ver, png_voidp error_ptr, png_error_ptr error_fn, png_error_ptr warn_fn, png_voidp mem_ptr, png_malloc_ptr malloc_fn, png_free_ptr free_fn); /* 11 */
     png_structp (*png_create_write_struct_2Ptr) (png_const_charp user_png_ver, png_voidp error_ptr, png_error_ptr error_fn, png_error_ptr warn_fn, png_voidp mem_ptr, png_malloc_ptr malloc_fn, png_free_ptr free_fn); /* 12 */
-    void (*png_write_sigPtr) (png_structp png_ptr); /* 13 */
-    void (*png_write_chunkPtr) (png_structp png_ptr, png_const_bytep chunk_name, png_const_bytep data, png_size_t length); /* 14 */
-    void (*png_write_chunk_startPtr) (png_structp png_ptr, png_const_bytep chunk_name, png_uint_32 length); /* 15 */
-    void (*png_write_chunk_dataPtr) (png_structp png_ptr, png_const_bytep data, png_size_t length); /* 16 */
-    void (*png_write_chunk_endPtr) (png_structp png_ptr); /* 17 */
-    png_infop (*png_create_info_structPtr) (png_structp png_ptr); /* 18 */
+    void (*png_write_sigPtr) (png_structrp png_ptr); /* 13 */
+    void (*png_write_chunkPtr) (png_structrp png_ptr, png_const_bytep chunk_name, png_const_bytep data, png_size_t length); /* 14 */
+    void (*png_write_chunk_startPtr) (png_structrp png_ptr, png_const_bytep chunk_name, png_uint_32 length); /* 15 */
+    void (*png_write_chunk_dataPtr) (png_structrp png_ptr, png_const_bytep data, png_size_t length); /* 16 */
+    void (*png_write_chunk_endPtr) (png_structrp png_ptr); /* 17 */
+    png_infop (*png_create_info_structPtr) (png_const_structrp png_ptr); /* 18 */
     void (*png_info_init_3Ptr) (png_infopp info_ptr, png_size_t png_info_struct_size); /* 19 */
-    void (*png_write_info_before_PLTEPtr) (png_structp png_ptr, png_infop info_ptr); /* 20 */
-    void (*png_write_infoPtr) (png_structp png_ptr, png_infop info_ptr); /* 21 */
-    void (*png_read_infoPtr) (png_structp png_ptr, png_infop info_ptr); /* 22 */
-    png_const_charp (*png_convert_to_rfc1123Ptr) (png_structp png_ptr, png_const_timep ptime); /* 23 */
-    void (*png_convert_from_struct_tmPtr) (png_timep ptime, PNG_CONST struct tm FAR *ttime); /* 24 */
+    void (*png_write_info_before_PLTEPtr) (png_structrp png_ptr, png_const_inforp info_ptr); /* 20 */
+    void (*png_write_infoPtr) (png_structrp png_ptr, png_const_inforp info_ptr); /* 21 */
+    void (*png_read_infoPtr) (png_structrp png_ptr, png_inforp info_ptr); /* 22 */
+    png_const_charp (*png_convert_to_rfc1123Ptr) (png_structrp png_ptr, png_const_timep ptime); /* 23 */
+    void (*png_convert_from_struct_tmPtr) (png_timep ptime, PNG_CONST struct tm *ttime); /* 24 */
     void (*png_convert_from_time_tPtr) (png_timep ptime, time_t ttime); /* 25 */
-    void (*png_set_expandPtr) (png_structp png_ptr); /* 26 */
-    void (*png_set_expand_gray_1_2_4_to_8Ptr) (png_structp png_ptr); /* 27 */
-    void (*png_set_palette_to_rgbPtr) (png_structp png_ptr); /* 28 */
-    void (*png_set_tRNS_to_alphaPtr) (png_structp png_ptr); /* 29 */
-    void (*png_set_bgrPtr) (png_structp png_ptr); /* 30 */
-    void (*png_set_gray_to_rgbPtr) (png_structp png_ptr); /* 31 */
-    void (*png_set_rgb_to_grayPtr) (png_structp png_ptr, int error_action, double red, double green); /* 32 */
-    void (*png_set_rgb_to_gray_fixedPtr) (png_structp png_ptr, int error_action, png_fixed_point red, png_fixed_point green); /* 33 */
-    png_byte (*png_get_rgb_to_gray_statusPtr) (png_const_structp png_ptr); /* 34 */
+    void (*png_set_expandPtr) (png_structrp png_ptr); /* 26 */
+    void (*png_set_expand_gray_1_2_4_to_8Ptr) (png_structrp png_ptr); /* 27 */
+    void (*png_set_palette_to_rgbPtr) (png_structrp png_ptr); /* 28 */
+    void (*png_set_tRNS_to_alphaPtr) (png_structrp png_ptr); /* 29 */
+    void (*png_set_bgrPtr) (png_structrp png_ptr); /* 30 */
+    void (*png_set_gray_to_rgbPtr) (png_structrp png_ptr); /* 31 */
+    void (*png_set_rgb_to_grayPtr) (png_structrp png_ptr, int error_action, double red, double green); /* 32 */
+    void (*png_set_rgb_to_gray_fixedPtr) (png_structrp png_ptr, int error_action, png_fixed_point red, png_fixed_point green); /* 33 */
+    png_byte (*png_get_rgb_to_gray_statusPtr) (png_const_structrp png_ptr); /* 34 */
     void (*png_build_grayscale_palettePtr) (int bit_depth, png_colorp palette); /* 35 */
-    void (*png_set_strip_alphaPtr) (png_structp png_ptr); /* 36 */
-    void (*png_set_swap_alphaPtr) (png_structp png_ptr); /* 37 */
-    void (*png_set_invert_alphaPtr) (png_structp png_ptr); /* 38 */
-    void (*png_set_fillerPtr) (png_structp png_ptr, png_uint_32 filler, int flags); /* 39 */
-    void (*png_set_add_alphaPtr) (png_structp png_ptr, png_uint_32 filler, int flags); /* 40 */
-    void (*png_set_swapPtr) (png_structp png_ptr); /* 41 */
-    void (*png_set_packingPtr) (png_structp png_ptr); /* 42 */
-    void (*png_set_packswapPtr) (png_structp png_ptr); /* 43 */
-    void (*png_set_shiftPtr) (png_structp png_ptr, png_const_color_8p true_bits); /* 44 */
-    int (*png_set_interlace_handlingPtr) (png_structp png_ptr); /* 45 */
-    void (*png_set_invert_monoPtr) (png_structp png_ptr); /* 46 */
-    void (*png_set_backgroundPtr) (png_structp png_ptr, png_const_color_16p background_color, int background_gamma_code, int need_expand, double background_gamma); /* 47 */
-    void (*png_set_strip_16Ptr) (png_structp png_ptr); /* 48 */
-    void (*png_set_quantizePtr) (png_structp png_ptr, png_colorp palette, int num_palette, int maximum_colors, png_const_uint_16p histogram, int full_quantize); /* 49 */
-    void (*png_set_gammaPtr) (png_structp png_ptr, double screen_gamma, double override_file_gamma); /* 50 */
-    void (*png_set_flushPtr) (png_structp png_ptr, int nrows); /* 51 */
-    void (*png_write_flushPtr) (png_structp png_ptr); /* 52 */
-    void (*png_start_read_imagePtr) (png_structp png_ptr); /* 53 */
-    void (*png_read_update_infoPtr) (png_structp png_ptr, png_infop info_ptr); /* 54 */
-    void (*png_read_rowsPtr) (png_structp png_ptr, png_bytepp row, png_bytepp display_row, png_uint_32 num_rows); /* 55 */
-    void (*png_read_rowPtr) (png_structp png_ptr, png_bytep row, png_bytep display_row); /* 56 */
-    void (*png_read_imagePtr) (png_structp png_ptr, png_bytepp image); /* 57 */
-    void (*png_write_rowPtr) (png_structp png_ptr, png_const_bytep row); /* 58 */
-    void (*png_write_rowsPtr) (png_structp png_ptr, png_bytepp row, png_uint_32 num_rows); /* 59 */
-    void (*png_write_imagePtr) (png_structp png_ptr, png_bytepp image); /* 60 */
-    void (*png_write_endPtr) (png_structp png_ptr, png_infop info_ptr); /* 61 */
-    void (*png_read_endPtr) (png_structp png_ptr, png_infop info_ptr); /* 62 */
-    void (*png_destroy_info_structPtr) (png_structp png_ptr, png_infopp info_ptr_ptr); /* 63 */
+    void (*png_set_strip_alphaPtr) (png_structrp png_ptr); /* 36 */
+    void (*png_set_swap_alphaPtr) (png_structrp png_ptr); /* 37 */
+    void (*png_set_invert_alphaPtr) (png_structrp png_ptr); /* 38 */
+    void (*png_set_fillerPtr) (png_structrp png_ptr, png_uint_32 filler, int flags); /* 39 */
+    void (*png_set_add_alphaPtr) (png_structrp png_ptr, png_uint_32 filler, int flags); /* 40 */
+    void (*png_set_swapPtr) (png_structrp png_ptr); /* 41 */
+    void (*png_set_packingPtr) (png_structrp png_ptr); /* 42 */
+    void (*png_set_packswapPtr) (png_structrp png_ptr); /* 43 */
+    void (*png_set_shiftPtr) (png_structrp png_ptr, png_const_color_8p true_bits); /* 44 */
+    int (*png_set_interlace_handlingPtr) (png_structrp png_ptr); /* 45 */
+    void (*png_set_invert_monoPtr) (png_structrp png_ptr); /* 46 */
+    void (*png_set_backgroundPtr) (png_structrp png_ptr, png_const_color_16p background_color, int background_gamma_code, int need_expand, double background_gamma); /* 47 */
+    void (*png_set_strip_16Ptr) (png_structrp png_ptr); /* 48 */
+    void (*png_set_quantizePtr) (png_structrp png_ptr, png_colorp palette, int num_palette, int maximum_colors, png_const_uint_16p histogram, int full_quantize); /* 49 */
+    void (*png_set_gammaPtr) (png_structrp png_ptr, double screen_gamma, double override_file_gamma); /* 50 */
+    void (*png_set_flushPtr) (png_structrp png_ptr, int nrows); /* 51 */
+    void (*png_write_flushPtr) (png_structrp png_ptr); /* 52 */
+    void (*png_start_read_imagePtr) (png_structrp png_ptr); /* 53 */
+    void (*png_read_update_infoPtr) (png_structrp png_ptr, png_inforp info_ptr); /* 54 */
+    void (*png_read_rowsPtr) (png_structrp png_ptr, png_bytepp row, png_bytepp display_row, png_uint_32 num_rows); /* 55 */
+    void (*png_read_rowPtr) (png_structrp png_ptr, png_bytep row, png_bytep display_row); /* 56 */
+    void (*png_read_imagePtr) (png_structrp png_ptr, png_bytepp image); /* 57 */
+    void (*png_write_rowPtr) (png_structrp png_ptr, png_const_bytep row); /* 58 */
+    void (*png_write_rowsPtr) (png_structrp png_ptr, png_bytepp row, png_uint_32 num_rows); /* 59 */
+    void (*png_write_imagePtr) (png_structrp png_ptr, png_bytepp image); /* 60 */
+    void (*png_write_endPtr) (png_structrp png_ptr, png_inforp info_ptr); /* 61 */
+    void (*png_read_endPtr) (png_structrp png_ptr, png_inforp info_ptr); /* 62 */
+    void (*png_destroy_info_structPtr) (png_const_structrp png_ptr, png_infopp info_ptr_ptr); /* 63 */
     void (*png_destroy_read_structPtr) (png_structpp png_ptr_ptr, png_infopp info_ptr_ptr, png_infopp end_info_ptr_ptr); /* 64 */
     void (*png_destroy_write_structPtr) (png_structpp png_ptr_ptr, png_infopp info_ptr_ptr); /* 65 */
-    void (*png_set_crc_actionPtr) (png_structp png_ptr, int crit_action, int ancil_action); /* 66 */
-    void (*png_set_filterPtr) (png_structp png_ptr, int method, int filters); /* 67 */
-    void (*png_set_filter_heuristicsPtr) (png_structp png_ptr, int heuristic_method, int num_weights, png_const_doublep filter_weights, png_const_doublep filter_costs); /* 68 */
-    void (*png_set_compression_levelPtr) (png_structp png_ptr, int level); /* 69 */
-    void (*png_set_compression_mem_levelPtr) (png_structp png_ptr, int mem_level); /* 70 */
-    void (*png_set_compression_strategyPtr) (png_structp png_ptr, int strategy); /* 71 */
-    void (*png_set_compression_window_bitsPtr) (png_structp png_ptr, int window_bits); /* 72 */
-    void (*png_set_compression_methodPtr) (png_structp png_ptr, int method); /* 73 */
-    void (*png_init_ioPtr) (png_structp png_ptr, png_FILE_p fp); /* 74 */
-    void (*png_set_error_fnPtr) (png_structp png_ptr, png_voidp error_ptr, png_error_ptr error_fn, png_error_ptr warning_fn); /* 75 */
-    png_voidp (*png_get_error_ptrPtr) (png_const_structp png_ptr); /* 76 */
-    void (*png_set_write_fnPtr) (png_structp png_ptr, png_voidp io_ptr, png_rw_ptr write_data_fn, png_flush_ptr output_flush_fn); /* 77 */
-    void (*png_set_read_fnPtr) (png_structp png_ptr, png_voidp io_ptr, png_rw_ptr read_data_fn); /* 78 */
-    png_voidp (*png_get_io_ptrPtr) (png_structp png_ptr); /* 79 */
-    void (*png_set_read_status_fnPtr) (png_structp png_ptr, png_read_status_ptr read_row_fn); /* 80 */
-    void (*png_set_write_status_fnPtr) (png_structp png_ptr, png_write_status_ptr write_row_fn); /* 81 */
-    void (*png_set_mem_fnPtr) (png_structp png_ptr, png_voidp mem_ptr, png_malloc_ptr malloc_fn, png_free_ptr free_fn); /* 82 */
-    png_voidp (*png_get_mem_ptrPtr) (png_const_structp png_ptr); /* 83 */
-    void (*png_set_read_user_transform_fnPtr) (png_structp png_ptr, png_user_transform_ptr read_user_transform_fn); /* 84 */
-    void (*png_set_write_user_transform_fnPtr) (png_structp png_ptr, png_user_transform_ptr write_user_transform_fn); /* 85 */
-    void (*png_set_user_transform_infoPtr) (png_structp png_ptr, png_voidp user_transform_ptr, int user_transform_depth, int user_transform_channels); /* 86 */
-    png_voidp (*png_get_user_transform_ptrPtr) (png_const_structp png_ptr); /* 87 */
-    void (*png_set_read_user_chunk_fnPtr) (png_structp png_ptr, png_voidp user_chunk_ptr, png_user_chunk_ptr read_user_chunk_fn); /* 88 */
-    png_voidp (*png_get_user_chunk_ptrPtr) (png_const_structp png_ptr); /* 89 */
-    void (*png_set_progressive_read_fnPtr) (png_structp png_ptr, png_voidp progressive_ptr, png_progressive_info_ptr info_fn, png_progressive_row_ptr row_fn, png_progressive_end_ptr end_fn); /* 90 */
-    png_voidp (*png_get_progressive_ptrPtr) (png_const_structp png_ptr); /* 91 */
-    void (*png_process_dataPtr) (png_structp png_ptr, png_infop info_ptr, png_bytep buffer, png_size_t buffer_size); /* 92 */
-    void (*png_progressive_combine_rowPtr) (png_structp png_ptr, png_bytep old_row, png_const_bytep new_row); /* 93 */
-    png_voidp (*png_mallocPtr) (png_structp png_ptr, png_alloc_size_t size); /* 94 */
-    png_voidp (*png_callocPtr) (png_structp png_ptr, png_alloc_size_t size); /* 95 */
-    png_voidp (*png_malloc_warnPtr) (png_structp png_ptr, png_alloc_size_t size); /* 96 */
-    void (*png_freePtr) (png_structp png_ptr, png_voidp ptr); /* 97 */
-    void (*png_free_dataPtr) (png_structp png_ptr, png_infop info_ptr, png_uint_32 free_me, int num); /* 98 */
-    void (*png_data_freerPtr) (png_structp png_ptr, png_infop info_ptr, int freer, png_uint_32 mask); /* 99 */
-    png_voidp (*png_malloc_defaultPtr) (png_structp png_ptr, png_alloc_size_t size); /* 100 */
-    void (*png_free_defaultPtr) (png_structp png_ptr, png_voidp ptr); /* 101 */
-    void (*png_errorPtr) (png_structp png_ptr, png_const_charp error_message); /* 102 */
-    void (*png_chunk_errorPtr) (png_structp png_ptr, png_const_charp error); /* 103 */
-    void (*png_errPtr) (png_structp png_ptr); /* 104 */
-    void (*png_warningPtr) (png_structp png_ptr, png_const_charp warning_message); /* 105 */
-    void (*png_chunk_warningPtr) (png_structp png_ptr, png_const_charp warning_message); /* 106 */
-    void (*png_benign_errorPtr) (png_structp png_ptr, png_const_charp warning_message); /* 107 */
-    void (*png_chunk_benign_errorPtr) (png_structp png_ptr, png_const_charp warning_message); /* 108 */
-    void (*png_set_benign_errorsPtr) (png_structp png_ptr, int allowed); /* 109 */
-    png_uint_32 (*png_get_validPtr) (png_const_structp png_ptr, png_const_infop info_ptr, png_uint_32 flag); /* 110 */
-    png_size_t (*png_get_rowbytesPtr) (png_const_structp png_ptr, png_const_infop info_ptr); /* 111 */
-    png_bytepp (*png_get_rowsPtr) (png_const_structp png_ptr, png_const_infop info_ptr); /* 112 */
-    void (*png_set_rowsPtr) (png_structp png_ptr, png_infop info_ptr, png_bytepp row_pointers); /* 113 */
-    png_byte (*png_get_channelsPtr) (png_const_structp png_ptr, png_const_infop info_ptr); /* 114 */
-    png_uint_32 (*png_get_image_widthPtr) (png_const_structp png_ptr, png_const_infop info_ptr); /* 115 */
-    png_uint_32 (*png_get_image_heightPtr) (png_const_structp png_ptr, png_const_infop info_ptr); /* 116 */
-    png_byte (*png_get_bit_depthPtr) (png_const_structp png_ptr, png_const_infop info_ptr); /* 117 */
-    png_byte (*png_get_color_typePtr) (png_const_structp png_ptr, png_const_infop info_ptr); /* 118 */
-    png_byte (*png_get_filter_typePtr) (png_const_structp png_ptr, png_const_infop info_ptr); /* 119 */
-    png_byte (*png_get_interlace_typePtr) (png_const_structp png_ptr, png_const_infop info_ptr); /* 120 */
-    png_byte (*png_get_compression_typePtr) (png_const_structp png_ptr, png_const_infop info_ptr); /* 121 */
-    png_uint_32 (*png_get_pixels_per_meterPtr) (png_const_structp png_ptr, png_const_infop info_ptr); /* 122 */
-    png_uint_32 (*png_get_x_pixels_per_meterPtr) (png_const_structp png_ptr, png_const_infop info_ptr); /* 123 */
-    png_uint_32 (*png_get_y_pixels_per_meterPtr) (png_const_structp png_ptr, png_const_infop info_ptr); /* 124 */
-    float (*png_get_pixel_aspect_ratioPtr) (png_const_structp png_ptr, png_const_infop info_ptr); /* 125 */
-    png_int_32 (*png_get_x_offset_pixelsPtr) (png_const_structp png_ptr, png_const_infop info_ptr); /* 126 */
-    png_int_32 (*png_get_y_offset_pixelsPtr) (png_const_structp png_ptr, png_const_infop info_ptr); /* 127 */
-    png_int_32 (*png_get_x_offset_micronsPtr) (png_const_structp png_ptr, png_const_infop info_ptr); /* 128 */
-    png_int_32 (*png_get_y_offset_micronsPtr) (png_const_structp png_ptr, png_const_infop info_ptr); /* 129 */
-    png_const_bytep (*png_get_signaturePtr) (png_const_structp png_ptr, png_infop info_ptr); /* 130 */
-    png_uint_32 (*png_get_bKGDPtr) (png_const_structp png_ptr, png_infop info_ptr, png_color_16p *background); /* 131 */
-    void (*png_set_bKGDPtr) (png_structp png_ptr, png_infop info_ptr, png_const_color_16p background); /* 132 */
-    png_uint_32 (*png_get_cHRMPtr) (png_const_structp png_ptr, png_const_infop info_ptr, double *white_x, double *white_y, double *red_x, double *red_y, double *green_x, double *green_y, double *blue_x, double *blue_y); /* 133 */
-    png_uint_32 (*png_get_cHRM_fixedPtr) (png_const_structp png_ptr, png_const_infop info_ptr, png_fixed_point *int_white_x, png_fixed_point *int_white_y, png_fixed_point *int_red_x, png_fixed_point *int_red_y, png_fixed_point *int_green_x, png_fixed_point *int_green_y, png_fixed_point *int_blue_x, png_fixed_point *int_blue_y); /* 134 */
-    void (*png_set_cHRMPtr) (png_structp png_ptr, png_infop info_ptr, double white_x, double white_y, double red_x, double red_y, double green_x, double green_y, double blue_x, double blue_y); /* 135 */
-    void (*png_set_cHRM_fixedPtr) (png_structp png_ptr, png_infop info_ptr, png_fixed_point int_white_x, png_fixed_point int_white_y, png_fixed_point int_red_x, png_fixed_point int_red_y, png_fixed_point int_green_x, png_fixed_point int_green_y, png_fixed_point int_blue_x, png_fixed_point int_blue_y); /* 136 */
-    png_uint_32 (*png_get_gAMAPtr) (png_const_structp png_ptr, png_const_infop info_ptr, double *file_gamma); /* 137 */
-    png_uint_32 (*png_get_gAMA_fixedPtr) (png_const_structp png_ptr, png_const_infop info_ptr, png_fixed_point *int_file_gamma); /* 138 */
-    void (*png_set_gAMAPtr) (png_structp png_ptr, png_infop info_ptr, double file_gamma); /* 139 */
-    void (*png_set_gAMA_fixedPtr) (png_structp png_ptr, png_infop info_ptr, png_fixed_point int_file_gamma); /* 140 */
-    png_uint_32 (*png_get_hISTPtr) (png_const_structp png_ptr, png_const_infop info_ptr, png_uint_16p *hist); /* 141 */
-    void (*png_set_hISTPtr) (png_structp png_ptr, png_infop info_ptr, png_const_uint_16p hist); /* 142 */
-    png_uint_32 (*png_get_IHDRPtr) (png_structp png_ptr, png_infop info_ptr, png_uint_32 *width, png_uint_32 *height, int *bit_depth, int *color_type, int *interlace_method, int *compression_method, int *filter_method); /* 143 */
-    void (*png_set_IHDRPtr) (png_structp png_ptr, png_infop info_ptr, png_uint_32 width, png_uint_32 height, int bit_depth, int color_type, int interlace_method, int compression_method, int filter_method); /* 144 */
-    png_uint_32 (*png_get_oFFsPtr) (png_const_structp png_ptr, png_const_infop info_ptr, png_int_32 *offset_x, png_int_32 *offset_y, int *unit_type); /* 145 */
-    void (*png_set_oFFsPtr) (png_structp png_ptr, png_infop info_ptr, png_int_32 offset_x, png_int_32 offset_y, int unit_type); /* 146 */
-    png_uint_32 (*png_get_pCALPtr) (png_const_structp png_ptr, png_const_infop info_ptr, png_charp *purpose, png_int_32 *X0, png_int_32 *X1, int *type, int *nparams, png_charp *units, png_charpp *params); /* 147 */
-    void (*png_set_pCALPtr) (png_structp png_ptr, png_infop info_ptr, png_const_charp purpose, png_int_32 X0, png_int_32 X1, int type, int nparams, png_const_charp units, png_charpp params); /* 148 */
-    png_uint_32 (*png_get_pHYsPtr) (png_const_structp png_ptr, png_const_infop info_ptr, png_uint_32 *res_x, png_uint_32 *res_y, int *unit_type); /* 149 */
-    void (*png_set_pHYsPtr) (png_structp png_ptr, png_infop info_ptr, png_uint_32 res_x, png_uint_32 res_y, int unit_type); /* 150 */
-    png_uint_32 (*png_get_PLTEPtr) (png_const_structp png_ptr, png_const_infop info_ptr, png_colorp *palette, int *num_palette); /* 151 */
-    void (*png_set_PLTEPtr) (png_structp png_ptr, png_infop info_ptr, png_const_colorp palette, int num_palette); /* 152 */
-    png_uint_32 (*png_get_sBITPtr) (png_const_structp png_ptr, png_infop info_ptr, png_color_8p *sig_bit); /* 153 */
-    void (*png_set_sBITPtr) (png_structp png_ptr, png_infop info_ptr, png_const_color_8p sig_bit); /* 154 */
-    png_uint_32 (*png_get_sRGBPtr) (png_const_structp png_ptr, png_const_infop info_ptr, int *file_srgb_intent); /* 155 */
-    void (*png_set_sRGBPtr) (png_structp png_ptr, png_infop info_ptr, int srgb_intent); /* 156 */
-    void (*png_set_sRGB_gAMA_and_cHRMPtr) (png_structp png_ptr, png_infop info_ptr, int srgb_intent); /* 157 */
-    png_uint_32 (*png_get_iCCPPtr) (png_const_structp png_ptr, png_const_infop info_ptr, png_charpp name, int *compression_type, png_bytepp profile, png_uint_32 *proflen); /* 158 */
-    void (*png_set_iCCPPtr) (png_structp png_ptr, png_infop info_ptr, png_const_charp name, int compression_type, png_const_bytep profile, png_uint_32 proflen); /* 159 */
-    png_uint_32 (*png_get_sPLTPtr) (png_const_structp png_ptr, png_const_infop info_ptr, png_sPLT_tpp entries); /* 160 */
-    void (*png_set_sPLTPtr) (png_structp png_ptr, png_infop info_ptr, png_const_sPLT_tp entries, int nentries); /* 161 */
-    png_uint_32 (*png_get_textPtr) (png_const_structp png_ptr, png_const_infop info_ptr, png_textp *text_ptr, int *num_text); /* 162 */
-    void (*png_set_textPtr) (png_structp png_ptr, png_infop info_ptr, png_const_textp text_ptr, int num_text); /* 163 */
-    png_uint_32 (*png_get_tIMEPtr) (png_const_structp png_ptr, png_infop info_ptr, png_timep *mod_time); /* 164 */
-    void (*png_set_tIMEPtr) (png_structp png_ptr, png_infop info_ptr, png_const_timep mod_time); /* 165 */
-    png_uint_32 (*png_get_tRNSPtr) (png_const_structp png_ptr, png_infop info_ptr, png_bytep *trans, int *num_trans, png_color_16p *trans_color); /* 166 */
-    void (*png_set_tRNSPtr) (png_structp png_ptr, png_infop info_ptr, png_const_bytep trans, int num_trans, png_const_color_16p trans_color); /* 167 */
-    png_uint_32 (*png_get_sCALPtr) (png_const_structp png_ptr, png_const_infop info_ptr, int *unit, double *width, double *height); /* 168 */
-    png_uint_32 (*png_get_sCAL_sPtr) (png_const_structp png_ptr, png_const_infop info_ptr, int *unit, png_charpp swidth, png_charpp sheight); /* 169 */
-    void (*png_set_sCALPtr) (png_structp png_ptr, png_infop info_ptr, int unit, double width, double height); /* 170 */
-    void (*png_set_sCAL_sPtr) (png_structp png_ptr, png_infop info_ptr, int unit, png_const_charp swidth, png_const_charp sheight); /* 171 */
-    void (*png_set_keep_unknown_chunksPtr) (png_structp png_ptr, int keep, png_const_bytep chunk_list, int num_chunks); /* 172 */
-    int (*png_handle_as_unknownPtr) (png_structp png_ptr, png_const_bytep chunk_name); /* 173 */
-    void (*png_set_unknown_chunksPtr) (png_structp png_ptr, png_infop info_ptr, png_const_unknown_chunkp unknowns, int num_unknowns); /* 174 */
-    void (*png_set_unknown_chunk_locationPtr) (png_structp png_ptr, png_infop info_ptr, int chunk, int location); /* 175 */
-    int (*png_get_unknown_chunksPtr) (png_const_structp png_ptr, png_const_infop info_ptr, png_unknown_chunkpp entries); /* 176 */
-    void (*png_set_invalidPtr) (png_structp png_ptr, png_infop info_ptr, int mask); /* 177 */
-    void (*png_read_pngPtr) (png_structp png_ptr, png_infop info_ptr, int transforms, png_voidp params); /* 178 */
-    void (*png_write_pngPtr) (png_structp png_ptr, png_infop info_ptr, int transforms, png_voidp params); /* 179 */
-    png_const_charp (*png_get_copyrightPtr) (png_const_structp png_ptr); /* 180 */
-    png_const_charp (*png_get_header_verPtr) (png_const_structp png_ptr); /* 181 */
-    png_const_charp (*png_get_header_versionPtr) (png_const_structp png_ptr); /* 182 */
-    png_const_charp (*png_get_libpng_verPtr) (png_const_structp png_ptr); /* 183 */
-    png_uint_32 (*png_permit_mng_featuresPtr) (png_structp png_ptr, png_uint_32 mng_features_permitted); /* 184 */
-    void (*png_set_strip_error_numbersPtr) (png_structp png_ptr, png_uint_32 strip_mode); /* 185 */
-    void (*png_set_user_limitsPtr) (png_structp png_ptr, png_uint_32 user_width_max, png_uint_32 user_height_max); /* 186 */
-    png_uint_32 (*png_get_user_width_maxPtr) (png_const_structp png_ptr); /* 187 */
-    png_uint_32 (*png_get_user_height_maxPtr) (png_const_structp png_ptr); /* 188 */
-    void (*png_set_chunk_cache_maxPtr) (png_structp png_ptr, png_uint_32 user_chunk_cache_max); /* 189 */
-    png_uint_32 (*png_get_chunk_cache_maxPtr) (png_const_structp png_ptr); /* 190 */
-    void (*png_set_chunk_malloc_maxPtr) (png_structp png_ptr, png_alloc_size_t user_chunk_cache_max); /* 191 */
-    png_alloc_size_t (*png_get_chunk_malloc_maxPtr) (png_const_structp png_ptr); /* 192 */
-    png_uint_32 (*png_get_pixels_per_inchPtr) (png_const_structp png_ptr, png_const_infop info_ptr); /* 193 */
-    png_uint_32 (*png_get_x_pixels_per_inchPtr) (png_const_structp png_ptr, png_const_infop info_ptr); /* 194 */
-    png_uint_32 (*png_get_y_pixels_per_inchPtr) (png_const_structp png_ptr, png_const_infop info_ptr); /* 195 */
-    float (*png_get_x_offset_inchesPtr) (png_const_structp png_ptr, png_const_infop info_ptr); /* 196 */
-    float (*png_get_y_offset_inchesPtr) (png_const_structp png_ptr, png_const_infop info_ptr); /* 197 */
-    png_uint_32 (*png_get_pHYs_dpiPtr) (png_const_structp png_ptr, png_const_infop info_ptr, png_uint_32 *res_x, png_uint_32 *res_y, int *unit_type); /* 198 */
-    png_uint_32 (*png_get_io_statePtr) (png_structp png_ptr); /* 199 */
-    png_const_bytep (*png_get_io_chunk_namePtr) (png_structp png_ptr); /* 200 */
+    void (*png_set_crc_actionPtr) (png_structrp png_ptr, int crit_action, int ancil_action); /* 66 */
+    void (*png_set_filterPtr) (png_structrp png_ptr, int method, int filters); /* 67 */
+    void (*png_set_filter_heuristicsPtr) (png_structrp png_ptr, int heuristic_method, int num_weights, png_const_doublep filter_weights, png_const_doublep filter_costs); /* 68 */
+    void (*png_set_compression_levelPtr) (png_structrp png_ptr, int level); /* 69 */
+    void (*png_set_compression_mem_levelPtr) (png_structrp png_ptr, int mem_level); /* 70 */
+    void (*png_set_compression_strategyPtr) (png_structrp png_ptr, int strategy); /* 71 */
+    void (*png_set_compression_window_bitsPtr) (png_structrp png_ptr, int window_bits); /* 72 */
+    void (*png_set_compression_methodPtr) (png_structrp png_ptr, int method); /* 73 */
+    void (*png_init_ioPtr) (png_structrp png_ptr, png_FILE_p fp); /* 74 */
+    void (*png_set_error_fnPtr) (png_structrp png_ptr, png_voidp error_ptr, png_error_ptr error_fn, png_error_ptr warning_fn); /* 75 */
+    png_voidp (*png_get_error_ptrPtr) (png_const_structrp png_ptr); /* 76 */
+    void (*png_set_write_fnPtr) (png_structrp png_ptr, png_voidp io_ptr, png_rw_ptr write_data_fn, png_flush_ptr output_flush_fn); /* 77 */
+    void (*png_set_read_fnPtr) (png_structrp png_ptr, png_voidp io_ptr, png_rw_ptr read_data_fn); /* 78 */
+    png_voidp (*png_get_io_ptrPtr) (png_const_structrp png_ptr); /* 79 */
+    void (*png_set_read_status_fnPtr) (png_structrp png_ptr, png_read_status_ptr read_row_fn); /* 80 */
+    void (*png_set_write_status_fnPtr) (png_structrp png_ptr, png_write_status_ptr write_row_fn); /* 81 */
+    void (*png_set_mem_fnPtr) (png_structrp png_ptr, png_voidp mem_ptr, png_malloc_ptr malloc_fn, png_free_ptr free_fn); /* 82 */
+    png_voidp (*png_get_mem_ptrPtr) (png_const_structrp png_ptr); /* 83 */
+    void (*png_set_read_user_transform_fnPtr) (png_structrp png_ptr, png_user_transform_ptr read_user_transform_fn); /* 84 */
+    void (*png_set_write_user_transform_fnPtr) (png_structrp png_ptr, png_user_transform_ptr write_user_transform_fn); /* 85 */
+    void (*png_set_user_transform_infoPtr) (png_structrp png_ptr, png_voidp user_transform_ptr, int user_transform_depth, int user_transform_channels); /* 86 */
+    png_voidp (*png_get_user_transform_ptrPtr) (png_const_structrp png_ptr); /* 87 */
+    void (*png_set_read_user_chunk_fnPtr) (png_structrp png_ptr, png_voidp user_chunk_ptr, png_user_chunk_ptr read_user_chunk_fn); /* 88 */
+    png_voidp (*png_get_user_chunk_ptrPtr) (png_const_structrp png_ptr); /* 89 */
+    void (*png_set_progressive_read_fnPtr) (png_structrp png_ptr, png_voidp progressive_ptr, png_progressive_info_ptr info_fn, png_progressive_row_ptr row_fn, png_progressive_end_ptr end_fn); /* 90 */
+    png_voidp (*png_get_progressive_ptrPtr) (png_const_structrp png_ptr); /* 91 */
+    void (*png_process_dataPtr) (png_structrp png_ptr, png_inforp info_ptr, png_bytep buffer, png_size_t buffer_size); /* 92 */
+    void (*png_progressive_combine_rowPtr) (png_const_structrp png_ptr, png_bytep old_row, png_const_bytep new_row); /* 93 */
+    png_voidp (*png_mallocPtr) (png_const_structrp png_ptr, png_alloc_size_t size); /* 94 */
+    png_voidp (*png_callocPtr) (png_const_structrp png_ptr, png_alloc_size_t size); /* 95 */
+    png_voidp (*png_malloc_warnPtr) (png_const_structrp png_ptr, png_alloc_size_t size); /* 96 */
+    void (*png_freePtr) (png_const_structrp png_ptr, png_voidp ptr); /* 97 */
+    void (*png_free_dataPtr) (png_const_structrp png_ptr, png_inforp info_ptr, png_uint_32 free_me, int num); /* 98 */
+    void (*png_data_freerPtr) (png_const_structrp png_ptr, png_inforp info_ptr, int freer, png_uint_32 mask); /* 99 */
+    png_voidp (*png_malloc_defaultPtr) (png_const_structrp png_ptr, png_alloc_size_t size); /* 100 */
+    void (*png_free_defaultPtr) (png_const_structrp png_ptr, png_voidp ptr); /* 101 */
+    void (*png_errorPtr) (png_const_structrp png_ptr, png_const_charp error_message); /* 102 */
+    void (*png_chunk_errorPtr) (png_const_structrp png_ptr, png_const_charp error); /* 103 */
+    void (*png_errPtr) (png_const_structrp png_ptr); /* 104 */
+    void (*png_warningPtr) (png_const_structrp png_ptr, png_const_charp warning_message); /* 105 */
+    void (*png_chunk_warningPtr) (png_const_structrp png_ptr, png_const_charp warning_message); /* 106 */
+    void (*png_benign_errorPtr) (png_const_structrp png_ptr, png_const_charp warning_message); /* 107 */
+    void (*png_chunk_benign_errorPtr) (png_const_structrp png_ptr, png_const_charp warning_message); /* 108 */
+    void (*png_set_benign_errorsPtr) (png_structrp png_ptr, int allowed); /* 109 */
+    png_uint_32 (*png_get_validPtr) (png_const_structrp png_ptr, png_const_inforp info_ptr, png_uint_32 flag); /* 110 */
+    png_size_t (*png_get_rowbytesPtr) (png_const_structrp png_ptr, png_const_inforp info_ptr); /* 111 */
+    png_bytepp (*png_get_rowsPtr) (png_const_structrp png_ptr, png_const_inforp info_ptr); /* 112 */
+    void (*png_set_rowsPtr) (png_const_structrp png_ptr, png_inforp info_ptr, png_bytepp row_pointers); /* 113 */
+    png_byte (*png_get_channelsPtr) (png_const_structrp png_ptr, png_const_inforp info_ptr); /* 114 */
+    png_uint_32 (*png_get_image_widthPtr) (png_const_structrp png_ptr, png_const_inforp info_ptr); /* 115 */
+    png_uint_32 (*png_get_image_heightPtr) (png_const_structrp png_ptr, png_const_inforp info_ptr); /* 116 */
+    png_byte (*png_get_bit_depthPtr) (png_const_structrp png_ptr, png_const_inforp info_ptr); /* 117 */
+    png_byte (*png_get_color_typePtr) (png_const_structrp png_ptr, png_const_inforp info_ptr); /* 118 */
+    png_byte (*png_get_filter_typePtr) (png_const_structrp png_ptr, png_const_inforp info_ptr); /* 119 */
+    png_byte (*png_get_interlace_typePtr) (png_const_structrp png_ptr, png_const_inforp info_ptr); /* 120 */
+    png_byte (*png_get_compression_typePtr) (png_const_structrp png_ptr, png_const_inforp info_ptr); /* 121 */
+    png_uint_32 (*png_get_pixels_per_meterPtr) (png_const_structrp png_ptr, png_const_inforp info_ptr); /* 122 */
+    png_uint_32 (*png_get_x_pixels_per_meterPtr) (png_const_structrp png_ptr, png_const_inforp info_ptr); /* 123 */
+    png_uint_32 (*png_get_y_pixels_per_meterPtr) (png_const_structrp png_ptr, png_const_inforp info_ptr); /* 124 */
+    float (*png_get_pixel_aspect_ratioPtr) (png_const_structrp png_ptr, png_const_inforp info_ptr); /* 125 */
+    png_int_32 (*png_get_x_offset_pixelsPtr) (png_const_structrp png_ptr, png_const_inforp info_ptr); /* 126 */
+    png_int_32 (*png_get_y_offset_pixelsPtr) (png_const_structrp png_ptr, png_const_inforp info_ptr); /* 127 */
+    png_int_32 (*png_get_x_offset_micronsPtr) (png_const_structrp png_ptr, png_const_inforp info_ptr); /* 128 */
+    png_int_32 (*png_get_y_offset_micronsPtr) (png_const_structrp png_ptr, png_const_inforp info_ptr); /* 129 */
+    png_const_bytep (*png_get_signaturePtr) (png_const_structrp png_ptr, png_const_inforp info_ptr); /* 130 */
+    png_uint_32 (*png_get_bKGDPtr) (png_const_structrp png_ptr, png_inforp info_ptr, png_color_16p *background); /* 131 */
+    void (*png_set_bKGDPtr) (png_const_structrp png_ptr, png_inforp info_ptr, png_const_color_16p background); /* 132 */
+    png_uint_32 (*png_get_cHRMPtr) (png_const_structrp png_ptr, png_const_inforp info_ptr, double *white_x, double *white_y, double *red_x, double *red_y, double *green_x, double *green_y, double *blue_x, double *blue_y); /* 133 */
+    png_uint_32 (*png_get_cHRM_fixedPtr) (png_const_structrp png_ptr, png_const_inforp info_ptr, png_fixed_point *int_white_x, png_fixed_point *int_white_y, png_fixed_point *int_red_x, png_fixed_point *int_red_y, png_fixed_point *int_green_x, png_fixed_point *int_green_y, png_fixed_point *int_blue_x, png_fixed_point *int_blue_y); /* 134 */
+    void (*png_set_cHRMPtr) (png_const_structrp png_ptr, png_inforp info_ptr, double white_x, double white_y, double red_x, double red_y, double green_x, double green_y, double blue_x, double blue_y); /* 135 */
+    void (*png_set_cHRM_fixedPtr) (png_const_structrp png_ptr, png_inforp info_ptr, png_fixed_point int_white_x, png_fixed_point int_white_y, png_fixed_point int_red_x, png_fixed_point int_red_y, png_fixed_point int_green_x, png_fixed_point int_green_y, png_fixed_point int_blue_x, png_fixed_point int_blue_y); /* 136 */
+    png_uint_32 (*png_get_gAMAPtr) (png_const_structrp png_ptr, png_const_inforp info_ptr, double *file_gamma); /* 137 */
+    png_uint_32 (*png_get_gAMA_fixedPtr) (png_const_structrp png_ptr, png_const_inforp info_ptr, png_fixed_point *int_file_gamma); /* 138 */
+    void (*png_set_gAMAPtr) (png_const_structrp png_ptr, png_inforp info_ptr, double file_gamma); /* 139 */
+    void (*png_set_gAMA_fixedPtr) (png_const_structrp png_ptr, png_inforp info_ptr, png_fixed_point int_file_gamma); /* 140 */
+    png_uint_32 (*png_get_hISTPtr) (png_const_structrp png_ptr, png_inforp info_ptr, png_uint_16p *hist); /* 141 */
+    void (*png_set_hISTPtr) (png_const_structrp png_ptr, png_inforp info_ptr, png_const_uint_16p hist); /* 142 */
+    png_uint_32 (*png_get_IHDRPtr) (png_const_structrp png_ptr, png_const_inforp info_ptr, png_uint_32 *width, png_uint_32 *height, int *bit_depth, int *color_type, int *interlace_method, int *compression_method, int *filter_method); /* 143 */
+    void (*png_set_IHDRPtr) (png_const_structrp png_ptr, png_inforp info_ptr, png_uint_32 width, png_uint_32 height, int bit_depth, int color_type, int interlace_method, int compression_method, int filter_method); /* 144 */
+    png_uint_32 (*png_get_oFFsPtr) (png_const_structrp png_ptr, png_const_inforp info_ptr, png_int_32 *offset_x, png_int_32 *offset_y, int *unit_type); /* 145 */
+    void (*png_set_oFFsPtr) (png_const_structrp png_ptr, png_inforp info_ptr, png_int_32 offset_x, png_int_32 offset_y, int unit_type); /* 146 */
+    png_uint_32 (*png_get_pCALPtr) (png_const_structrp png_ptr, png_inforp info_ptr, png_charp *purpose, png_int_32 *X0, png_int_32 *X1, int *type, int *nparams, png_charp *units, png_charpp *params); /* 147 */
+    void (*png_set_pCALPtr) (png_const_structrp png_ptr, png_inforp info_ptr, png_const_charp purpose, png_int_32 X0, png_int_32 X1, int type, int nparams, png_const_charp units, png_charpp params); /* 148 */
+    png_uint_32 (*png_get_pHYsPtr) (png_const_structrp png_ptr, png_const_inforp info_ptr, png_uint_32 *res_x, png_uint_32 *res_y, int *unit_type); /* 149 */
+    void (*png_set_pHYsPtr) (png_const_structrp png_ptr, png_inforp info_ptr, png_uint_32 res_x, png_uint_32 res_y, int unit_type); /* 150 */
+    png_uint_32 (*png_get_PLTEPtr) (png_const_structrp png_ptr, png_inforp info_ptr, png_colorp *palette, int *num_palette); /* 151 */
+    void (*png_set_PLTEPtr) (png_structrp png_ptr, png_inforp info_ptr, png_const_colorp palette, int num_palette); /* 152 */
+    png_uint_32 (*png_get_sBITPtr) (png_const_structrp png_ptr, png_inforp info_ptr, png_color_8p *sig_bit); /* 153 */
+    void (*png_set_sBITPtr) (png_const_structrp png_ptr, png_inforp info_ptr, png_const_color_8p sig_bit); /* 154 */
+    png_uint_32 (*png_get_sRGBPtr) (png_const_structrp png_ptr, png_const_inforp info_ptr, int *file_srgb_intent); /* 155 */
+    void (*png_set_sRGBPtr) (png_const_structrp png_ptr, png_inforp info_ptr, int srgb_intent); /* 156 */
+    void (*png_set_sRGB_gAMA_and_cHRMPtr) (png_const_structrp png_ptr, png_inforp info_ptr, int srgb_intent); /* 157 */
+    png_uint_32 (*png_get_iCCPPtr) (png_const_structrp png_ptr, png_inforp info_ptr, png_charpp name, int *compression_type, png_bytepp profile, png_uint_32 *proflen); /* 158 */
+    void (*png_set_iCCPPtr) (png_const_structrp png_ptr, png_inforp info_ptr, png_const_charp name, int compression_type, png_const_bytep profile, png_uint_32 proflen); /* 159 */
+    int (*png_get_sPLTPtr) (png_const_structrp png_ptr, png_inforp info_ptr, png_sPLT_tpp entries); /* 160 */
+    void (*png_set_sPLTPtr) (png_const_structrp png_ptr, png_inforp info_ptr, png_const_sPLT_tp entries, int nentries); /* 161 */
+    int (*png_get_textPtr) (png_const_structrp png_ptr, png_inforp info_ptr, png_textp *text_ptr, int *num_text); /* 162 */
+    void (*png_set_textPtr) (png_const_structrp png_ptr, png_inforp info_ptr, png_const_textp text_ptr, int num_text); /* 163 */
+    png_uint_32 (*png_get_tIMEPtr) (png_const_structrp png_ptr, png_inforp info_ptr, png_timep *mod_time); /* 164 */
+    void (*png_set_tIMEPtr) (png_const_structrp png_ptr, png_inforp info_ptr, png_const_timep mod_time); /* 165 */
+    png_uint_32 (*png_get_tRNSPtr) (png_const_structrp png_ptr, png_inforp info_ptr, png_bytep *trans, int *num_trans, png_color_16p *trans_color); /* 166 */
+    void (*png_set_tRNSPtr) (png_structrp png_ptr, png_inforp info_ptr, png_const_bytep trans, int num_trans, png_const_color_16p trans_color); /* 167 */
+    png_uint_32 (*png_get_sCALPtr) (png_const_structrp png_ptr, png_const_inforp info_ptr, int *unit, double *width, double *height); /* 168 */
+    png_uint_32 (*png_get_sCAL_sPtr) (png_const_structrp png_ptr, png_const_inforp info_ptr, int *unit, png_charpp swidth, png_charpp sheight); /* 169 */
+    void (*png_set_sCALPtr) (png_const_structrp png_ptr, png_inforp info_ptr, int unit, double width, double height); /* 170 */
+    void (*png_set_sCAL_sPtr) (png_const_structrp png_ptr, png_inforp info_ptr, int unit, png_const_charp swidth, png_const_charp sheight); /* 171 */
+    void (*png_set_keep_unknown_chunksPtr) (png_structrp png_ptr, int keep, png_const_bytep chunk_list, int num_chunks); /* 172 */
+    int (*png_handle_as_unknownPtr) (png_const_structrp png_ptr, png_const_bytep chunk_name); /* 173 */
+    void (*png_set_unknown_chunksPtr) (png_const_structrp png_ptr, png_inforp info_ptr, png_const_unknown_chunkp unknowns, int num_unknowns); /* 174 */
+    void (*png_set_unknown_chunk_locationPtr) (png_const_structrp png_ptr, png_inforp info_ptr, int chunk, int location); /* 175 */
+    int (*png_get_unknown_chunksPtr) (png_const_structrp png_ptr, png_inforp info_ptr, png_unknown_chunkpp entries); /* 176 */
+    void (*png_set_invalidPtr) (png_const_structrp png_ptr, png_inforp info_ptr, int mask); /* 177 */
+    void (*png_read_pngPtr) (png_structrp png_ptr, png_inforp info_ptr, int transforms, png_voidp params); /* 178 */
+    void (*png_write_pngPtr) (png_structrp png_ptr, png_inforp info_ptr, int transforms, png_voidp params); /* 179 */
+    png_const_charp (*png_get_copyrightPtr) (png_const_structrp png_ptr); /* 180 */
+    png_const_charp (*png_get_header_verPtr) (png_const_structrp png_ptr); /* 181 */
+    png_const_charp (*png_get_header_versionPtr) (png_const_structrp png_ptr); /* 182 */
+    png_const_charp (*png_get_libpng_verPtr) (png_const_structrp png_ptr); /* 183 */
+    png_uint_32 (*png_permit_mng_featuresPtr) (png_structrp png_ptr, png_uint_32 mng_features_permitted); /* 184 */
+    void (*png_set_strip_error_numbersPtr) (png_structrp png_ptr, png_uint_32 strip_mode); /* 185 */
+    void (*png_set_user_limitsPtr) (png_structrp png_ptr, png_uint_32 user_width_max, png_uint_32 user_height_max); /* 186 */
+    png_uint_32 (*png_get_user_width_maxPtr) (png_const_structrp png_ptr); /* 187 */
+    png_uint_32 (*png_get_user_height_maxPtr) (png_const_structrp png_ptr); /* 188 */
+    void (*png_set_chunk_cache_maxPtr) (png_structrp png_ptr, png_uint_32 user_chunk_cache_max); /* 189 */
+    png_uint_32 (*png_get_chunk_cache_maxPtr) (png_const_structrp png_ptr); /* 190 */
+    void (*png_set_chunk_malloc_maxPtr) (png_structrp png_ptr, png_alloc_size_t user_chunk_cache_max); /* 191 */
+    png_alloc_size_t (*png_get_chunk_malloc_maxPtr) (png_const_structrp png_ptr); /* 192 */
+    png_uint_32 (*png_get_pixels_per_inchPtr) (png_const_structrp png_ptr, png_const_inforp info_ptr); /* 193 */
+    png_uint_32 (*png_get_x_pixels_per_inchPtr) (png_const_structrp png_ptr, png_const_inforp info_ptr); /* 194 */
+    png_uint_32 (*png_get_y_pixels_per_inchPtr) (png_const_structrp png_ptr, png_const_inforp info_ptr); /* 195 */
+    float (*png_get_x_offset_inchesPtr) (png_const_structrp png_ptr, png_const_inforp info_ptr); /* 196 */
+    float (*png_get_y_offset_inchesPtr) (png_const_structrp png_ptr, png_const_inforp info_ptr); /* 197 */
+    png_uint_32 (*png_get_pHYs_dpiPtr) (png_const_structrp png_ptr, png_const_inforp info_ptr, png_uint_32 *res_x, png_uint_32 *res_y, int *unit_type); /* 198 */
+    png_uint_32 (*png_get_io_statePtr) (png_const_structrp png_ptr); /* 199 */
+    png_const_bytep (*png_get_io_chunk_namePtr) (png_structrp png_ptr); /* 200 */
     png_uint_32 (*png_get_uint_32Ptr) (png_const_bytep buf); /* 201 */
     png_uint_16 (*png_get_uint_16Ptr) (png_const_bytep buf); /* 202 */
     png_int_32 (*png_get_int_32Ptr) (png_const_bytep buf); /* 203 */
-    png_uint_32 (*png_get_uint_31Ptr) (png_structp png_ptr, png_const_bytep buf); /* 204 */
+    png_uint_32 (*png_get_uint_31Ptr) (png_const_structrp png_ptr, png_const_bytep buf); /* 204 */
     void (*png_save_uint_32Ptr) (png_bytep buf, png_uint_32 i); /* 205 */
     void (*png_save_int_32Ptr) (png_bytep buf, png_int_32 i); /* 206 */
     void (*png_save_uint_16Ptr) (png_bytep buf, unsigned int i); /* 207 */
-    void (*png_set_gamma_fixedPtr) (png_structp png_ptr, png_fixed_point screen_gamma, png_fixed_point override_file_gamma); /* 208 */
-    void (*png_set_filter_heuristics_fixedPtr) (png_structp png_ptr, int heuristic_method, int num_weights, png_const_fixed_point_p filter_weights, png_const_fixed_point_p filter_costs); /* 209 */
-    png_fixed_point (*png_get_pixel_aspect_ratio_fixedPtr) (png_const_structp png_ptr, png_const_infop info_ptr); /* 210 */
-    png_fixed_point (*png_get_x_offset_inches_fixedPtr) (png_structp png_ptr, png_const_infop info_ptr); /* 211 */
-    png_fixed_point (*png_get_y_offset_inches_fixedPtr) (png_structp png_ptr, png_const_infop info_ptr); /* 212 */
-    void (*png_set_sCAL_fixedPtr) (png_structp png_ptr, png_infop info_ptr, int unit, png_fixed_point width, png_fixed_point height); /* 213 */
-    png_uint_32 (*png_get_sCAL_fixedPtr) (png_structp png_ptr, png_const_infop info_ptr, int *unit, png_fixed_point *width, png_fixed_point *height); /* 214 */
-    void (*png_set_background_fixedPtr) (png_structp png_ptr, png_const_color_16p background_color, int background_gamma_code, int need_expand, png_fixed_point background_gamma); /* 215 */
-    png_uint_32 (*png_get_io_chunk_typePtr) (png_const_structp png_ptr); /* 216 */
-    png_uint_32 (*png_get_current_row_numberPtr) (png_const_structp png_ptr); /* 217 */
-    png_byte (*png_get_current_pass_numberPtr) (png_const_structp png_ptr); /* 218 */
-    png_size_t (*png_process_data_pausePtr) (png_structp png_ptr, int save); /* 219 */
-    png_uint_32 (*png_process_data_skipPtr) (png_structp png_ptr); /* 220 */
-    void (*png_set_expand_16Ptr) (png_structp png_ptr); /* 221 */
-    void (*png_set_text_compression_levelPtr) (png_structp png_ptr, int level); /* 222 */
-    void (*png_set_text_compression_mem_levelPtr) (png_structp png_ptr, int mem_level); /* 223 */
-    void (*png_set_text_compression_strategyPtr) (png_structp png_ptr, int strategy); /* 224 */
-    void (*png_set_text_compression_window_bitsPtr) (png_structp png_ptr, int window_bits); /* 225 */
-    void (*png_set_text_compression_methodPtr) (png_structp pnt_ptr, int method); /* 226 */
-    void (*png_set_alpha_modePtr) (png_structp png_ptr, int mode, double output_gamma); /* 227 */
-    void (*png_set_alpha_mode_fixedPtr) (png_structp png_ptr, int mode, png_fixed_point output_gamma); /* 228 */
-    void (*png_set_scale_16Ptr) (png_structp png_ptr); /* 229 */
-    png_uint_32 (*png_get_cHRM_XYZPtr) (png_structp png_ptr, png_const_infop info_ptr, double *red_X, double *red_Y, double *red_Z, double *green_X, double *green_Y, double *green_Z, double *blue_X, double *blue_Y, double *blue_Z); /* 230 */
-    png_uint_32 (*png_get_cHRM_XYZ_fixedPtr) (png_structp png_ptr, png_const_infop info_ptr, png_fixed_point *int_red_X, png_fixed_point *int_red_Y, png_fixed_point *int_red_Z, png_fixed_point *int_green_X, png_fixed_point *int_green_Y, png_fixed_point *int_green_Z, png_fixed_point *int_blue_X, png_fixed_point *int_blue_Y, png_fixed_point *int_blue_Z); /* 231 */
-    void (*png_set_cHRM_XYZPtr) (png_structp png_ptr, png_infop info_ptr, double red_X, double red_Y, double red_Z, double green_X, double green_Y, double green_Z, double blue_X, double blue_Y, double blue_Z); /* 232 */
-    void (*png_set_cHRM_XYZ_fixedPtr) (png_structp png_ptr, png_infop info_ptr, png_fixed_point int_red_X, png_fixed_point int_red_Y, png_fixed_point int_red_Z, png_fixed_point int_green_X, png_fixed_point int_green_Y, png_fixed_point int_green_Z, png_fixed_point int_blue_X, png_fixed_point int_blue_Y, png_fixed_point int_blue_Z); /* 233 */
+    void (*png_set_gamma_fixedPtr) (png_structrp png_ptr, png_fixed_point screen_gamma, png_fixed_point override_file_gamma); /* 208 */
+    void (*png_set_filter_heuristics_fixedPtr) (png_structrp png_ptr, int heuristic_method, int num_weights, png_const_fixed_point_p filter_weights, png_const_fixed_point_p filter_costs); /* 209 */
+    png_fixed_point (*png_get_pixel_aspect_ratio_fixedPtr) (png_const_structrp png_ptr, png_const_inforp info_ptr); /* 210 */
+    png_fixed_point (*png_get_x_offset_inches_fixedPtr) (png_const_structrp png_ptr, png_const_inforp info_ptr); /* 211 */
+    png_fixed_point (*png_get_y_offset_inches_fixedPtr) (png_const_structrp png_ptr, png_const_inforp info_ptr); /* 212 */
+    void (*png_set_sCAL_fixedPtr) (png_const_structrp png_ptr, png_inforp info_ptr, int unit, png_fixed_point width, png_fixed_point height); /* 213 */
+    png_uint_32 (*png_get_sCAL_fixedPtr) (png_const_structrp png_ptr, png_const_inforp info_ptr, int *unit, png_fixed_point *width, png_fixed_point *height); /* 214 */
+    void (*png_set_background_fixedPtr) (png_structrp png_ptr, png_const_color_16p background_color, int background_gamma_code, int need_expand, png_fixed_point background_gamma); /* 215 */
+    png_uint_32 (*png_get_io_chunk_typePtr) (png_const_structrp png_ptr); /* 216 */
+    png_uint_32 (*png_get_current_row_numberPtr) (png_const_structrp png_ptr); /* 217 */
+    png_byte (*png_get_current_pass_numberPtr) (png_const_structrp png_ptr); /* 218 */
+    png_size_t (*png_process_data_pausePtr) (png_structrp png_ptr, int save); /* 219 */
+    png_uint_32 (*png_process_data_skipPtr) (png_structrp png_ptr); /* 220 */
+    void (*png_set_expand_16Ptr) (png_structrp png_ptr); /* 221 */
+    void (*png_set_text_compression_levelPtr) (png_structrp png_ptr, int level); /* 222 */
+    void (*png_set_text_compression_mem_levelPtr) (png_structrp png_ptr, int mem_level); /* 223 */
+    void (*png_set_text_compression_strategyPtr) (png_structrp png_ptr, int strategy); /* 224 */
+    void (*png_set_text_compression_window_bitsPtr) (png_structrp png_ptr, int window_bits); /* 225 */
+    void (*png_set_text_compression_methodPtr) (png_structrp pnt_ptr, int method); /* 226 */
+    void (*png_set_alpha_modePtr) (png_structrp png_ptr, int mode, double output_gamma); /* 227 */
+    void (*png_set_alpha_mode_fixedPtr) (png_structrp png_ptr, int mode, png_fixed_point output_gamma); /* 228 */
+    void (*png_set_scale_16Ptr) (png_structrp png_ptr); /* 229 */
+    png_uint_32 (*png_get_cHRM_XYZPtr) (png_const_structrp png_ptr, png_const_inforp info_ptr, double *red_X, double *red_Y, double *red_Z, double *green_X, double *green_Y, double *green_Z, double *blue_X, double *blue_Y, double *blue_Z); /* 230 */
+    png_uint_32 (*png_get_cHRM_XYZ_fixedPtr) (png_const_structrp png_ptr, png_const_inforp info_ptr, png_fixed_point *int_red_X, png_fixed_point *int_red_Y, png_fixed_point *int_red_Z, png_fixed_point *int_green_X, png_fixed_point *int_green_Y, png_fixed_point *int_green_Z, png_fixed_point *int_blue_X, png_fixed_point *int_blue_Y, png_fixed_point *int_blue_Z); /* 231 */
+    void (*png_set_cHRM_XYZPtr) (png_const_structrp png_ptr, png_inforp info_ptr, double red_X, double red_Y, double red_Z, double green_X, double green_Y, double green_Z, double blue_X, double blue_Y, double blue_Z); /* 232 */
+    void (*png_set_cHRM_XYZ_fixedPtr) (png_const_structrp png_ptr, png_inforp info_ptr, png_fixed_point int_red_X, png_fixed_point int_red_Y, png_fixed_point int_red_Z, png_fixed_point int_green_X, png_fixed_point int_green_Y, png_fixed_point int_green_Z, png_fixed_point int_blue_X, png_fixed_point int_blue_Y, png_fixed_point int_blue_Z); /* 233 */
+    int (*png_image_begin_read_from_filePtr) (png_imagep image, PNG_CONST char *file_name); /* 234 */
+    int (*png_image_begin_read_from_stdioPtr) (png_imagep image, FILE* file); /* 235 */
+    int (*png_image_begin_read_from_memoryPtr) (png_imagep image, png_const_voidp memory, png_size_t size); /* 236 */
+    int (*png_image_finish_readPtr) (png_imagep image, png_const_colorp background, void *buffer, png_int_32 row_stride, void *colormap); /* 237 */
+    void (*png_image_freePtr) (png_imagep image); /* 238 */
+    int (*png_image_write_to_filePtr) (png_imagep image, PNG_CONST char *file, int convert_to_8bit, PNG_CONST void *buffer, png_int_32 row_stride, const void *colormap); /* 239 */
+    int (*png_image_write_to_stdioPtr) (png_imagep image, FILE *file, int convert_to_8_bit, PNG_CONST void *buffer, png_int_32 row_stride, PNG_CONST void *colormap); /* 240 */
+    int (*png_convert_to_rfc1123_bufferPtr) (char out[29], png_const_timep ptime); /* 241 */
+    void (*png_set_check_for_invalid_indexPtr) (png_structrp png_ptr, int allowed); /* 242 */
+    int (*png_get_palette_maxPtr) (png_const_structp png_ptr, png_const_infop info_ptr); /* 243 */
+    int (*png_set_optionPtr) (png_structrp png_ptr, int option, int onoff); /* 244 */
 } PngtclStubs;
 
 #ifdef __cplusplus
@@ -1535,6 +1583,28 @@ PNG_IMPEXP const PngtclStubs *pngtclStub
 	(pngtclStubsPtr->png_set_cHRM_XYZPtr) /* 232 */
 #define png_set_cHRM_XYZ_fixed \
 	(pngtclStubsPtr->png_set_cHRM_XYZ_fixedPtr) /* 233 */
+#define png_image_begin_read_from_file \
+	(pngtclStubsPtr->png_image_begin_read_from_filePtr) /* 234 */
+#define png_image_begin_read_from_stdio \
+	(pngtclStubsPtr->png_image_begin_read_from_stdioPtr) /* 235 */
+#define png_image_begin_read_from_memory \
+	(pngtclStubsPtr->png_image_begin_read_from_memoryPtr) /* 236 */
+#define	png_image_finish_read \
+	(pngtclStubsPtr->png_image_finish_readPtr) /* 237 */
+#define png_image_free \
+	(pngtclStubsPtr->png_image_freePtr) /* 238 */
+#define png_image_write_to_file \
+	(pngtclStubsPtr->png_image_write_to_filePtr) /* 239 */
+#define png_image_write_to_stdio \
+	(pngtclStubsPtr->png_image_write_to_stdioPtr) /* 240 */
+#define png_convert_to_rfc1123_buffer \
+	(pngtclStubsPtr->png_convert_to_rfc1123_bufferPtr) /* 241 */
+#define png_set_check_for_invalid_index \
+	(pngtclStubsPtr->png_set_check_for_invalid_indexPtr) /* 242 */
+#define png_get_palette_max \
+	(pngtclStubsPtr->png_get_palette_maxPtr) /* 243 */
+#define png_set_option \
+	(pngtclStubsPtr->png_set_optionPtr) /* 244 */
 
 #endif /* defined(USE_PNGTCL_STUBS) */
 
diff -up tkimg1.4/libpng/pngtclStubInit.c.png17 tkimg1.4/libpng/pngtclStubInit.c
--- tkimg1.4/libpng/pngtclStubInit.c.png17	2015-03-10 10:33:45.789718735 -0400
+++ tkimg1.4/libpng/pngtclStubInit.c	2015-03-10 10:33:49.186692665 -0400
@@ -945,6 +945,49 @@ const PngtclStubs pngtclStubs = {
 #else  /* !PNG_cHRM_SUPPORTED */
     png_set_cHRM_XYZ_fixed, /* 233 */
 #endif /* !PNG_cHRM_SUPPORTED */
+#if !defined(PNG_STDIO_SUPPORTED)
+    0, /* 234 */
+    0, /* 235 */
+#else /* !PNG_STDIO_SUPPORTED */
+    png_image_begin_read_from_file, /* 234 */
+    png_image_begin_read_from_stdio, /* 235 */
+#endif /* !PNG_STDIO_SUPPORTED */
+#if !defined(PNG_SIMPLIFIED_READ_SUPPORTED)
+    0, /* 236 */
+    0, /* 237 */
+    0, /* 238 */
+#else /* !PNG_SIMPLIFIED_READ_SUPPORTED */
+    png_image_begin_read_from_memory, /* 236 */
+    png_image_finish_read, /* 237 */
+    png_image_free, /* 238 */
+#endif /* !PNG_SIMPLIFIED_READ_SUPPORTED */
+#if !defined(PNG_STDIO_SUPPORTED)
+    0, /* 239 */
+    0, /* 240 */
+#else /* !PNG_STDIO_SUPPORTED */
+    png_image_write_to_file, /* 239 */
+    png_image_write_to_stdio, /* 240 */
+#endif /* !PNG_STDIO_SUPPORTED */
+#if !defined(PNG_TIME_RFC1123_SUPPORTED)
+    0, /* 241 */
+#else /* !PNG_TIME_RFC1123_SUPPORTED */
+    png_convert_to_rfc1123_buffer, /* 241 */
+#endif /* !PNG_TIME_RFC1123_SUPPORTED */
+#if !defined(PNG_CHECK_FOR_INVALID_INDEX_SUPPORTED)
+    0, /* 242 */
+#else /* !PNG_CHECK_FOR_INVALID_INDEX_SUPPORTED */
+    png_set_check_for_invalid_index, /* 242 */
+#endif /* !PNG_CHECK_FOR_INVALID_INDEX_SUPPORTED */
+#if !defined(PNG_GET_PALETTE_MAX_SUPPORTED)
+    0, /* 243 */
+#else /* !PNG_GET_PALETTE_MAX_SUPPORTED */
+    png_get_palette_max, /* 243 */
+#endif /* !PNG_GET_PALETTE_MAX_SUPPORTED */
+#if !defined(PNG_SET_OPTION_SUPPORTED)
+    0, /* 244 */
+#else /* !PNG_SET_OPTION_SUPPORTED */
+    png_set_option, /* 244 */
+#endif /* !PNG_SET_OPTION_SUPPORTED */
 };
 
 /* !END!: Do not edit above this line. */
diff -up tkimg1.4/png/png.c.png16 tkimg1.4/png/png.c
--- tkimg1.4/png/png.c.png16	2015-03-10 10:41:53.372976000 -0400
+++ tkimg1.4/png/png.c	2015-03-10 10:42:18.746781230 -0400
@@ -332,6 +332,16 @@ CommonReadPNG(png_ptr, interp, format, i
 	png_set_expand(png_ptr);
     }
 
+    if (png_get_sRGB && png_get_sRGB(png_ptr, info_ptr, &intent)) {
+        png_set_sRGB(png_ptr, info_ptr, intent);
+    } else if (png_get_gAMA) {
+        double gamma;
+        if (!png_get_gAMA(png_ptr, info_ptr, &gamma)) {
+            gamma = 0.45455;
+        }
+       	png_set_gamma(png_ptr, 1.0, gamma);
+    }
+
     png_read_update_info(png_ptr,info_ptr);
     block.pixelSize = png_get_channels(png_ptr, info_ptr);
     block.pitch = png_get_rowbytes(png_ptr, info_ptr);
@@ -353,16 +363,6 @@ CommonReadPNG(png_ptr, interp, format, i
 	block.offset[3] = 0;
     }
 
-    if (png_get_sRGB && png_get_sRGB(png_ptr, info_ptr, &intent)) {
-	png_set_sRGB(png_ptr, info_ptr, intent);
-    } else if (png_get_gAMA) {
-	double gamma;
-	if (!png_get_gAMA(png_ptr, info_ptr, &gamma)) {
-	    gamma = 0.45455;
-	}
-	png_set_gamma(png_ptr, 1.0, gamma);
-    }
-
     png_data= (char **) ckalloc(sizeof(char *) * info_height +
 	    info_height * block.pitch);