1 <!DOCTYPE REFENTRY PUBLIC "-//Sun Microsystems//DTD DocBook V3.0-Based SolBook Subset V2.0//EN" [ 2 <!--ArborText, Inc., 1988-1999, v.4002--> 3 <!--ARC : LSARC 2003/085 libtiff, libjpeg, and libpng--> 4 <!ENTITY synp-tt "SYNOPSIS"> 5 <!ENTITY cmd "libpng"> 6 <!ENTITY % commonents SYSTEM "smancommon.ent"> 7 %commonents; 8 <!ENTITY % gnomecommonents SYSTEM "gnomecommon.ent"> 9 %gnomecommonents; 10 <!ENTITY % booktitles SYSTEM "booktitles.ent"> 11 %booktitles; 12 <!ENTITY suncopy "Copyright (c) 2004, Sun Microsystems, Inc. All Rights Reserved."> 13 ]> 14 <?Pub UDT _bookmark _target> 15 <?Pub EntList brvbar bull cross dash diam diams frac12 frac13 frac14 hellip 16 laquo lArr loz mdash nabla ndash para pound rArr raquo sect yen lt gt> 17 <?Pub Inc> 18 <?PubInc> 19 <refentry id="libpng-3"> 20 <!-- %Z%%M% %I% %E% SMI; --> 21 <refmeta><refentrytitle>libpng</refentrytitle><manvolnum>3</manvolnum> 22 <refmiscinfo class="date">06 Apr 2004</refmiscinfo> 23 <refmiscinfo class="sectdesc">&man3;</refmiscinfo> 24 <refmiscinfo class="software">&release;</refmiscinfo> 25 <refmiscinfo class="arch">generic</refmiscinfo> 26 <refmiscinfo class="copyright">&suncopy;</refmiscinfo> 27 </refmeta> 28 <indexterm><primary>libpng</primary></indexterm><indexterm><primary>Portable 29 Network Graphics (PNG) Reference Library</primary></indexterm> 30 <refnamediv id="libpng-3-name"><refname>libpng</refname><refpurpose>Portable 31 Network Graphics (PNG) Reference Library</refpurpose></refnamediv> 32 <refsect1 id="libpng-3-synp"><title>&synp-tt;</title> 33 <programlisting>#include <png.h> 34 35 cc [ flag ...] -I/usr/sfw/include file [ library ... ] - 36 L/usr/sfw/lib -R/usr/sfw/lib -lpng 37 38 png_uint_32 png_access_version_number (void); 39 40 int png_check_sig (png_bytep sig, int num); 41 42 void png_chunk_error (png_structp png_ptr, png_const_charp 43 error); 44 45 void png_chunk_warning (png_structp png_ptr, png_const_charp 46 message); 47 48 void png_convert_from_struct_tm (png_timep ptime, struct tm 49 FAR * ttime); 50 51 void png_convert_from_time_t (png_timep ptime, time_t 52 ttime); 53 54 png_charp png_convert_to_rfc1124 (png_structp png_ptr, 55 png_timep ptime); 56 57 png_infop png_create_info_struct (png_structp png_ptr); 58 59 png_structp png_create_read_struct (png_const_charp 60 user_png_ver, png_voidp error_ptr, png_error_ptr error_fn, 61 png_error_ptr warn_fn); 62 63 png_structp png_create_read_struct_2(png_const_charp 64 user_png_ver, png_voidp error_ptr, png_error_ptr error_fn, 65 png_error_ptr warn_fn, png_voidp mem_ptr, png_malloc_ptr 66 malloc_fn, png_free_ptr free_fn); 67 68 png_structp png_create_write_struct (png_const_charp 69 user_png_ver, png_voidp error_ptr, png_error_ptr error_fn, 70 png_error_ptr warn_fn); 71 72 png_structp png_create_write_struct_2(png_const_charp 73 user_png_ver, png_voidp error_ptr, png_error_ptr error_fn, 74 png_error_ptr warn_fn, png_voidp mem_ptr, png_malloc_ptr 75 malloc_fn, png_free_ptr free_fn); 76 77 int png_debug(int level, png_const_charp message); 78 79 int png_debug1(int level, png_const_charp message, p1); 80 81 int png_debug2(int level, png_const_charp message, p1, p2); 82 83 void png_destroy_info_struct (png_structp png_ptr, 84 png_infopp info_ptr_ptr); 85 86 void png_destroy_read_struct (png_structpp png_ptr_ptr, 87 png_infopp info_ptr_ptr, png_infopp end_info_ptr_ptr); 88 89 void png_destroy_write_struct (png_structpp png_ptr_ptr, 90 png_infopp info_ptr_ptr); 91 92 void png_error (png_structp png_ptr, png_const_charp error); 93 94 void png_free (png_structp png_ptr, png_voidp ptr); 95 96 void png_free_chunk_list (png_structp png_ptr); 97 98 void png_free_default(png_structp png_ptr, png_voidp ptr); 99 100 void png_free_data (png_structp png_ptr, png_infop info_ptr, 101 int num); 102 103 png_byte png_get_bit_depth (png_structp png_ptr, png_infop 104 info_ptr); 105 106 png_uint_32 png_get_bKGD (png_structp png_ptr, png_infop 107 info_ptr, png_color_16p *background); 108 109 png_byte png_get_channels (png_structp png_ptr, png_infop 110 info_ptr); 111 112 png_uint_32 png_get_cHRM (png_structp png_ptr, png_infop 113 info_ptr, double *white_x, double *white_y, double *red_x, 114 double *red_y, double *green_x, double *green_y, double 115 *blue_x, double *blue_y); 116 117 png_uint_32 png_get_cHRM_fixed (png_structp png_ptr, 118 png_infop info_ptr, png_uint_32 *white_x, png_uint_32 119 *white_y, png_uint_32 *red_x, png_uint_32 *red_y, 120 png_uint_32 *green_x, png_uint_32 *green_y, png_uint_32 121 *blue_x, png_uint_32 *blue_y); 122 123 png_byte png_get_color_type (png_structp png_ptr, png_infop 124 info_ptr); 125 126 png_byte png_get_compression_type (png_structp png_ptr, 127 png_infop info_ptr); 128 129 png_byte png_get_copyright (png_structp png_ptr); 130 131 png_voidp png_get_error_ptr (png_structp png_ptr); 132 133 png_byte png_get_filter_type (png_structp png_ptr, png_infop 134 info_ptr); 135 136 png_uint_32 png_get_gAMA (png_structp png_ptr, png_infop 137 info_ptr, double *file_gamma); 138 139 png_uint_32 png_get_gAMA_fixed (png_structp png_ptr, 140 png_infop info_ptr, png_uint_32 *int_file_gamma); 141 142 png_byte png_get_header_ver (png_structp png_ptr); 143 144 png_byte png_get_header_version (png_structp png_ptr); 145 146 png_uint_32 png_get_hIST (png_structp png_ptr, png_infop 147 info_ptr, png_uint_16p *hist); 148 149 png_uint_32 png_get_iCCP (png_structp png_ptr, png_infop 150 info_ptr, png_charpp name, int *compression_type, png_charpp 151 profile, png_uint_32 *proflen); 152 153 png_uint_32 png_get_IHDR (png_structp png_ptr, png_infop 154 info_ptr, png_uint_32 *width, png_uint_32 *height, int 155 *bit_depth, int *color_type, int *interlace_type, int 156 *compression_type, int *filter_type); 157 158 png_uint_32 png_get_image_height (png_structp png_ptr, 159 png_infop info_ptr); 160 161 png_uint_32 png_get_image_width (png_structp png_ptr, 162 png_infop info_ptr); 163 164 png_byte png_get_interlace_type (png_structp png_ptr, 165 png_infop info_ptr); 166 167 png_voidp png_get_io_ptr (png_structp png_ptr); 168 169 png_byte png_get_libpng_ver (png_structp png_ptr); 170 171 png_voidp png_get_mem_ptr(png_structp png_ptr); 172 173 png_uint_32 png_get_oFFs (png_structp png_ptr, png_infop 174 info_ptr, png_uint_32 *offset_x, png_uint_32 *offset_y, int 175 *unit_type); 176 177 png_uint_32 png_get_pCAL (png_structp png_ptr, png_infop 178 info_ptr, png_charp *purpose, png_int_32 *X0, png_int_32 179 *X1, int *type, int *nparams, png_charp *units, png_charpp 180 *params); 181 182 png_uint_32 png_get_pHYs (png_structp png_ptr, png_infop 183 info_ptr, png_uint_32 *res_x, png_uint_32 *res_y, int 184 *unit_type); 185 186 float png_get_pixel_aspect_ratio (png_structp png_ptr, 187 png_infop info_ptr); 188 189 png_uint_32 png_get_pixels_per_meter (png_structp png_ptr, 190 png_infop info_ptr); 191 192 png_voidp png_get_progressive_ptr (png_structp png_ptr); 193 194 png_uint_32 png_get_PLTE (png_structp png_ptr, png_infop 195 info_ptr, png_colorp *palette, int *num_palette); 196 197 png_byte png_get_rgb_to_gray_status (png_structp png_ptr) 198 199 png_uint_32 png_get_rowbytes (png_structp png_ptr, png_infop 200 info_ptr); 201 202 png_bytepp png_get_rows (png_structp png_ptr, png_infop 203 info_ptr); 204 205 png_uint_32 png_get_sBIT (png_structp png_ptr, png_infop 206 info_ptr, png_color_8p *sig_bit); 207 208 png_bytep png_get_signature (png_structp png_ptr, png_infop 209 info_ptr); 210 211 png_uint_32 png_get_sPLT (png_structp png_ptr, png_infop 212 info_ptr, png_spalette_p *splt_ptr); 213 214 png_uint_32 png_get_sRGB (png_structp png_ptr, png_infop 215 info_ptr, int *intent); 216 217 png_uint_32 png_get_text (png_structp png_ptr, png_infop 218 info_ptr, png_textp *text_ptr, int *num_text); 219 220 png_uint_32 png_get_tIME (png_structp png_ptr, png_infop 221 info_ptr, png_timep *mod_time); 222 223 png_uint_32 png_get_tRNS (png_structp png_ptr, png_infop 224 info_ptr, png_bytep *trans, int *num_trans, png_color_16p 225 *trans_values); 226 227 png_uint_32 png_get_unknown_chunks (png_structp png_ptr, 228 png_infop info_ptr, png_unknown_chunkpp unknowns); 229 230 png_voidp png_get_user_chunk_ptr (png_structp png_ptr); 231 232 png_voidp png_get_user_transform_ptr (png_structp png_ptr); 233 234 png_uint_32 png_get_valid (png_structp png_ptr, png_infop 235 info_ptr, png_uint_32 flag); 236 237 png_int_32 png_get_x_offset_microns (png_structp png_ptr, 238 png_infop info_ptr); 239 240 png_int_32 png_get_x_offset_pixels (png_structp png_ptr, 241 png_infop info_ptr); 242 243 png_uint_32 png_get_x_pixels_per_meter (png_structp png_ptr, 244 png_infop info_ptr); 245 246 png_int_32 png_get_y_offset_microns (png_structp png_ptr, 247 png_infop info_ptr); 248 249 png_int_32 png_get_y_offset_pixels (png_structp png_ptr, 250 png_infop info_ptr); 251 252 png_uint_32 png_get_y_pixels_per_meter (png_structp png_ptr, 253 png_infop info_ptr); 254 255 png_uint_32 png_get_compression_buffer_size (png_structp 256 png_ptr); 257 258 void png_info_init (png_infop info_ptr); 259 260 void png_init_io (png_structp png_ptr, FILE *fp); 261 262 png_voidp png_malloc (png_structp png_ptr, png_uint_32 263 size); 264 265 png_voidp png_malloc_default(png_structp png_ptr, 266 png_uint_32 size); 267 268 voidp png_memcpy (png_voidp s1, png_voidp s2, png_size_t 269 size); 270 271 png_voidp png_memcpy_check (png_structp png_ptr, png_voidp 272 s1, png_voidp s2, png_uint_32 size); 273 274 voidp png_memset (png_voidp s1, int value, png_size_t size); 275 276 png_voidp png_memset_check (png_structp png_ptr, png_voidp 277 s1, int value, png_uint_32 size); 278 279 void png_permit_empty_plte (png_structp png_ptr, int 280 empty_plte_permitted); 281 282 void png_process_data (png_structp png_ptr, png_infop 283 info_ptr, png_bytep buffer, png_size_t buffer_size); 284 285 void png_progressive_combine_row (png_structp png_ptr, 286 png_bytep old_row, png_bytep new_row); 287 288 void png_read_destroy (png_structp png_ptr, png_infop 289 info_ptr, png_infop end_info_ptr); 290 291 void png_read_end (png_structp png_ptr, png_infop info_ptr); 292 293 void png_read_image (png_structp png_ptr, png_bytepp image); 294 295 DEPRECATED: void png_read_init (png_structp png_ptr); 296 297 DEPRECATED: void png_read_init_2 (png_structp png_ptr, 298 png_const_charp user_png_ver, png_size_t png_struct_size, 299 png_size_t png_info_size); 300 301 void png_read_info (png_structp png_ptr, png_infop 302 info_ptr); 303 304 void png_read_png (png_structp png_ptr, png_infop info_ptr, 305 int transforms, png_voidp params); 306 307 void png_read_row (png_structp png_ptr, png_bytep row, 308 png_bytep display_row); 309 310 void png_read_rows (png_structp png_ptr, png_bytepp row, 311 png_bytepp display_row, png_uint_32 num_rows); 312 313 void png_read_update_info (png_structp png_ptr, png_infop 314 info_ptr); 315 316 void png_set_background (png_structp png_ptr, png_color_16p 317 background_color, int background_gamma_code, int 318 need_expand, double background_gamma); 319 320 void png_set_bgr (png_structp png_ptr); 321 322 void png_set_bKGD (png_structp png_ptr, png_infop info_ptr, 323 png_color_16p background); 324 325 void png_set_cHRM (png_structp png_ptr, png_infop info_ptr, 326 double white_x, double white_y, double red_x, double red_y, 327 double green_x, double green_y, double blue_x, double 328 blue_y); 329 330 void png_set_cHRM_fixed (png_structp png_ptr, png_infop 331 info_ptr, png_uint_32 white_x, png_uint_32 white_y, 332 png_uint_32 red_x, png_uint_32 red_y, png_uint_32 green_x, 333 png_uint_32 green_y, png_uint_32 blue_x, png_uint_32 334 blue_y); 335 336 void png_set_compression_level (png_structp png_ptr, int 337 level); 338 339 void png_set_compression_mem_level (png_structp png_ptr, int 340 mem_level); 341 342 void png_set_compression_method (png_structp png_ptr, int 343 method); 344 345 void png_set_compression_strategy (png_structp png_ptr, int 346 strategy); 347 348 void png_set_compression_window_bits (png_structp png_ptr, 349 int window_bits); 350 351 void png_set_crc_action (png_structp png_ptr, int 352 crit_action, int ancil_action); 353 354 void png_set_dither (png_structp png_ptr, png_colorp 355 palette, int num_palette, int maximum_colors, png_uint_16p 356 histogram, int full_dither); 357 358 void png_set_error_fn (png_structp png_ptr, png_voidp 359 error_ptr, png_error_ptr error_fn, png_error_ptr 360 warning_fn); 361 362 void png_set_expand (png_structp png_ptr); 363 364 void png_set_filler (png_structp png_ptr, png_uint_32 365 filler, int flags); 366 367 void png_set_filter (png_structp png_ptr, int method, int 368 filters); 369 370 void png_set_filter_heuristics (png_structp png_ptr, int 371 heuristic_method, int num_weights, png_doublep 372 filter_weights, png_doublep filter_costs); 373 374 void png_set_flush (png_structp png_ptr, int nrows); 375 376 void png_set_gamma (png_structp png_ptr, double 377 screen_gamma, double default_file_gamma); 378 379 void png_set_gAMA (png_structp png_ptr, png_infop info_ptr, 380 double file_gamma); 381 382 void png_set_gAMA_fixed (png_structp png_ptr, png_infop 383 info_ptr, png_uint_32 file_gamma); 384 385 void png_set_gray_1_2_4_to_8(png_structp png_ptr); 386 387 void png_set_gray_to_rgb (png_structp png_ptr); 388 389 void png_set_hIST (png_structp png_ptr, png_infop info_ptr, 390 png_uint_16p hist); 391 392 void png_set_iCCP (png_structp png_ptr, png_infop info_ptr, 393 png_charp name, int compression_type, png_charp profile, 394 png_uint_32 proflen); 395 396 int png_set_interlace_handling (png_structp png_ptr); 397 398 void png_set_invalid (png_structp png_ptr, png_infop 399 info_ptr, int mask); 400 401 void png_set_invert_alpha (png_structp png_ptr); 402 403 void png_set_invert_mono (png_structp png_ptr); 404 405 void png_set_IHDR (png_structp png_ptr, png_infop info_ptr, 406 png_uint_32 width, png_uint_32 height, int bit_depth, int 407 color_type, int interlace_type, int compression_type, int 408 filter_type); 409 410 void png_set_keep_unknown_chunks (png_structp png_ptr, int 411 keep, png_bytep chunk_list, int num_chunks); 412 413 void png_set_mem_fn(png_structp png_ptr, png_voidp mem_ptr, 414 png_malloc_ptr malloc_fn, png_free_ptr free_fn); 415 416 void png_set_oFFs (png_structp png_ptr, png_infop info_ptr, 417 png_uint_32 offset_x, png_uint_32 offset_y, int unit_type); 418 419 void png_set_packing (png_structp png_ptr); 420 421 void png_set_packswap (png_structp png_ptr); 422 423 void png_set_palette_to_rgb(png_structp png_ptr); 424 425 void png_set_pCAL (png_structp png_ptr, png_infop info_ptr, 426 png_charp purpose, png_int_32 X0, png_int_32 X1, int type, 427 int nparams, png_charp units, png_charpp params); 428 429 void png_set_pHYs (png_structp png_ptr, png_infop info_ptr, 430 png_uint_32 res_x, png_uint_32 res_y, int unit_type); 431 432 void png_set_progressive_read_fn (png_structp png_ptr, 433 png_voidp progressive_ptr, png_progressive_info_ptr info_fn, 434 png_progressive_row_ptr row_fn, png_progressive_end_ptr 435 end_fn); 436 437 void png_set_PLTE (png_structp png_ptr, png_infop info_ptr, 438 png_colorp palette, int num_palette); 439 440 void png_set_read_fn (png_structp png_ptr, png_voidp io_ptr, 441 png_rw_ptr read_data_fn); 442 443 void png_set_read_status_fn (png_structp png_ptr, 444 png_read_status_ptr read_row_fn); 445 446 void png_set_read_user_transform_fn (png_structp png_ptr, 447 png_user_transform_ptr read_user_transform_fn); 448 449 void png_set_rgb_to_gray (png_structp png_ptr, int 450 error_action, double red, double green); 451 452 void png_set_rgb_to_gray_fixed (png_structp png_ptr, int 453 error_action png_fixed_point red, png_fixed_point green); 454 455 void png_set_rows (png_structp png_ptr, png_infop info_ptr, 456 png_bytepp row_pointers); 457 458 void png_set_sBIT (png_structp png_ptr, png_infop info_ptr, 459 png_color_8p sig_bit); 460 461 void png_set_sCAL (png_structp png_ptr, png_infop info_ptr, 462 png_charp unit, double width, double height); 463 464 void png_set_shift (png_structp png_ptr, png_color_8p 465 true_bits); 466 467 void png_set_sig_bytes (png_structp png_ptr, int num_bytes); 468 469 void png_set_sPLT (png_structp png_ptr, png_infop info_ptr, 470 png_spalette_p splt_ptr, int num_spalettes); 471 472 void png_set_sRGB (png_structp png_ptr, png_infop info_ptr, 473 int intent); 474 475 void png_set_sRGB_gAMA_and_cHRM (png_structp png_ptr, 476 png_infop info_ptr, int intent); 477 478 void png_set_strip_16 (png_structp png_ptr); 479 480 void png_set_strip_alpha (png_structp png_ptr); 481 482 void png_set_swap (png_structp png_ptr); 483 484 void png_set_swap_alpha (png_structp png_ptr); 485 486 void png_set_text (png_structp png_ptr, png_infop info_ptr, 487 png_textp text_ptr, int num_text); 488 489 void png_set_tIME (png_structp png_ptr, png_infop info_ptr, 490 png_timep mod_time); 491 492 void png_set_tRNS (png_structp png_ptr, png_infop info_ptr, 493 png_bytep trans, int num_trans, png_color_16p trans_values); 494 495 void png_set_tRNS_to_alpha(png_structp png_ptr); 496 497 png_uint_32 png_set_unknown_chunks (png_structp png_ptr, 498 png_infop info_ptr, png_unknown_chunkp unknowns, int num, 499 int location); 500 501 void png_set_unknown_chunk_location(png_structp png_ptr, 502 png_infop info_ptr, int chunk, int location); 503 504 void png_set_read_user_chunk_fn (png_structp png_ptr, 505 png_voidp user_chunk_ptr, png_user_chunk_ptr 506 read_user_chunk_fn); 507 508 void png_set_user_transform_info (png_structp png_ptr, 509 png_voidp user_transform_ptr, int user_transform_depth, int 510 user_transform_channels); 511 512 void png_set_write_fn (png_structp png_ptr, png_voidp 513 io_ptr, png_rw_ptr write_data_fn, png_flush_ptr 514 output_flush_fn); 515 516 void png_set_write_status_fn (png_structp png_ptr, 517 png_write_status_ptr write_row_fn); 518 519 void png_set_write_user_transform_fn (png_structp png_ptr, 520 png_user_transform_ptr write_user_transform_fn); 521 522 void png_set_compression_buffer_size(png_structp png_ptr, 523 png_uint_32 size); 524 525 int png_sig_cmp (png_bytep sig, png_size_t start, png_size_t 526 num_to_check); 527 528 void png_start_read_image (png_structp png_ptr); 529 530 void png_warning (png_structp png_ptr, png_const_charp mes- 531 sage); 532 533 void png_write_chunk (png_structp png_ptr, png_bytep 534 chunk_name, png_bytep data, png_size_t length); 535 536 void png_write_chunk_data (png_structp png_ptr, png_bytep 537 data, png_size_t length); 538 539 void png_write_chunk_end (png_structp png_ptr); 540 541 void png_write_chunk_start (png_structp png_ptr, png_bytep 542 chunk_name, png_uint_32 length); 543 544 void png_write_destroy (png_structp png_ptr); 545 546 void png_write_destroy_info (png_infop info_ptr); 547 548 void png_write_end (png_structp png_ptr, png_infop 549 info_ptr); 550 551 void png_write_flush (png_structp png_ptr); 552 553 void png_write_image (png_structp png_ptr, png_bytepp 554 image); 555 556 DEPRECATED: void png_write_init (png_structp png_ptr); 557 558 DEPRECATED: void png_write_init_2 (png_structp png_ptr, 559 png_const_charp user_png_ver, png_size_t png_struct_size, 560 png_size_t png_info_size); 561 562 void png_write_info (png_structp png_ptr, png_infop 563 info_ptr); 564 565 void png_write_info_before_PLTE (png_structp png_ptr, 566 png_infop info_ptr); 567 568 void png_write_png (png_structp png_ptr, png_infop info_ptr, 569 int transforms, png_voidp params); 570 571 void png_write_row (png_structp png_ptr, png_bytep row); 572 573 void png_write_rows (png_structp png_ptr, png_bytepp row, 574 575 png_uint_32 num_rows);</programlisting> 576 </refsect1> 577 <refsect1 id="libpng-3-desc"><title>&desc-tt;</title> 578 <para>The <filename>libpng</filename> library supports encoding, decoding, 579 and various manipulations of the Portable Network Graphics (PNG) format image 580 files. The <filename>libpng</filename> library uses the <literal>zlib(3)</literal> 581 compression library.</para> 582 <para>For more information about libpng V1.0.15, see 583 <literal>http://www.libpng.org/pub/png/libpng-1.0.15-manual.txt 584 </literal></para> 585 <para>For more information about libpng V1.2.5, see 586 <literal>http://www.libpng.org/pub/png/libpng-manual.txt</literal></para> 587 </refsect1> 588 <refsect1 id="libpng-3-exde"><title>&exde-tt;</title> 589 <refsect2 id="libpng-3-exde-versions"> 590 <title>Version Numbers</title> 591 <para>Due to various miscommunications, unforeseen code incompatibilities 592 and occasional factors outside the authors' control, version numbering on 593 the library has not always been consistent and straightforward. The following 594 table summarizes matters since version 0.89c, which was the first widely used 595 release.</para> 596 <informaltable frame="all"> 597 <tgroup cols="4" colsep="1" rowsep="1"><colspec colname="COLSPEC0" colwidth="25*"> 598 <colspec colname="COLSPEC1" colwidth="25*"><colspec colname="COLSPEC2" colwidth="25*"> 599 <colspec colname="COLSPEC3" colwidth="25*"> 600 <thead> 601 <row rowsep="1"><entry colsep="1" rowsep="1"><para>source version</para></entry> 602 <entry colsep="1" rowsep="1"><para>png.h string</para></entry><entry colsep="1" 603 rowsep="1"><para>png.h int</para></entry><entry colsep="1" rowsep="1"><para> 604 shared-lib version</para></entry></row> 605 </thead> 606 <tbody> 607 <row><entry colsep="1" rowsep="1">0.89c ("beta 3")</entry><entry colsep="1" 608 rowsep="1">0.89</entry><entry colsep="1" rowsep="1">89</entry><entry colsep="1" 609 rowsep="1">1.0.89</entry></row> 610 <row><entry colsep="1" rowsep="1">0.90 ("beta 4")</entry><entry colsep="1" 611 rowsep="1">0.90</entry><entry colsep="1" rowsep="1">90</entry><entry colsep="1" 612 rowsep="1">0.90</entry></row> 613 <row><entry colsep="1" rowsep="1">0.95 ("beta 5")</entry><entry colsep="1" 614 rowsep="1">0.95</entry><entry colsep="1" rowsep="1">95</entry><entry colsep="1" 615 rowsep="1">0.95</entry></row> 616 <row><entry colsep="1" rowsep="1">0.96 ("beta 6")</entry><entry colsep="1" 617 rowsep="1">0.96</entry><entry colsep="1" rowsep="1">96</entry><entry colsep="1" 618 rowsep="1">0.96</entry></row> 619 <row><entry colsep="1" rowsep="1">0.97b ("beta 7")</entry><entry colsep="1" 620 rowsep="1">1.00.97</entry><entry colsep="1" rowsep="1">97</entry><entry colsep="1" 621 rowsep="1">1.0.1</entry></row> 622 <row><entry colsep="1" rowsep="1">0.97c</entry><entry colsep="1" rowsep="1"> 623 0.97</entry><entry colsep="1" rowsep="1">97</entry><entry colsep="1" rowsep="1"> 624 1.0.1</entry></row> 625 <row><entry colsep="1" rowsep="1">0.98</entry><entry colsep="1" rowsep="1"> 626 0.98</entry><entry colsep="1" rowsep="1">98</entry><entry colsep="1" rowsep="1"> 627 2.0.98</entry></row> 628 <row><entry colsep="1" rowsep="1">0.99</entry><entry colsep="1" rowsep="1"> 629 0.99</entry><entry colsep="1" rowsep="1">98</entry><entry colsep="1" rowsep="1"> 630 2.0.99</entry></row> 631 <row><entry colsep="1" rowsep="1">0.99a-m</entry><entry colsep="1" rowsep="1"> 632 0.99</entry><entry colsep="1" rowsep="1">99</entry><entry colsep="1" rowsep="1"> 633 2.0.99</entry></row> 634 <row><entry colsep="1" rowsep="1">1.00</entry><entry colsep="1" rowsep="1"> 635 1.00</entry><entry colsep="1" rowsep="1">100</entry><entry colsep="1" rowsep="1"> 636 2.1.0</entry></row> 637 <row><entry colsep="1" rowsep="1">1.0.0</entry><entry colsep="1" rowsep="1"> 638 1.0.0</entry><entry colsep="1" rowsep="1">100</entry><entry colsep="1" rowsep="1"> 639 2.1.0</entry></row> 640 <row><entry colsep="1" rowsep="1">1.0.0</entry><entry colsep="1" rowsep="1"> 641 *</entry><entry colsep="1" rowsep="1">100</entry><entry colsep="1" rowsep="1"> 642 2.1.0</entry></row> 643 <row><entry colsep="1" rowsep="1">1.0.1</entry><entry colsep="1" rowsep="1"></entry> 644 <entry colsep="1" rowsep="1">10001</entry><entry colsep="1" rowsep="1">2.1.0 645 </entry></row> 646 <row><entry colsep="1" rowsep="1">1.0.1a-e</entry><entry colsep="1" rowsep="1"></entry> 647 <entry colsep="1" rowsep="1">10002</entry><entry colsep="1" rowsep="1">#</entry> 648 </row> 649 <row><entry colsep="1" rowsep="1">1.0.2</entry><entry colsep="1" rowsep="1"></entry> 650 <entry colsep="1" rowsep="1">10002</entry><entry colsep="1" rowsep="1"></entry> 651 </row> 652 <row><entry colname="COLSPEC0" colsep="1" rowsep="1">1.0.2a-b</entry><entry 653 colname="COLSPEC1" colsep="1" rowsep="1"></entry><entry colname="COLSPEC2" 654 colsep="1" rowsep="1">10003</entry><entry colname="COLSPEC3" colsep="1" rowsep="1"></entry> 655 </row> 656 <row><entry colname="COLSPEC0" colsep="1" rowsep="1">1.0.1</entry><entry colname="COLSPEC1" 657 colsep="1" rowsep="1"></entry><entry colname="COLSPEC2" colsep="1" rowsep="1"> 658 10001</entry><entry colname="COLSPEC3" colsep="1" rowsep="1"></entry></row> 659 <row><entry colname="COLSPEC0">1.0.1a-e</entry><entry colname="COLSPEC1"></entry> 660 <entry colname="COLSPEC2">10002</entry><entry colname="COLSPEC3">2.1.0.1a-e 661 </entry></row> 662 <row><entry colname="COLSPEC0" colsep="1" rowsep="1">1.0.2</entry><entry colname="COLSPEC1" 663 colsep="1" rowsep="1"></entry><entry colname="COLSPEC2">10002</entry><entry 664 colname="COLSPEC3" colsep="1" rowsep="1">2.1.0.2</entry></row> 665 <row><entry colname="COLSPEC0" colsep="1" rowsep="1">1.0.2a-b</entry><entry 666 colname="COLSPEC1" colsep="1" rowsep="1"></entry><entry colname="COLSPEC2"> 667 10003</entry><entry colname="COLSPEC3" colsep="1" rowsep="1">2.1.0.2a-b</entry> 668 </row> 669 <row><entry colname="COLSPEC0" colsep="1" rowsep="1">1.0</entry><entry colname="COLSPEC1" 670 colsep="1" rowsep="1"></entry><entry colname="COLSPEC2" colsep="1" rowsep="1"> 671 10003</entry><entry colname="COLSPEC3" colsep="1" rowsep="1">2.1.0</entry> 672 </row> 673 <row><entry colname="COLSPEC0" colsep="1" rowsep="1">1.0a-d</entry><entry 674 colname="COLSPEC1" colsep="1" rowsep="1"></entry><entry colname="COLSPEC2" 675 colsep="1" rowsep="1">10004</entry><entry colname="COLSPEC3" colsep="1" rowsep="1"> 676 2.1.0a-d</entry></row> 677 <row><entry colname="COLSPEC0" colsep="1" rowsep="1">1.0.4</entry><entry colname="COLSPEC1" 678 colsep="1" rowsep="1"></entry><entry colname="COLSPEC2" colsep="1" rowsep="1"> 679 10004</entry><entry colname="COLSPEC3" colsep="1" rowsep="1">2.1.0.4</entry> 680 </row> 681 <row><entry colname="COLSPEC0" colsep="1" rowsep="1">1.0.4a-f</entry><entry 682 colname="COLSPEC1" colsep="1" rowsep="1"></entry><entry colname="COLSPEC2" 683 colsep="1" rowsep="1">10005</entry><entry colname="COLSPEC3" colsep="1" rowsep="1"> 684 2.1.0.4a-f</entry></row> 685 <row><entry colname="COLSPEC0" colsep="1" rowsep="1">1.0.5 (+ 2 patches)</entry> 686 <entry colname="COLSPEC1" colsep="1" rowsep="1"></entry><entry colname="COLSPEC2" 687 colsep="1" rowsep="1">10005</entry><entry colname="COLSPEC3" colsep="1" rowsep="1"> 688 2.1.0.5</entry></row> 689 <row><entry colname="COLSPEC0">1.0.5a-d</entry><entry colname="COLSPEC1"></entry> 690 <entry colname="COLSPEC2">10006</entry><entry colname="COLSPEC3">2.1.0.5a-d 691 </entry></row> 692 <row><entry colname="COLSPEC0">1.0.5e-r</entry><entry colname="COLSPEC1"></entry> 693 <entry colname="COLSPEC2">10100</entry><entry colname="COLSPEC3">2.1.0.5e-r 694 </entry></row> 695 <row><entry colname="COLSPEC0">1.0.5s-v</entry><entry colname="COLSPEC1"></entry> 696 <entry colname="COLSPEC2">10006</entry><entry colname="COLSPEC3">2.1.0.5s-v 697 </entry></row> 698 <row><entry colname="COLSPEC0">1.0.6 (+ 3 patches)</entry><entry colname="COLSPEC1"></entry> 699 <entry colname="COLSPEC2">10006</entry><entry colname="COLSPEC3">2.1.0.6</entry> 700 </row> 701 <row><entry colname="COLSPEC0" colsep="1" rowsep="1">1.0.6d-g</entry><entry 702 colname="COLSPEC1" colsep="1" rowsep="1"></entry><entry colname="COLSPEC2" 703 colsep="1" rowsep="1">10007</entry><entry colname="COLSPEC3" colsep="1" rowsep="1"> 704 2.1.0.6d-g</entry></row> 705 <row><entry colname="COLSPEC0" colsep="1" rowsep="1">1.0.6h</entry><entry 706 colname="COLSPEC1" colsep="1" rowsep="1"></entry><entry colname="COLSPEC2" 707 colsep="1" rowsep="1">10007</entry><entry colname="COLSPEC3" colsep="1" rowsep="1"> 708 10.6h</entry></row> 709 <row><entry colname="COLSPEC0" colsep="1" rowsep="1">1.0.6i</entry><entry 710 colname="COLSPEC1" colsep="1" rowsep="1"></entry><entry colname="COLSPEC2" 711 colsep="1" rowsep="1">10007</entry><entry colname="COLSPEC3" colsep="1" rowsep="1"> 712 10.6i</entry></row> 713 <row><entry colname="COLSPEC0" colsep="1" rowsep="1">1.0.6j</entry><entry 714 colname="COLSPEC1" colsep="1" rowsep="1"></entry><entry colname="COLSPEC2" 715 colsep="1" rowsep="1">10007</entry><entry colname="COLSPEC3" colsep="1" rowsep="1"> 716 2.1.0.6j</entry></row> 717 <row><entry colname="COLSPEC0" colsep="1" rowsep="1">1.0.7beta11-14</entry> 718 <entry colname="COLSPEC1" colsep="1" rowsep="1">DLLNUM</entry><entry colname="COLSPEC2" 719 colsep="1" rowsep="1">10007</entry><entry colname="COLSPEC3" colsep="1" rowsep="1"> 720 2.1.0.7beta11-14</entry></row> 721 <row><entry colname="COLSPEC0" colsep="1" rowsep="1">1.0.7beta15-18</entry> 722 <entry colname="COLSPEC1" colsep="1" rowsep="1">1</entry><entry colname="COLSPEC2" 723 colsep="1" rowsep="1">10007</entry><entry colname="COLSPEC3" colsep="1" rowsep="1"> 724 2.1.0.7beta15-18</entry></row> 725 <row><entry colname="COLSPEC0" colsep="1" rowsep="1">1.0.7rc1-2</entry><entry 726 colname="COLSPEC1" colsep="1" rowsep="1">1</entry><entry colname="COLSPEC2" 727 colsep="1" rowsep="1">10007</entry><entry colname="COLSPEC3" colsep="1" rowsep="1"> 728 2.1.0.7rc1-2</entry></row> 729 <row><entry colname="COLSPEC0" colsep="1" rowsep="1">1.0.7</entry><entry colname="COLSPEC1" 730 colsep="1" rowsep="1">1</entry><entry colname="COLSPEC2" colsep="1" rowsep="1"> 731 10007</entry><entry colname="COLSPEC3" colsep="1" rowsep="1">2.1.0.7</entry> 732 </row> 733 <row><entry colname="COLSPEC0" colsep="1" rowsep="1">1.0.8beta1-4</entry> 734 <entry colname="COLSPEC1" colsep="1" rowsep="1">1</entry><entry colname="COLSPEC2" 735 colsep="1" rowsep="1">10008</entry><entry colname="COLSPEC3" colsep="1" rowsep="1"> 736 2.1.0.8beta1-4</entry></row> 737 <row><entry colname="COLSPEC0" colsep="1" rowsep="1">1.0.8rc1</entry><entry 738 colname="COLSPEC1" colsep="1" rowsep="1">1</entry><entry colname="COLSPEC2" 739 colsep="1" rowsep="1">10008</entry><entry colname="COLSPEC3" colsep="1" rowsep="1"> 740 2.1.0.8rc1</entry></row> 741 <row><entry colname="COLSPEC0" colsep="1" rowsep="1">1.0.8</entry><entry colname="COLSPEC1" 742 colsep="1" rowsep="1">1</entry><entry colname="COLSPEC2" colsep="1" rowsep="1"> 743 10008</entry><entry colname="COLSPEC3" colsep="1" rowsep="1">2.1.0.8</entry> 744 </row> 745 <row><entry colname="COLSPEC0" colsep="1" rowsep="1">1.0.9beta1-6</entry> 746 <entry colname="COLSPEC1" colsep="1" rowsep="1">1</entry><entry colname="COLSPEC2" 747 colsep="1" rowsep="1">10009</entry><entry colname="COLSPEC3" colsep="1" rowsep="1"> 748 2.1.0.9beta1-6</entry></row> 749 <row><entry colname="COLSPEC0" colsep="1" rowsep="1">1.0.9rc1</entry><entry 750 colname="COLSPEC1" colsep="1" rowsep="1">1</entry><entry colname="COLSPEC2" 751 colsep="1" rowsep="1">10009</entry><entry colname="COLSPEC3" colsep="1" rowsep="1"> 752 2.1.0.9rc1</entry></row> 753 <row><entry colname="COLSPEC0" colsep="1" rowsep="1">1.0.9beta7-10</entry> 754 <entry colname="COLSPEC1" colsep="1" rowsep="1">1</entry><entry colname="COLSPEC2" 755 colsep="1" rowsep="1">10009</entry><entry colname="COLSPEC3" colsep="1" rowsep="1"> 756 2.1.0.9beta7-10</entry></row> 757 <row><entry colname="COLSPEC0" colsep="1" rowsep="1">1.0.9rc2</entry><entry 758 colname="COLSPEC1" colsep="1" rowsep="1">1</entry><entry colname="COLSPEC2" 759 colsep="1" rowsep="1">10009</entry><entry colname="COLSPEC3" colsep="1" rowsep="1"> 760 2.1.0.9rc2</entry></row> 761 <row><entry colname="COLSPEC0" colsep="1" rowsep="1">1.0.9</entry><entry colname="COLSPEC1" 762 colsep="1" rowsep="1">1</entry><entry colname="COLSPEC2" colsep="1" rowsep="1"> 763 10009</entry><entry colname="COLSPEC3" colsep="1" rowsep="1">2.1.0.9</entry> 764 </row> 765 <row><entry colname="COLSPEC0" colsep="1" rowsep="1">1.0.10beta1</entry><entry 766 colname="COLSPEC1" colsep="1" rowsep="1">1</entry><entry colname="COLSPEC2" 767 colsep="1" rowsep="1">10010</entry><entry colname="COLSPEC3" colsep="1" rowsep="1"> 768 2.1.0.10beta1</entry></row> 769 <row><entry colname="COLSPEC0" colsep="1" rowsep="1">1.0.10rc1</entry><entry 770 colname="COLSPEC1" colsep="1" rowsep="1">1</entry><entry colname="COLSPEC2" 771 colsep="1" rowsep="1">10010</entry><entry colname="COLSPEC3" colsep="1" rowsep="1"> 772 2.1.0.10rc1</entry></row> 773 <row><entry colname="COLSPEC0">1.0.10</entry><entry colname="COLSPEC1">1</entry> 774 <entry colname="COLSPEC2">10010</entry><entry colname="COLSPEC3">2.1.0.10 775 </entry></row> 776 <row><entry colname="COLSPEC0" colsep="1" rowsep="1">1.0.11beta1-3</entry> 777 <entry colname="COLSPEC1" colsep="1" rowsep="1">1</entry><entry colname="COLSPEC2" 778 colsep="1" rowsep="1">10011</entry><entry colname="COLSPEC3" colsep="1" rowsep="1"> 779 2.1.0.11beta1-3</entry></row> 780 <row><entry colname="COLSPEC0" colsep="1" rowsep="1">1.0.11rc1</entry><entry 781 colname="COLSPEC1" colsep="1" rowsep="1">1</entry><entry colname="COLSPEC2" 782 colsep="1" rowsep="1">10011</entry><entry colname="COLSPEC3" colsep="1" rowsep="1"> 783 2.1.0.11rc1</entry></row> 784 <row><entry colname="COLSPEC0" colsep="1" rowsep="1">1.0.11</entry><entry 785 colname="COLSPEC1" colsep="1" rowsep="1">1</entry><entry colname="COLSPEC2" 786 colsep="1" rowsep="1">10011</entry><entry colname="COLSPEC3" colsep="1" rowsep="1"> 787 2.1.0.11</entry></row> 788 <row><entry colname="COLSPEC0" colsep="1" rowsep="1">1.0.12beta1-2</entry> 789 <entry colname="COLSPEC1" colsep="1" rowsep="1">1</entry><entry colname="COLSPEC2" 790 colsep="1" rowsep="1">10012</entry><entry colname="COLSPEC3" colsep="1" rowsep="1"> 791 2.1.0.12beta1-2</entry></row> 792 </tbody> 793 </tgroup> 794 </informaltable> 795 <variablelist> 796 <varlistentry><term>*</term><listitem><para>From this release forward, the <literal> 797 png.h</literal> string is identical to the source version.</para> 798 </listitem></varlistentry> 799 <varlistentry><term>#</term><listitem><para>From this release 800 forward, the shared library is 2.<replaceable>V</replaceable>, where <replaceable> 801 V</replaceable> is the source code version except as noted.</para> 802 </listitem></varlistentry> 803 </variablelist><para>Henceforth, the source version will match the shared-library 804 minor and patch numbers. The shared-library major version number will be used 805 for changes in backward compatibility, as it is intended. The PNG_PNGLIB_VER 806 macro, which is not used within <filename>libpng</filename> but is available 807 for applications, is an unsigned integer of the form <replaceable>xyyzz</replaceable> 808 corresponding to the source version <replaceable>x.y.z</replaceable> (leading 809 zeros in <replaceable>y</replaceable> and <replaceable>z</replaceable>). Beta 810 versions were given the previous public release number plus a letter, until 811 version 1.0.6j. From then on, they were given the upcoming public release 812 number plus "betaNN" or "rcN".</para> 813 </refsect2> 814 </refsect1> 815 <refsect1 id="libpng-3-attr"><title>&attr-tt;</title> 816 <para>See <olink targetdocent="REFMAN5" localinfo="attributes-5"><citerefentry> 817 <refentrytitle>attributes</refentrytitle><manvolnum>5</manvolnum></citerefentry></olink> 818 for descriptions of the following attributes:</para> 819 <informaltable frame="all"> 820 <tgroup cols="2" colsep="1" rowsep="1"><colspec colname="COLSPEC0" colwidth="1*"> 821 <colspec colname="COLSPEC1" colwidth="1*"> 822 <thead> 823 <row><entry align="center" valign="middle">ATTRIBUTE TYPE</entry><entry align="center" 824 valign="middle">ATTRIBUTE VALUE</entry></row> 825 </thead> 826 <tbody> 827 <row><entry><para>Availability</para></entry><entry><para>SUNWpng</para></entry> 828 </row> 829 <row><entry colname="COLSPEC0"><para>Interface stability</para></entry><entry 830 colname="COLSPEC1"><para>Uncommitted</para></entry></row> 831 </tbody> 832 </tgroup> 833 </informaltable> 834 </refsect1> 835 <refsect1 id="libpng-3-also"><title>&also-tt;</title> 836 <!--Reference to another man page--> 837 <!--Reference to a Help manual--> 838 <!--Reference to a book.--> 839 <para> 840 <citerefentry><refentrytitle>libpngpf</refentrytitle><manvolnum>3</manvolnum></citerefentry>, 841 <citerefentry><refentrytitle>png</refentrytitle><manvolnum>4</manvolnum></citerefentry>, 842 <citerefentry><refentrytitle>attributes</refentrytitle><manvolnum>5</manvolnum></citerefentry> 843 </para> 844 <variablelist termlength="wholeline"> 845 <varlistentry><term><filename>libpng</filename></term><listitem><para><programlisting> 846 <literal>ftp://ftp.uu.net/graphics/png</literal> 847 <literal>http://www.libpng.org/pub/png</literal></programlisting></para> 848 </listitem></varlistentry> 849 <varlistentry><term><filename>zlib</filename></term><listitem><para>Generally 850 at the same location as <filename>libpng</filename> or at <programlisting> 851 <literal>ftp://ftp.uu.net/pub/archiving/zip/zlib</literal> 852 <literal>ftp://ftp.info-zip.org/pub/infozip/zlib</literal></programlisting></para> 853 </listitem></varlistentry> 854 <varlistentry><term>PNGspecification:RFC2083</term><listitem><para>Generally 855 at the same location as <filename>libpng</filename> or at <literal>ftp://ds.internic.net/rfc/rfc2083.txt 856 </literal></para> 857 <para>or as a W3C Recommendation at 858 <literal>http://www.w3.org/TR/REC-png.html</literal></para> 859 </listitem></varlistentry> 860 </variablelist><para>In the case of any inconsistency between the PNG specification 861 and this library, the specification takes precedence.</para> 862 </refsect1> 863 <refsect1 id="libpng-3-note"><title>¬e-tt;</title> 864 <para>This man page was originally written by Glenn Randers-Pehrson. Updated 865 by Breda McColgan, Sun Microsystems Inc., 2004.</para> 866 </refsect1> 867 </refentry> 868