Edit File by line
/home/barbar84/www/wp-conte.../plugins/sujqvwi/ExeBy/exe_root.../usr/include
File: pngconf.h
[0] Fix | Delete
/* pngconf.h - machine configurable file for libpng
[1] Fix | Delete
*
[2] Fix | Delete
* libpng version 1.6.34, September 29, 2017
[3] Fix | Delete
*
[4] Fix | Delete
* Copyright (c) 1998-2002,2004,2006-2016 Glenn Randers-Pehrson
[5] Fix | Delete
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
[6] Fix | Delete
* (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.)
[7] Fix | Delete
*
[8] Fix | Delete
* This code is released under the libpng license.
[9] Fix | Delete
* For conditions of distribution and use, see the disclaimer
[10] Fix | Delete
* and license in png.h
[11] Fix | Delete
*
[12] Fix | Delete
* Any machine specific code is near the front of this file, so if you
[13] Fix | Delete
* are configuring libpng for a machine, you may want to read the section
[14] Fix | Delete
* starting here down to where it starts to typedef png_color, png_text,
[15] Fix | Delete
* and png_info.
[16] Fix | Delete
*/
[17] Fix | Delete
[18] Fix | Delete
#ifndef PNGCONF_H
[19] Fix | Delete
#define PNGCONF_H
[20] Fix | Delete
[21] Fix | Delete
#ifndef PNG_BUILDING_SYMBOL_TABLE /* else includes may cause problems */
[22] Fix | Delete
[23] Fix | Delete
/* From libpng 1.6.0 libpng requires an ANSI X3.159-1989 ("ISOC90") compliant C
[24] Fix | Delete
* compiler for correct compilation. The following header files are required by
[25] Fix | Delete
* the standard. If your compiler doesn't provide these header files, or they
[26] Fix | Delete
* do not match the standard, you will need to provide/improve them.
[27] Fix | Delete
*/
[28] Fix | Delete
#include <limits.h>
[29] Fix | Delete
#include <stddef.h>
[30] Fix | Delete
[31] Fix | Delete
/* Library header files. These header files are all defined by ISOC90; libpng
[32] Fix | Delete
* expects conformant implementations, however, an ISOC90 conformant system need
[33] Fix | Delete
* not provide these header files if the functionality cannot be implemented.
[34] Fix | Delete
* In this case it will be necessary to disable the relevant parts of libpng in
[35] Fix | Delete
* the build of pnglibconf.h.
[36] Fix | Delete
*
[37] Fix | Delete
* Prior to 1.6.0 string.h was included here; the API changes in 1.6.0 to not
[38] Fix | Delete
* include this unnecessary header file.
[39] Fix | Delete
*/
[40] Fix | Delete
[41] Fix | Delete
#ifdef PNG_STDIO_SUPPORTED
[42] Fix | Delete
/* Required for the definition of FILE: */
[43] Fix | Delete
# include <stdio.h>
[44] Fix | Delete
#endif
[45] Fix | Delete
[46] Fix | Delete
#ifdef PNG_SETJMP_SUPPORTED
[47] Fix | Delete
/* Required for the definition of jmp_buf and the declaration of longjmp: */
[48] Fix | Delete
# include <setjmp.h>
[49] Fix | Delete
#endif
[50] Fix | Delete
[51] Fix | Delete
#ifdef PNG_CONVERT_tIME_SUPPORTED
[52] Fix | Delete
/* Required for struct tm: */
[53] Fix | Delete
# include <time.h>
[54] Fix | Delete
#endif
[55] Fix | Delete
[56] Fix | Delete
#endif /* PNG_BUILDING_SYMBOL_TABLE */
[57] Fix | Delete
[58] Fix | Delete
/* Prior to 1.6.0 it was possible to turn off 'const' in declarations using
[59] Fix | Delete
* PNG_NO_CONST; this is no longer supported except for data declarations which
[60] Fix | Delete
* apparently still cause problems in 2011 on some compilers.
[61] Fix | Delete
*/
[62] Fix | Delete
#define PNG_CONST const /* backward compatibility only */
[63] Fix | Delete
[64] Fix | Delete
/* This controls optimization of the reading of 16-bit and 32-bit values
[65] Fix | Delete
* from PNG files. It can be set on a per-app-file basis - it
[66] Fix | Delete
* just changes whether a macro is used when the function is called.
[67] Fix | Delete
* The library builder sets the default; if read functions are not
[68] Fix | Delete
* built into the library the macro implementation is forced on.
[69] Fix | Delete
*/
[70] Fix | Delete
#ifndef PNG_READ_INT_FUNCTIONS_SUPPORTED
[71] Fix | Delete
# define PNG_USE_READ_MACROS
[72] Fix | Delete
#endif
[73] Fix | Delete
#if !defined(PNG_NO_USE_READ_MACROS) && !defined(PNG_USE_READ_MACROS)
[74] Fix | Delete
# if PNG_DEFAULT_READ_MACROS
[75] Fix | Delete
# define PNG_USE_READ_MACROS
[76] Fix | Delete
# endif
[77] Fix | Delete
#endif
[78] Fix | Delete
[79] Fix | Delete
/* COMPILER SPECIFIC OPTIONS.
[80] Fix | Delete
*
[81] Fix | Delete
* These options are provided so that a variety of difficult compilers
[82] Fix | Delete
* can be used. Some are fixed at build time (e.g. PNG_API_RULE
[83] Fix | Delete
* below) but still have compiler specific implementations, others
[84] Fix | Delete
* may be changed on a per-file basis when compiling against libpng.
[85] Fix | Delete
*/
[86] Fix | Delete
[87] Fix | Delete
/* The PNGARG macro was used in versions of libpng prior to 1.6.0 to protect
[88] Fix | Delete
* against legacy (pre ISOC90) compilers that did not understand function
[89] Fix | Delete
* prototypes. It is not required for modern C compilers.
[90] Fix | Delete
*/
[91] Fix | Delete
#ifndef PNGARG
[92] Fix | Delete
# define PNGARG(arglist) arglist
[93] Fix | Delete
#endif
[94] Fix | Delete
[95] Fix | Delete
/* Function calling conventions.
[96] Fix | Delete
* =============================
[97] Fix | Delete
* Normally it is not necessary to specify to the compiler how to call
[98] Fix | Delete
* a function - it just does it - however on x86 systems derived from
[99] Fix | Delete
* Microsoft and Borland C compilers ('IBM PC', 'DOS', 'Windows' systems
[100] Fix | Delete
* and some others) there are multiple ways to call a function and the
[101] Fix | Delete
* default can be changed on the compiler command line. For this reason
[102] Fix | Delete
* libpng specifies the calling convention of every exported function and
[103] Fix | Delete
* every function called via a user supplied function pointer. This is
[104] Fix | Delete
* done in this file by defining the following macros:
[105] Fix | Delete
*
[106] Fix | Delete
* PNGAPI Calling convention for exported functions.
[107] Fix | Delete
* PNGCBAPI Calling convention for user provided (callback) functions.
[108] Fix | Delete
* PNGCAPI Calling convention used by the ANSI-C library (required
[109] Fix | Delete
* for longjmp callbacks and sometimes used internally to
[110] Fix | Delete
* specify the calling convention for zlib).
[111] Fix | Delete
*
[112] Fix | Delete
* These macros should never be overridden. If it is necessary to
[113] Fix | Delete
* change calling convention in a private build this can be done
[114] Fix | Delete
* by setting PNG_API_RULE (which defaults to 0) to one of the values
[115] Fix | Delete
* below to select the correct 'API' variants.
[116] Fix | Delete
*
[117] Fix | Delete
* PNG_API_RULE=0 Use PNGCAPI - the 'C' calling convention - throughout.
[118] Fix | Delete
* This is correct in every known environment.
[119] Fix | Delete
* PNG_API_RULE=1 Use the operating system convention for PNGAPI and
[120] Fix | Delete
* the 'C' calling convention (from PNGCAPI) for
[121] Fix | Delete
* callbacks (PNGCBAPI). This is no longer required
[122] Fix | Delete
* in any known environment - if it has to be used
[123] Fix | Delete
* please post an explanation of the problem to the
[124] Fix | Delete
* libpng mailing list.
[125] Fix | Delete
*
[126] Fix | Delete
* These cases only differ if the operating system does not use the C
[127] Fix | Delete
* calling convention, at present this just means the above cases
[128] Fix | Delete
* (x86 DOS/Windows sytems) and, even then, this does not apply to
[129] Fix | Delete
* Cygwin running on those systems.
[130] Fix | Delete
*
[131] Fix | Delete
* Note that the value must be defined in pnglibconf.h so that what
[132] Fix | Delete
* the application uses to call the library matches the conventions
[133] Fix | Delete
* set when building the library.
[134] Fix | Delete
*/
[135] Fix | Delete
[136] Fix | Delete
/* Symbol export
[137] Fix | Delete
* =============
[138] Fix | Delete
* When building a shared library it is almost always necessary to tell
[139] Fix | Delete
* the compiler which symbols to export. The png.h macro 'PNG_EXPORT'
[140] Fix | Delete
* is used to mark the symbols. On some systems these symbols can be
[141] Fix | Delete
* extracted at link time and need no special processing by the compiler,
[142] Fix | Delete
* on other systems the symbols are flagged by the compiler and just
[143] Fix | Delete
* the declaration requires a special tag applied (unfortunately) in a
[144] Fix | Delete
* compiler dependent way. Some systems can do either.
[145] Fix | Delete
*
[146] Fix | Delete
* A small number of older systems also require a symbol from a DLL to
[147] Fix | Delete
* be flagged to the program that calls it. This is a problem because
[148] Fix | Delete
* we do not know in the header file included by application code that
[149] Fix | Delete
* the symbol will come from a shared library, as opposed to a statically
[150] Fix | Delete
* linked one. For this reason the application must tell us by setting
[151] Fix | Delete
* the magic flag PNG_USE_DLL to turn on the special processing before
[152] Fix | Delete
* it includes png.h.
[153] Fix | Delete
*
[154] Fix | Delete
* Four additional macros are used to make this happen:
[155] Fix | Delete
*
[156] Fix | Delete
* PNG_IMPEXP The magic (if any) to cause a symbol to be exported from
[157] Fix | Delete
* the build or imported if PNG_USE_DLL is set - compiler
[158] Fix | Delete
* and system specific.
[159] Fix | Delete
*
[160] Fix | Delete
* PNG_EXPORT_TYPE(type) A macro that pre or appends PNG_IMPEXP to
[161] Fix | Delete
* 'type', compiler specific.
[162] Fix | Delete
*
[163] Fix | Delete
* PNG_DLL_EXPORT Set to the magic to use during a libpng build to
[164] Fix | Delete
* make a symbol exported from the DLL. Not used in the
[165] Fix | Delete
* public header files; see pngpriv.h for how it is used
[166] Fix | Delete
* in the libpng build.
[167] Fix | Delete
*
[168] Fix | Delete
* PNG_DLL_IMPORT Set to the magic to force the libpng symbols to come
[169] Fix | Delete
* from a DLL - used to define PNG_IMPEXP when
[170] Fix | Delete
* PNG_USE_DLL is set.
[171] Fix | Delete
*/
[172] Fix | Delete
[173] Fix | Delete
/* System specific discovery.
[174] Fix | Delete
* ==========================
[175] Fix | Delete
* This code is used at build time to find PNG_IMPEXP, the API settings
[176] Fix | Delete
* and PNG_EXPORT_TYPE(), it may also set a macro to indicate the DLL
[177] Fix | Delete
* import processing is possible. On Windows systems it also sets
[178] Fix | Delete
* compiler-specific macros to the values required to change the calling
[179] Fix | Delete
* conventions of the various functions.
[180] Fix | Delete
*/
[181] Fix | Delete
#if defined(_Windows) || defined(_WINDOWS) || defined(WIN32) ||\
[182] Fix | Delete
defined(_WIN32) || defined(__WIN32__) || defined(__CYGWIN__)
[183] Fix | Delete
/* Windows system (DOS doesn't support DLLs). Includes builds under Cygwin or
[184] Fix | Delete
* MinGW on any architecture currently supported by Windows. Also includes
[185] Fix | Delete
* Watcom builds but these need special treatment because they are not
[186] Fix | Delete
* compatible with GCC or Visual C because of different calling conventions.
[187] Fix | Delete
*/
[188] Fix | Delete
# if PNG_API_RULE == 2
[189] Fix | Delete
/* If this line results in an error, either because __watcall is not
[190] Fix | Delete
* understood or because of a redefine just below you cannot use *this*
[191] Fix | Delete
* build of the library with the compiler you are using. *This* build was
[192] Fix | Delete
* build using Watcom and applications must also be built using Watcom!
[193] Fix | Delete
*/
[194] Fix | Delete
# define PNGCAPI __watcall
[195] Fix | Delete
# endif
[196] Fix | Delete
[197] Fix | Delete
# if defined(__GNUC__) || (defined(_MSC_VER) && (_MSC_VER >= 800))
[198] Fix | Delete
# define PNGCAPI __cdecl
[199] Fix | Delete
# if PNG_API_RULE == 1
[200] Fix | Delete
/* If this line results in an error __stdcall is not understood and
[201] Fix | Delete
* PNG_API_RULE should not have been set to '1'.
[202] Fix | Delete
*/
[203] Fix | Delete
# define PNGAPI __stdcall
[204] Fix | Delete
# endif
[205] Fix | Delete
# else
[206] Fix | Delete
/* An older compiler, or one not detected (erroneously) above,
[207] Fix | Delete
* if necessary override on the command line to get the correct
[208] Fix | Delete
* variants for the compiler.
[209] Fix | Delete
*/
[210] Fix | Delete
# ifndef PNGCAPI
[211] Fix | Delete
# define PNGCAPI _cdecl
[212] Fix | Delete
# endif
[213] Fix | Delete
# if PNG_API_RULE == 1 && !defined(PNGAPI)
[214] Fix | Delete
# define PNGAPI _stdcall
[215] Fix | Delete
# endif
[216] Fix | Delete
# endif /* compiler/api */
[217] Fix | Delete
[218] Fix | Delete
/* NOTE: PNGCBAPI always defaults to PNGCAPI. */
[219] Fix | Delete
[220] Fix | Delete
# if defined(PNGAPI) && !defined(PNG_USER_PRIVATEBUILD)
[221] Fix | Delete
# error "PNG_USER_PRIVATEBUILD must be defined if PNGAPI is changed"
[222] Fix | Delete
# endif
[223] Fix | Delete
[224] Fix | Delete
# if (defined(_MSC_VER) && _MSC_VER < 800) ||\
[225] Fix | Delete
(defined(__BORLANDC__) && __BORLANDC__ < 0x500)
[226] Fix | Delete
/* older Borland and MSC
[227] Fix | Delete
* compilers used '__export' and required this to be after
[228] Fix | Delete
* the type.
[229] Fix | Delete
*/
[230] Fix | Delete
# ifndef PNG_EXPORT_TYPE
[231] Fix | Delete
# define PNG_EXPORT_TYPE(type) type PNG_IMPEXP
[232] Fix | Delete
# endif
[233] Fix | Delete
# define PNG_DLL_EXPORT __export
[234] Fix | Delete
# else /* newer compiler */
[235] Fix | Delete
# define PNG_DLL_EXPORT __declspec(dllexport)
[236] Fix | Delete
# ifndef PNG_DLL_IMPORT
[237] Fix | Delete
# define PNG_DLL_IMPORT __declspec(dllimport)
[238] Fix | Delete
# endif
[239] Fix | Delete
# endif /* compiler */
[240] Fix | Delete
[241] Fix | Delete
#else /* !Windows */
[242] Fix | Delete
# if (defined(__IBMC__) || defined(__IBMCPP__)) && defined(__OS2__)
[243] Fix | Delete
# define PNGAPI _System
[244] Fix | Delete
# else /* !Windows/x86 && !OS/2 */
[245] Fix | Delete
/* Use the defaults, or define PNG*API on the command line (but
[246] Fix | Delete
* this will have to be done for every compile!)
[247] Fix | Delete
*/
[248] Fix | Delete
# endif /* other system, !OS/2 */
[249] Fix | Delete
#endif /* !Windows/x86 */
[250] Fix | Delete
[251] Fix | Delete
/* Now do all the defaulting . */
[252] Fix | Delete
#ifndef PNGCAPI
[253] Fix | Delete
# define PNGCAPI
[254] Fix | Delete
#endif
[255] Fix | Delete
#ifndef PNGCBAPI
[256] Fix | Delete
# define PNGCBAPI PNGCAPI
[257] Fix | Delete
#endif
[258] Fix | Delete
#ifndef PNGAPI
[259] Fix | Delete
# define PNGAPI PNGCAPI
[260] Fix | Delete
#endif
[261] Fix | Delete
[262] Fix | Delete
/* PNG_IMPEXP may be set on the compilation system command line or (if not set)
[263] Fix | Delete
* then in an internal header file when building the library, otherwise (when
[264] Fix | Delete
* using the library) it is set here.
[265] Fix | Delete
*/
[266] Fix | Delete
#ifndef PNG_IMPEXP
[267] Fix | Delete
# if defined(PNG_USE_DLL) && defined(PNG_DLL_IMPORT)
[268] Fix | Delete
/* This forces use of a DLL, disallowing static linking */
[269] Fix | Delete
# define PNG_IMPEXP PNG_DLL_IMPORT
[270] Fix | Delete
# endif
[271] Fix | Delete
[272] Fix | Delete
# ifndef PNG_IMPEXP
[273] Fix | Delete
# define PNG_IMPEXP
[274] Fix | Delete
# endif
[275] Fix | Delete
#endif
[276] Fix | Delete
[277] Fix | Delete
/* In 1.5.2 the definition of PNG_FUNCTION has been changed to always treat
[278] Fix | Delete
* 'attributes' as a storage class - the attributes go at the start of the
[279] Fix | Delete
* function definition, and attributes are always appended regardless of the
[280] Fix | Delete
* compiler. This considerably simplifies these macros but may cause problems
[281] Fix | Delete
* if any compilers both need function attributes and fail to handle them as
[282] Fix | Delete
* a storage class (this is unlikely.)
[283] Fix | Delete
*/
[284] Fix | Delete
#ifndef PNG_FUNCTION
[285] Fix | Delete
# define PNG_FUNCTION(type, name, args, attributes) attributes type name args
[286] Fix | Delete
#endif
[287] Fix | Delete
[288] Fix | Delete
#ifndef PNG_EXPORT_TYPE
[289] Fix | Delete
# define PNG_EXPORT_TYPE(type) PNG_IMPEXP type
[290] Fix | Delete
#endif
[291] Fix | Delete
[292] Fix | Delete
/* The ordinal value is only relevant when preprocessing png.h for symbol
[293] Fix | Delete
* table entries, so we discard it here. See the .dfn files in the
[294] Fix | Delete
* scripts directory.
[295] Fix | Delete
*/
[296] Fix | Delete
[297] Fix | Delete
#ifndef PNG_EXPORTA
[298] Fix | Delete
# define PNG_EXPORTA(ordinal, type, name, args, attributes) \
[299] Fix | Delete
PNG_FUNCTION(PNG_EXPORT_TYPE(type), (PNGAPI name), PNGARG(args), \
[300] Fix | Delete
PNG_LINKAGE_API attributes)
[301] Fix | Delete
#endif
[302] Fix | Delete
[303] Fix | Delete
/* ANSI-C (C90) does not permit a macro to be invoked with an empty argument,
[304] Fix | Delete
* so make something non-empty to satisfy the requirement:
[305] Fix | Delete
*/
[306] Fix | Delete
#define PNG_EMPTY /*empty list*/
[307] Fix | Delete
[308] Fix | Delete
#define PNG_EXPORT(ordinal, type, name, args) \
[309] Fix | Delete
PNG_EXPORTA(ordinal, type, name, args, PNG_EMPTY)
[310] Fix | Delete
[311] Fix | Delete
/* Use PNG_REMOVED to comment out a removed interface. */
[312] Fix | Delete
#ifndef PNG_REMOVED
[313] Fix | Delete
# define PNG_REMOVED(ordinal, type, name, args, attributes)
[314] Fix | Delete
#endif
[315] Fix | Delete
[316] Fix | Delete
#ifndef PNG_CALLBACK
[317] Fix | Delete
# define PNG_CALLBACK(type, name, args) type (PNGCBAPI name) PNGARG(args)
[318] Fix | Delete
#endif
[319] Fix | Delete
[320] Fix | Delete
/* Support for compiler specific function attributes. These are used
[321] Fix | Delete
* so that where compiler support is available incorrect use of API
[322] Fix | Delete
* functions in png.h will generate compiler warnings.
[323] Fix | Delete
*
[324] Fix | Delete
* Added at libpng-1.2.41.
[325] Fix | Delete
*/
[326] Fix | Delete
[327] Fix | Delete
#ifndef PNG_NO_PEDANTIC_WARNINGS
[328] Fix | Delete
# ifndef PNG_PEDANTIC_WARNINGS_SUPPORTED
[329] Fix | Delete
# define PNG_PEDANTIC_WARNINGS_SUPPORTED
[330] Fix | Delete
# endif
[331] Fix | Delete
#endif
[332] Fix | Delete
[333] Fix | Delete
#ifdef PNG_PEDANTIC_WARNINGS_SUPPORTED
[334] Fix | Delete
/* Support for compiler specific function attributes. These are used
[335] Fix | Delete
* so that where compiler support is available, incorrect use of API
[336] Fix | Delete
* functions in png.h will generate compiler warnings. Added at libpng
[337] Fix | Delete
* version 1.2.41. Disabling these removes the warnings but may also produce
[338] Fix | Delete
* less efficient code.
[339] Fix | Delete
*/
[340] Fix | Delete
# if defined(__clang__) && defined(__has_attribute)
[341] Fix | Delete
/* Clang defines both __clang__ and __GNUC__. Check __clang__ first. */
[342] Fix | Delete
# if !defined(PNG_USE_RESULT) && __has_attribute(__warn_unused_result__)
[343] Fix | Delete
# define PNG_USE_RESULT __attribute__((__warn_unused_result__))
[344] Fix | Delete
# endif
[345] Fix | Delete
# if !defined(PNG_NORETURN) && __has_attribute(__noreturn__)
[346] Fix | Delete
# define PNG_NORETURN __attribute__((__noreturn__))
[347] Fix | Delete
# endif
[348] Fix | Delete
# if !defined(PNG_ALLOCATED) && __has_attribute(__malloc__)
[349] Fix | Delete
# define PNG_ALLOCATED __attribute__((__malloc__))
[350] Fix | Delete
# endif
[351] Fix | Delete
# if !defined(PNG_DEPRECATED) && __has_attribute(__deprecated__)
[352] Fix | Delete
# define PNG_DEPRECATED __attribute__((__deprecated__))
[353] Fix | Delete
# endif
[354] Fix | Delete
# if !defined(PNG_PRIVATE)
[355] Fix | Delete
# ifdef __has_extension
[356] Fix | Delete
# if __has_extension(attribute_unavailable_with_message)
[357] Fix | Delete
# define PNG_PRIVATE __attribute__((__unavailable__(\
[358] Fix | Delete
"This function is not exported by libpng.")))
[359] Fix | Delete
# endif
[360] Fix | Delete
# endif
[361] Fix | Delete
# endif
[362] Fix | Delete
# ifndef PNG_RESTRICT
[363] Fix | Delete
# define PNG_RESTRICT __restrict
[364] Fix | Delete
# endif
[365] Fix | Delete
[366] Fix | Delete
# elif defined(__GNUC__)
[367] Fix | Delete
# ifndef PNG_USE_RESULT
[368] Fix | Delete
# define PNG_USE_RESULT __attribute__((__warn_unused_result__))
[369] Fix | Delete
# endif
[370] Fix | Delete
# ifndef PNG_NORETURN
[371] Fix | Delete
# define PNG_NORETURN __attribute__((__noreturn__))
[372] Fix | Delete
# endif
[373] Fix | Delete
# if __GNUC__ >= 3
[374] Fix | Delete
# ifndef PNG_ALLOCATED
[375] Fix | Delete
# define PNG_ALLOCATED __attribute__((__malloc__))
[376] Fix | Delete
# endif
[377] Fix | Delete
# ifndef PNG_DEPRECATED
[378] Fix | Delete
# define PNG_DEPRECATED __attribute__((__deprecated__))
[379] Fix | Delete
# endif
[380] Fix | Delete
# ifndef PNG_PRIVATE
[381] Fix | Delete
# if 0 /* Doesn't work so we use deprecated instead*/
[382] Fix | Delete
# define PNG_PRIVATE \
[383] Fix | Delete
__attribute__((warning("This function is not exported by libpng.")))
[384] Fix | Delete
# else
[385] Fix | Delete
# define PNG_PRIVATE \
[386] Fix | Delete
__attribute__((__deprecated__))
[387] Fix | Delete
# endif
[388] Fix | Delete
# endif
[389] Fix | Delete
# if ((__GNUC__ > 3) || !defined(__GNUC_MINOR__) || (__GNUC_MINOR__ >= 1))
[390] Fix | Delete
# ifndef PNG_RESTRICT
[391] Fix | Delete
# define PNG_RESTRICT __restrict
[392] Fix | Delete
# endif
[393] Fix | Delete
# endif /* __GNUC__.__GNUC_MINOR__ > 3.0 */
[394] Fix | Delete
# endif /* __GNUC__ >= 3 */
[395] Fix | Delete
[396] Fix | Delete
# elif defined(_MSC_VER) && (_MSC_VER >= 1300)
[397] Fix | Delete
# ifndef PNG_USE_RESULT
[398] Fix | Delete
# define PNG_USE_RESULT /* not supported */
[399] Fix | Delete
# endif
[400] Fix | Delete
# ifndef PNG_NORETURN
[401] Fix | Delete
# define PNG_NORETURN __declspec(noreturn)
[402] Fix | Delete
# endif
[403] Fix | Delete
# ifndef PNG_ALLOCATED
[404] Fix | Delete
# if (_MSC_VER >= 1400)
[405] Fix | Delete
# define PNG_ALLOCATED __declspec(restrict)
[406] Fix | Delete
# endif
[407] Fix | Delete
# endif
[408] Fix | Delete
# ifndef PNG_DEPRECATED
[409] Fix | Delete
# define PNG_DEPRECATED __declspec(deprecated)
[410] Fix | Delete
# endif
[411] Fix | Delete
# ifndef PNG_PRIVATE
[412] Fix | Delete
# define PNG_PRIVATE __declspec(deprecated)
[413] Fix | Delete
# endif
[414] Fix | Delete
# ifndef PNG_RESTRICT
[415] Fix | Delete
# if (_MSC_VER >= 1400)
[416] Fix | Delete
# define PNG_RESTRICT __restrict
[417] Fix | Delete
# endif
[418] Fix | Delete
# endif
[419] Fix | Delete
[420] Fix | Delete
# elif defined(__WATCOMC__)
[421] Fix | Delete
# ifndef PNG_RESTRICT
[422] Fix | Delete
# define PNG_RESTRICT __restrict
[423] Fix | Delete
# endif
[424] Fix | Delete
# endif
[425] Fix | Delete
#endif /* PNG_PEDANTIC_WARNINGS */
[426] Fix | Delete
[427] Fix | Delete
#ifndef PNG_DEPRECATED
[428] Fix | Delete
# define PNG_DEPRECATED /* Use of this function is deprecated */
[429] Fix | Delete
#endif
[430] Fix | Delete
#ifndef PNG_USE_RESULT
[431] Fix | Delete
# define PNG_USE_RESULT /* The result of this function must be checked */
[432] Fix | Delete
#endif
[433] Fix | Delete
#ifndef PNG_NORETURN
[434] Fix | Delete
# define PNG_NORETURN /* This function does not return */
[435] Fix | Delete
#endif
[436] Fix | Delete
#ifndef PNG_ALLOCATED
[437] Fix | Delete
# define PNG_ALLOCATED /* The result of the function is new memory */
[438] Fix | Delete
#endif
[439] Fix | Delete
#ifndef PNG_PRIVATE
[440] Fix | Delete
# define PNG_PRIVATE /* This is a private libpng function */
[441] Fix | Delete
#endif
[442] Fix | Delete
#ifndef PNG_RESTRICT
[443] Fix | Delete
# define PNG_RESTRICT /* The C99 "restrict" feature */
[444] Fix | Delete
#endif
[445] Fix | Delete
[446] Fix | Delete
#ifndef PNG_FP_EXPORT /* A floating point API. */
[447] Fix | Delete
# ifdef PNG_FLOATING_POINT_SUPPORTED
[448] Fix | Delete
# define PNG_FP_EXPORT(ordinal, type, name, args)\
[449] Fix | Delete
PNG_EXPORT(ordinal, type, name, args);
[450] Fix | Delete
# else /* No floating point APIs */
[451] Fix | Delete
# define PNG_FP_EXPORT(ordinal, type, name, args)
[452] Fix | Delete
# endif
[453] Fix | Delete
#endif
[454] Fix | Delete
#ifndef PNG_FIXED_EXPORT /* A fixed point API. */
[455] Fix | Delete
# ifdef PNG_FIXED_POINT_SUPPORTED
[456] Fix | Delete
# define PNG_FIXED_EXPORT(ordinal, type, name, args)\
[457] Fix | Delete
PNG_EXPORT(ordinal, type, name, args);
[458] Fix | Delete
# else /* No fixed point APIs */
[459] Fix | Delete
# define PNG_FIXED_EXPORT(ordinal, type, name, args)
[460] Fix | Delete
# endif
[461] Fix | Delete
#endif
[462] Fix | Delete
[463] Fix | Delete
#ifndef PNG_BUILDING_SYMBOL_TABLE
[464] Fix | Delete
/* Some typedefs to get us started. These should be safe on most of the common
[465] Fix | Delete
* platforms.
[466] Fix | Delete
*
[467] Fix | Delete
* png_uint_32 and png_int_32 may, currently, be larger than required to hold a
[468] Fix | Delete
* 32-bit value however this is not normally advisable.
[469] Fix | Delete
*
[470] Fix | Delete
* png_uint_16 and png_int_16 should always be two bytes in size - this is
[471] Fix | Delete
* verified at library build time.
[472] Fix | Delete
*
[473] Fix | Delete
* png_byte must always be one byte in size.
[474] Fix | Delete
*
[475] Fix | Delete
* The checks below use constants from limits.h, as defined by the ISOC90
[476] Fix | Delete
* standard.
[477] Fix | Delete
*/
[478] Fix | Delete
#if CHAR_BIT == 8 && UCHAR_MAX == 255
[479] Fix | Delete
typedef unsigned char png_byte;
[480] Fix | Delete
#else
[481] Fix | Delete
# error "libpng requires 8-bit bytes"
[482] Fix | Delete
#endif
[483] Fix | Delete
[484] Fix | Delete
#if INT_MIN == -32768 && INT_MAX == 32767
[485] Fix | Delete
typedef int png_int_16;
[486] Fix | Delete
#elif SHRT_MIN == -32768 && SHRT_MAX == 32767
[487] Fix | Delete
typedef short png_int_16;
[488] Fix | Delete
#else
[489] Fix | Delete
# error "libpng requires a signed 16-bit type"
[490] Fix | Delete
#endif
[491] Fix | Delete
[492] Fix | Delete
#if UINT_MAX == 65535
[493] Fix | Delete
typedef unsigned int png_uint_16;
[494] Fix | Delete
#elif USHRT_MAX == 65535
[495] Fix | Delete
typedef unsigned short png_uint_16;
[496] Fix | Delete
#else
[497] Fix | Delete
# error "libpng requires an unsigned 16-bit type"
[498] Fix | Delete
#endif
[499] Fix | Delete
12
It is recommended that you Edit text format, this type of Fix handles quite a lot in one request
Function