
/* pngwin.dfn - define format of pngwin.def
 *
 * Last changed in libpng version 1.5.0 [(PENDING RELEASE)]
 * Copyright (c) 1998-2010 Glenn Randers-Pehrson
 *
 * This code is released under the libpng license.
 * For conditions of distribution and use, see the disclaimer
 * and license in png.h
 */

#define PNG_EXPORTA(ordinal, type, name, args, attributes)\
	PNG_DEFN_MAGIC- name @ordinal-PNG_DEFN_END
#define PNG_REMOVED(ordinal, type, name, args, attributes)\
	PNG_DEFN_MAGIC-; name @ordinal-PNG_DEFN_END
#define PNG_EXPORT_LAST_ORDINAL(ordinal)\
	PNG_DEFN_MAGIC-; @ordinal-PNG_DEFN_END

PNG_DEFN_MAGIC-;---------------------------------------------------------------PNG_DEFN_END
PNG_DEFN_MAGIC-; LIBPNG module definition file for Windows, WindowsCE and OS/2-PNG_DEFN_END
PNG_DEFN_MAGIC-; On OS/2 uncomment lines preceded by ;0S2-PNG_DEFN_END
PNG_DEFN_MAGIC-;---------------------------------------------------------------PNG_DEFN_END
PNG_DEFN_MAGIC--PNG_DEFN_END
PNG_DEFN_MAGIC-; If you give the library an explicit name one or other files-PNG_DEFN_END
PNG_DEFN_MAGIC-; may need modifying to support the new name on one or more-PNG_DEFN_END
PNG_DEFN_MAGIC-; systems.-PNG_DEFN_END
PNG_DEFN_MAGIC-LIBRARY-PNG_DEFN_END
PNG_DEFN_MAGIC-;OS2 DESCRIPTION	"PNG image compression library"-PNG_DEFN_END
PNG_DEFN_MAGIC-;OS2 CODE		PRELOAD MOVEABLE DISCARDABLE-PNG_DEFN_END
PNG_DEFN_MAGIC--PNG_DEFN_END
PNG_DEFN_MAGIC-EXPORTS-PNG_DEFN_END
PNG_DEFN_MAGIC-;Version 1.5.0rc01-PNG_DEFN_END

/* Read the defaults, but use scripts/pnglibconf.h.prebuilt; the 'standard'
 * header file.
 */
#include "pnglibconf.h.prebuilt"
#include "../png.h"
