| #ifndef COMMON_H | 
 | #define COMMON_H | 
 |  | 
 | #include <stdio.h> | 
 | #include <stdlib.h> | 
 | #include <string.h> | 
 | #include <ctype.h> | 
 | #include <stdarg.h> | 
 |  | 
 | #include <utime.h> | 
 | #include <unistd.h> | 
 |  | 
 | #include <sys/types.h> | 
 | #include <sys/stat.h> | 
 | #include "png.h" | 
 |  | 
 | #define MKDIR(d,m) mkdir(d,m) | 
 |  | 
 | #if (PNG_LIBPNG_VER < 10004) | 
 | # error libpng version 1.0.4 or later is required. | 
 | #endif | 
 |  | 
 | #if (PNG_LIBPNG_VER == 10207) || (PNG_LIBPNG_VER == 10206) || \ | 
 |     (PNG_LIBPNG_VER == 10017) || (PNG_LIBPNG_VER == 10016) | 
 | # error Libpng versions 1.2.7, 1.2.6, 1.0.17, and 1.0.16 | 
 | # error have a bug that will cause png2bmp to crash. | 
 | # error Update your libpng to latest version. | 
 | # error "http://www.libpng.org/pub/png/libpng.html" | 
 | #endif | 
 |  | 
 | #if !defined(PNG_READ_tRNS_SUPPORTED) || !defined(PNG_WRITE_tRNS_SUPPORTED) | 
 | # error This software requires tRNS chunk support. | 
 | #endif | 
 |  | 
 | #ifndef png_jmpbuf					/* pngconf.h (libpng 1.0.6 or later) */ | 
 | # define png_jmpbuf(png_ptr) ((png_ptr)->jmpbuf) | 
 | #endif | 
 |  | 
 |  | 
 | #define PATHDELIM		'/' | 
 | #define IsPathDelim(c)	((c)==PATHDELIM) | 
 | #define IsOptChar(c)	((c)=='-') | 
 | #define IsDBCSLead(c)	(0) | 
 |  | 
 | typedef char           CHAR; | 
 | typedef unsigned char  BYTE; | 
 | typedef short          SHORT; | 
 | typedef unsigned short WORD; | 
 | typedef int            INT; | 
 | typedef unsigned int   UINT; | 
 | typedef long           LONG; | 
 | typedef unsigned long  DWORD; | 
 | typedef enum { FALSE = 0, TRUE = 1 } BOOL; | 
 |  | 
 | typedef png_color PALETTE; | 
 | typedef struct tagIMAGE { | 
 | 	LONG    width; | 
 | 	LONG    height; | 
 | 	UINT    pixdepth; | 
 | 	UINT    palnum; | 
 | 	BOOL    topdown; | 
 | 	BOOL    alpha; | 
 | 	/* ----------- */ | 
 | 	DWORD   rowbytes; | 
 | 	DWORD   imgbytes; | 
 | 	PALETTE *palette; | 
 | 	BYTE    **rowptr; | 
 | 	BYTE    *bmpbits; | 
 | 	/* ----------- */ | 
 | 	png_color_8 sigbit; | 
 | } IMAGE; | 
 |  | 
 | extern int quietmode; | 
 | extern int errorlog; | 
 | extern const char errlogfile[]; | 
 |  | 
 | void xxprintf(const char *, ...); | 
 | void set_status(const char *, ...); | 
 | void feed_line(void); | 
 | void init_progress_meter(png_structp, png_uint_32, png_uint_32); | 
 | void row_callback(png_structp, png_uint_32, int); | 
 |  | 
 | FILE *binary_stdio(int); | 
 | char *suffix(const char *); | 
 | char *basname(const char *); | 
 | char *addslash(char *); | 
 | char *delslash(char *); | 
 | char *path_skiproot(const char *); | 
 | char *path_nextslash(const char *); | 
 |  | 
 | void png_my_error(png_structp, png_const_charp); | 
 | void png_my_warning(png_structp, png_const_charp); | 
 | BOOL imgbuf_alloc(IMAGE *); | 
 | void imgbuf_free(IMAGE *); | 
 | void imgbuf_init(IMAGE *); | 
 | int parsearg(int *, char **, int, char **, char *); | 
 | char **envargv(int *, char ***, const char *); | 
 | int tokenize(char *, const char *); | 
 | int makedir(const char *); | 
 | int renbak(const char *); | 
 | int cpyftime(const char *, const char *); | 
 |  | 
 |  | 
 | #endif /* COMMON_H */ |