Drop syslinux, require distro's version instead.
Daniel Hokka Zakrisson [Thu, 29 Nov 2007 00:24:09 +0000 (00:24 +0000)]
463 files changed:
bootcd.spec
syslinux/.depend [deleted file]
syslinux/BUGS [deleted file]
syslinux/COPYING [deleted file]
syslinux/Makefile [deleted file]
syslinux/NEWS [deleted file]
syslinux/README [deleted file]
syslinux/README.menu [deleted file]
syslinux/README.usbkey [deleted file]
syslinux/TODO [deleted file]
syslinux/bcopy32.inc [deleted file]
syslinux/bin2c.pl [deleted file]
syslinux/bin2hex.pl [deleted file]
syslinux/bios.inc [deleted file]
syslinux/bootsect.inc [deleted file]
syslinux/cache.inc [deleted file]
syslinux/checksumiso.pl [deleted file]
syslinux/cmdline.inc [deleted file]
syslinux/com32.inc [deleted file]
syslinux/com32/LICENCE [deleted file]
syslinux/com32/Makefile [deleted file]
syslinux/com32/include/bitsize/limits.h [deleted file]
syslinux/com32/include/bitsize/stddef.h [deleted file]
syslinux/com32/include/bitsize/stdint.h [deleted file]
syslinux/com32/include/bitsize/stdintconst.h [deleted file]
syslinux/com32/include/bitsize/stdintlimits.h [deleted file]
syslinux/com32/include/com32.h [deleted file]
syslinux/com32/include/console.h [deleted file]
syslinux/com32/include/ctype.h [deleted file]
syslinux/com32/include/dev.h [deleted file]
syslinux/com32/include/errno.h [deleted file]
syslinux/com32/include/fcntl.h [deleted file]
syslinux/com32/include/inttypes.h [deleted file]
syslinux/com32/include/klibc/compiler.h [deleted file]
syslinux/com32/include/klibc/diverr.h [deleted file]
syslinux/com32/include/klibc/extern.h [deleted file]
syslinux/com32/include/klibc/sysconfig.h [deleted file]
syslinux/com32/include/limits.h [deleted file]
syslinux/com32/include/minmax.h [deleted file]
syslinux/com32/include/netinet/in.h [deleted file]
syslinux/com32/include/png.h [deleted file]
syslinux/com32/include/pngconf.h [deleted file]
syslinux/com32/include/stdarg.h [deleted file]
syslinux/com32/include/stdbool.h [deleted file]
syslinux/com32/include/stddef.h [deleted file]
syslinux/com32/include/stdint.h [deleted file]
syslinux/com32/include/stdio.h [deleted file]
syslinux/com32/include/stdlib.h [deleted file]
syslinux/com32/include/string.h [deleted file]
syslinux/com32/include/sys/cpu.h [deleted file]
syslinux/com32/include/sys/io.h [deleted file]
syslinux/com32/include/sys/pci.h [deleted file]
syslinux/com32/include/sys/stat.h [deleted file]
syslinux/com32/include/sys/times.h [deleted file]
syslinux/com32/include/sys/types.h [deleted file]
syslinux/com32/include/syslinux.h [deleted file]
syslinux/com32/include/time.h [deleted file]
syslinux/com32/include/unistd.h [deleted file]
syslinux/com32/include/zconf.h [deleted file]
syslinux/com32/include/zlib.h [deleted file]
syslinux/com32/lib/MCONFIG [deleted file]
syslinux/com32/lib/Makefile [deleted file]
syslinux/com32/lib/abort.c [deleted file]
syslinux/com32/lib/asprintf.c [deleted file]
syslinux/com32/lib/atexit.c [deleted file]
syslinux/com32/lib/atexit.h [deleted file]
syslinux/com32/lib/atoi.c [deleted file]
syslinux/com32/lib/atol.c [deleted file]
syslinux/com32/lib/atoll.c [deleted file]
syslinux/com32/lib/atox.c [deleted file]
syslinux/com32/lib/calloc.c [deleted file]
syslinux/com32/lib/com32.ld [deleted file]
syslinux/com32/lib/creat.c [deleted file]
syslinux/com32/lib/ctypes.c [deleted file]
syslinux/com32/lib/errno.c [deleted file]
syslinux/com32/lib/exit.c [deleted file]
syslinux/com32/lib/fgetc.c [deleted file]
syslinux/com32/lib/fgets.c [deleted file]
syslinux/com32/lib/fopen.c [deleted file]
syslinux/com32/lib/fopendev.c [deleted file]
syslinux/com32/lib/fprintf.c [deleted file]
syslinux/com32/lib/fputc.c [deleted file]
syslinux/com32/lib/fputs.c [deleted file]
syslinux/com32/lib/fread.c [deleted file]
syslinux/com32/lib/fread2.c [deleted file]
syslinux/com32/lib/free.c [deleted file]
syslinux/com32/lib/fwrite.c [deleted file]
syslinux/com32/lib/fwrite2.c [deleted file]
syslinux/com32/lib/getopt.c [deleted file]
syslinux/com32/lib/init.h [deleted file]
syslinux/com32/lib/libgcc/__ashldi3.S [deleted file]
syslinux/com32/lib/libgcc/__ashrdi3.S [deleted file]
syslinux/com32/lib/libgcc/__divdi3.c [deleted file]
syslinux/com32/lib/libgcc/__lshrdi3.S [deleted file]
syslinux/com32/lib/libgcc/__moddi3.c [deleted file]
syslinux/com32/lib/libgcc/__muldi3.S [deleted file]
syslinux/com32/lib/libgcc/__negdi2.S [deleted file]
syslinux/com32/lib/libgcc/__udivdi3.c [deleted file]
syslinux/com32/lib/libgcc/__udivmoddi4.c [deleted file]
syslinux/com32/lib/libgcc/__umoddi3.c [deleted file]
syslinux/com32/lib/libpng/ANNOUNCE [deleted file]
syslinux/com32/lib/libpng/CHANGES [deleted file]
syslinux/com32/lib/libpng/KNOWNBUG [deleted file]
syslinux/com32/lib/libpng/LICENSE [deleted file]
syslinux/com32/lib/libpng/README [deleted file]
syslinux/com32/lib/libpng/TODO [deleted file]
syslinux/com32/lib/libpng/Y2KINFO [deleted file]
syslinux/com32/lib/libpng/example.c [deleted file]
syslinux/com32/lib/libpng/libpng.3 [deleted file]
syslinux/com32/lib/libpng/libpng.txt [deleted file]
syslinux/com32/lib/libpng/libpngpf.3 [deleted file]
syslinux/com32/lib/libpng/png.5 [deleted file]
syslinux/com32/lib/libpng/png.c [deleted file]
syslinux/com32/lib/libpng/pngerror.c [deleted file]
syslinux/com32/lib/libpng/pnggccrd.c [deleted file]
syslinux/com32/lib/libpng/pngget.c [deleted file]
syslinux/com32/lib/libpng/pngmem.c [deleted file]
syslinux/com32/lib/libpng/pngpread.c [deleted file]
syslinux/com32/lib/libpng/pngread.c [deleted file]
syslinux/com32/lib/libpng/pngrio.c [deleted file]
syslinux/com32/lib/libpng/pngrtran.c [deleted file]
syslinux/com32/lib/libpng/pngrutil.c [deleted file]
syslinux/com32/lib/libpng/pngset.c [deleted file]
syslinux/com32/lib/libpng/pngtest.c [deleted file]
syslinux/com32/lib/libpng/pngtrans.c [deleted file]
syslinux/com32/lib/libpng/pngvcrd.c [deleted file]
syslinux/com32/lib/libpng/pngwio.c [deleted file]
syslinux/com32/lib/libpng/pngwrite.c [deleted file]
syslinux/com32/lib/libpng/pngwtran.c [deleted file]
syslinux/com32/lib/libpng/pngwutil.c [deleted file]
syslinux/com32/lib/lrand48.c [deleted file]
syslinux/com32/lib/malloc.c [deleted file]
syslinux/com32/lib/malloc.h [deleted file]
syslinux/com32/lib/memccpy.c [deleted file]
syslinux/com32/lib/memchr.c [deleted file]
syslinux/com32/lib/memcmp.c [deleted file]
syslinux/com32/lib/memcpy.c [deleted file]
syslinux/com32/lib/memmem.c [deleted file]
syslinux/com32/lib/memmove.c [deleted file]
syslinux/com32/lib/memset.c [deleted file]
syslinux/com32/lib/memswap.c [deleted file]
syslinux/com32/lib/onexit.c [deleted file]
syslinux/com32/lib/pci/cfgtype.c [deleted file]
syslinux/com32/lib/pci/pci.h [deleted file]
syslinux/com32/lib/pci/readb.c [deleted file]
syslinux/com32/lib/pci/readl.c [deleted file]
syslinux/com32/lib/pci/readw.c [deleted file]
syslinux/com32/lib/pci/readx.c [deleted file]
syslinux/com32/lib/pci/writeb.c [deleted file]
syslinux/com32/lib/pci/writel.c [deleted file]
syslinux/com32/lib/pci/writew.c [deleted file]
syslinux/com32/lib/pci/writex.c [deleted file]
syslinux/com32/lib/perror.c [deleted file]
syslinux/com32/lib/printf.c [deleted file]
syslinux/com32/lib/putchar.c [deleted file]
syslinux/com32/lib/puts.c [deleted file]
syslinux/com32/lib/qsort.c [deleted file]
syslinux/com32/lib/realloc.c [deleted file]
syslinux/com32/lib/seed48.c [deleted file]
syslinux/com32/lib/setjmp.S [deleted file]
syslinux/com32/lib/snprintf.c [deleted file]
syslinux/com32/lib/sprintf.c [deleted file]
syslinux/com32/lib/srand48.c [deleted file]
syslinux/com32/lib/sscanf.c [deleted file]
syslinux/com32/lib/stack.c [deleted file]
syslinux/com32/lib/strcasecmp.c [deleted file]
syslinux/com32/lib/strcat.c [deleted file]
syslinux/com32/lib/strchr.c [deleted file]
syslinux/com32/lib/strcmp.c [deleted file]
syslinux/com32/lib/strcpy.c [deleted file]
syslinux/com32/lib/strdup.c [deleted file]
syslinux/com32/lib/strerror.c [deleted file]
syslinux/com32/lib/strlcat.c [deleted file]
syslinux/com32/lib/strlcpy.c [deleted file]
syslinux/com32/lib/strlen.c [deleted file]
syslinux/com32/lib/strncasecmp.c [deleted file]
syslinux/com32/lib/strncat.c [deleted file]
syslinux/com32/lib/strncmp.c [deleted file]
syslinux/com32/lib/strncpy.c [deleted file]
syslinux/com32/lib/strndup.c [deleted file]
syslinux/com32/lib/strntoimax.c [deleted file]
syslinux/com32/lib/strntoumax.c [deleted file]
syslinux/com32/lib/strrchr.c [deleted file]
syslinux/com32/lib/strsep.c [deleted file]
syslinux/com32/lib/strspn.c [deleted file]
syslinux/com32/lib/strstr.c [deleted file]
syslinux/com32/lib/strtoimax.c [deleted file]
syslinux/com32/lib/strtok.c [deleted file]
syslinux/com32/lib/strtol.c [deleted file]
syslinux/com32/lib/strtoll.c [deleted file]
syslinux/com32/lib/strtoul.c [deleted file]
syslinux/com32/lib/strtoull.c [deleted file]
syslinux/com32/lib/strtoumax.c [deleted file]
syslinux/com32/lib/strtox.c [deleted file]
syslinux/com32/lib/sys/ansicon_write.c [deleted file]
syslinux/com32/lib/sys/ansiserial_write.c [deleted file]
syslinux/com32/lib/sys/argv.c [deleted file]
syslinux/com32/lib/sys/close.c [deleted file]
syslinux/com32/lib/sys/entry.S [deleted file]
syslinux/com32/lib/sys/err_read.c [deleted file]
syslinux/com32/lib/sys/err_write.c [deleted file]
syslinux/com32/lib/sys/exit.S [deleted file]
syslinux/com32/lib/sys/file.h [deleted file]
syslinux/com32/lib/sys/fileclose.c [deleted file]
syslinux/com32/lib/sys/fileinfo.c [deleted file]
syslinux/com32/lib/sys/fileread.c [deleted file]
syslinux/com32/lib/sys/ftell.c [deleted file]
syslinux/com32/lib/sys/idle.c [deleted file]
syslinux/com32/lib/sys/isatty.c [deleted file]
syslinux/com32/lib/sys/line_input.c [deleted file]
syslinux/com32/lib/sys/null_read.c [deleted file]
syslinux/com32/lib/sys/null_write.c [deleted file]
syslinux/com32/lib/sys/open.c [deleted file]
syslinux/com32/lib/sys/openconsole.c [deleted file]
syslinux/com32/lib/sys/opendev.c [deleted file]
syslinux/com32/lib/sys/rawcon_read.c [deleted file]
syslinux/com32/lib/sys/rawcon_write.c [deleted file]
syslinux/com32/lib/sys/read.c [deleted file]
syslinux/com32/lib/sys/serial_write.c [deleted file]
syslinux/com32/lib/sys/stdcon_read.c [deleted file]
syslinux/com32/lib/sys/stdcon_write.c [deleted file]
syslinux/com32/lib/sys/times.c [deleted file]
syslinux/com32/lib/sys/write.c [deleted file]
syslinux/com32/lib/vasprintf.c [deleted file]
syslinux/com32/lib/vfprintf.c [deleted file]
syslinux/com32/lib/vprintf.c [deleted file]
syslinux/com32/lib/vsnprintf.c [deleted file]
syslinux/com32/lib/vsprintf.c [deleted file]
syslinux/com32/lib/vsscanf.c [deleted file]
syslinux/com32/lib/zlib/FAQ [deleted file]
syslinux/com32/lib/zlib/README [deleted file]
syslinux/com32/lib/zlib/adler32.c [deleted file]
syslinux/com32/lib/zlib/algorithm.txt [deleted file]
syslinux/com32/lib/zlib/compress.c [deleted file]
syslinux/com32/lib/zlib/crc32.c [deleted file]
syslinux/com32/lib/zlib/crc32.h [deleted file]
syslinux/com32/lib/zlib/deflate.c [deleted file]
syslinux/com32/lib/zlib/deflate.h [deleted file]
syslinux/com32/lib/zlib/example.c [deleted file]
syslinux/com32/lib/zlib/gzio.c [deleted file]
syslinux/com32/lib/zlib/infback.c [deleted file]
syslinux/com32/lib/zlib/inffast.c [deleted file]
syslinux/com32/lib/zlib/inffast.h [deleted file]
syslinux/com32/lib/zlib/inffixed.h [deleted file]
syslinux/com32/lib/zlib/inflate.c [deleted file]
syslinux/com32/lib/zlib/inflate.h [deleted file]
syslinux/com32/lib/zlib/inftrees.c [deleted file]
syslinux/com32/lib/zlib/inftrees.h [deleted file]
syslinux/com32/lib/zlib/minigzip.c [deleted file]
syslinux/com32/lib/zlib/trees.c [deleted file]
syslinux/com32/lib/zlib/trees.h [deleted file]
syslinux/com32/lib/zlib/uncompr.c [deleted file]
syslinux/com32/lib/zlib/zconf.in.h [deleted file]
syslinux/com32/lib/zlib/zlib.3 [deleted file]
syslinux/com32/lib/zlib/zutil.c [deleted file]
syslinux/com32/lib/zlib/zutil.h [deleted file]
syslinux/com32/libutil/Makefile [deleted file]
syslinux/com32/libutil/ansiline.c [deleted file]
syslinux/com32/libutil/ansiraw.c [deleted file]
syslinux/com32/libutil/get_key.c [deleted file]
syslinux/com32/libutil/idle.c [deleted file]
syslinux/com32/libutil/include/base64.h [deleted file]
syslinux/com32/libutil/include/consoles.h [deleted file]
syslinux/com32/libutil/include/getkey.h [deleted file]
syslinux/com32/libutil/include/libutil.h [deleted file]
syslinux/com32/libutil/include/minmax.h [deleted file]
syslinux/com32/libutil/include/sha1.h [deleted file]
syslinux/com32/libutil/sha1hash.c [deleted file]
syslinux/com32/libutil/unbase64.c [deleted file]
syslinux/com32/modules/Makefile [deleted file]
syslinux/com32/modules/chain.c [deleted file]
syslinux/com32/modules/ethersel.c [deleted file]
syslinux/com32/modules/i386-elf.h [deleted file]
syslinux/com32/modules/mb_header.h [deleted file]
syslinux/com32/modules/mb_info.h [deleted file]
syslinux/com32/modules/mboot.c [deleted file]
syslinux/com32/modules/mboot.doc [deleted file]
syslinux/com32/modules/menu.c [deleted file]
syslinux/com32/modules/menu.h [deleted file]
syslinux/com32/modules/readconfig.c [deleted file]
syslinux/com32/samples/Makefile [deleted file]
syslinux/com32/samples/cat.c [deleted file]
syslinux/com32/samples/fancyhello.c [deleted file]
syslinux/com32/samples/hello.c [deleted file]
syslinux/com32/samples/keytest.c [deleted file]
syslinux/com32/samples/resolv.c [deleted file]
syslinux/comboot.doc [deleted file]
syslinux/comboot.inc [deleted file]
syslinux/config.inc [deleted file]
syslinux/conio.inc [deleted file]
syslinux/copybs.asm [deleted file]
syslinux/cpuinit.inc [deleted file]
syslinux/distrib.doc [deleted file]
syslinux/dnsresolv.inc [deleted file]
syslinux/dos/Makefile [deleted file]
syslinux/dos/__divdi3.c [deleted file]
syslinux/dos/__udivmoddi4.c [deleted file]
syslinux/dos/argv.c [deleted file]
syslinux/dos/atou.c [deleted file]
syslinux/dos/code16.h [deleted file]
syslinux/dos/com16.ld [deleted file]
syslinux/dos/conio.c [deleted file]
syslinux/dos/crt0.S [deleted file]
syslinux/dos/errno.h [deleted file]
syslinux/dos/free.c [deleted file]
syslinux/dos/malloc.c [deleted file]
syslinux/dos/malloc.h [deleted file]
syslinux/dos/memcpy.S [deleted file]
syslinux/dos/memset.S [deleted file]
syslinux/dos/mystuff.h [deleted file]
syslinux/dos/perror.c [deleted file]
syslinux/dos/printf.c [deleted file]
syslinux/dos/skipatou.c [deleted file]
syslinux/dos/stdio.h [deleted file]
syslinux/dos/stdlib.h [deleted file]
syslinux/dos/string.h [deleted file]
syslinux/dos/syslinux.c [deleted file]
syslinux/ext2_fs.inc [deleted file]
syslinux/extlinux.asm [deleted file]
syslinux/extlinux.bin [deleted file]
syslinux/extlinux.bss [deleted file]
syslinux/extlinux.doc [deleted file]
syslinux/extlinux.sys [deleted file]
syslinux/extlinux/Makefile [deleted file]
syslinux/extlinux/ext2_fs.h [deleted file]
syslinux/extlinux/extlinux.c [deleted file]
syslinux/font.inc [deleted file]
syslinux/genhash.pl [deleted file]
syslinux/getc.inc [deleted file]
syslinux/gethostip.c [deleted file]
syslinux/graphics.inc [deleted file]
syslinux/highmem.inc [deleted file]
syslinux/init.inc [deleted file]
syslinux/isolinux-debug.bin [deleted file]
syslinux/isolinux.asm [deleted file]
syslinux/isolinux.bin [deleted file]
syslinux/isolinux.doc [deleted file]
syslinux/kernel.inc [deleted file]
syslinux/keytab-lilo.doc [deleted file]
syslinux/keytab-lilo.pl [deleted file]
syslinux/keywords [deleted file]
syslinux/keywords.inc [deleted file]
syslinux/kwdhash.gen [deleted file]
syslinux/layout.inc [deleted file]
syslinux/ldlinux.asm [deleted file]
syslinux/ldlinux.bin [deleted file]
syslinux/ldlinux.bss [deleted file]
syslinux/ldlinux.sys [deleted file]
syslinux/libfat/cache.c [deleted file]
syslinux/libfat/fat.h [deleted file]
syslinux/libfat/fatchain.c [deleted file]
syslinux/libfat/libfat.h [deleted file]
syslinux/libfat/libfatint.h [deleted file]
syslinux/libfat/open.c [deleted file]
syslinux/libfat/searchdir.c [deleted file]
syslinux/libfat/ulint.h [deleted file]
syslinux/loadhigh.inc [deleted file]
syslinux/lss16toppm [deleted file]
syslinux/macros.inc [deleted file]
syslinux/mbr.asm [deleted file]
syslinux/mbr.bin [deleted file]
syslinux/memdisk/.depend [deleted file]
syslinux/memdisk/Makefile [deleted file]
syslinux/memdisk/conio.c [deleted file]
syslinux/memdisk/conio.h [deleted file]
syslinux/memdisk/e820.h [deleted file]
syslinux/memdisk/e820data [deleted file]
syslinux/memdisk/e820func.c [deleted file]
syslinux/memdisk/e820test.c [deleted file]
syslinux/memdisk/inflate.c [deleted file]
syslinux/memdisk/memcpy.S [deleted file]
syslinux/memdisk/memdisk.asm [deleted file]
syslinux/memdisk/memdisk.doc [deleted file]
syslinux/memdisk/memdisk.h [deleted file]
syslinux/memdisk/memdisk16.asm [deleted file]
syslinux/memdisk/memset.S [deleted file]
syslinux/memdisk/msetup.c [deleted file]
syslinux/memdisk/postprocess.pl [deleted file]
syslinux/memdisk/setup.c [deleted file]
syslinux/memdisk/start32.S [deleted file]
syslinux/memdisk/testdata1 [deleted file]
syslinux/memdisk/testdata2 [deleted file]
syslinux/memdisk/testdata3 [deleted file]
syslinux/memdisk/unzip.c [deleted file]
syslinux/memdisk/version.h [deleted file]
syslinux/menu/CHANGES [deleted file]
syslinux/menu/HISTORY [deleted file]
syslinux/menu/MANUAL [deleted file]
syslinux/menu/Makefile [deleted file]
syslinux/menu/README [deleted file]
syslinux/menu/TODO [deleted file]
syslinux/menu/complex.c [deleted file]
syslinux/menu/libmenu/com32io.c [deleted file]
syslinux/menu/libmenu/com32io.h [deleted file]
syslinux/menu/libmenu/des.c [deleted file]
syslinux/menu/libmenu/des.h [deleted file]
syslinux/menu/libmenu/help.c [deleted file]
syslinux/menu/libmenu/help.h [deleted file]
syslinux/menu/libmenu/menu.c [deleted file]
syslinux/menu/libmenu/menu.h [deleted file]
syslinux/menu/libmenu/passwords.c [deleted file]
syslinux/menu/libmenu/passwords.h [deleted file]
syslinux/menu/libmenu/scancodes.h [deleted file]
syslinux/menu/libmenu/syslnx.c [deleted file]
syslinux/menu/libmenu/syslnx.h [deleted file]
syslinux/menu/libmenu/tui.c [deleted file]
syslinux/menu/libmenu/tui.h [deleted file]
syslinux/menu/password [deleted file]
syslinux/menu/simple.c [deleted file]
syslinux/mkdiskimage.in [deleted file]
syslinux/mtools/Makefile [deleted file]
syslinux/mtools/syslinux.c [deleted file]
syslinux/now.pl [deleted file]
syslinux/parsecmd.inc [deleted file]
syslinux/parseconfig.inc [deleted file]
syslinux/ppmtolss16 [deleted file]
syslinux/pxe.inc [deleted file]
syslinux/pxelinux.asm [deleted file]
syslinux/pxelinux.doc [deleted file]
syslinux/rawcon.inc [deleted file]
syslinux/regdump.inc [deleted file]
syslinux/rllpack.inc [deleted file]
syslinux/runkernel.inc [deleted file]
syslinux/sample/Makefile [deleted file]
syslinux/sample/README [deleted file]
syslinux/sample/atou.c [deleted file]
syslinux/sample/c32echo.c [deleted file]
syslinux/sample/c32entry.S [deleted file]
syslinux/sample/c32exit.S [deleted file]
syslinux/sample/comecho.asm [deleted file]
syslinux/sample/conio.c [deleted file]
syslinux/sample/fd.c [deleted file]
syslinux/sample/filetest.c [deleted file]
syslinux/sample/hello.c [deleted file]
syslinux/sample/hello2.c [deleted file]
syslinux/sample/mdiskchk.c [deleted file]
syslinux/sample/mdiskchk.com [deleted file]
syslinux/sample/printf.c [deleted file]
syslinux/sample/sample.msg [deleted file]
syslinux/sample/skipatou.c [deleted file]
syslinux/sample/syslogo.png [deleted file]
syslinux/sha1pass [deleted file]
syslinux/strcpy.inc [deleted file]
syslinux/sys2ansi.pl [deleted file]
syslinux/syslinux.doc [deleted file]
syslinux/syslinux.h [deleted file]
syslinux/syslinux.spec [deleted file]
syslinux/syslxmod.c [deleted file]
syslinux/tracers.inc [deleted file]
syslinux/ui.inc [deleted file]
syslinux/unix/Makefile [deleted file]
syslinux/unix/syslinux.c [deleted file]
syslinux/version [deleted file]
syslinux/version.gen [deleted file]
syslinux/version.h [deleted file]
syslinux/version.pl [deleted file]
syslinux/win32/Makefile [deleted file]
syslinux/win32/hello.c [deleted file]
syslinux/win32/hello.exe [deleted file]
syslinux/win32/syslinux.c [deleted file]
syslinux/win32/syslinux.exe [deleted file]
syslinux/writehex.inc [deleted file]
syslinux/writestr.inc [deleted file]

index 05279bb..fce1af2 100644 (file)
@@ -16,7 +16,7 @@ Group: System Environment/Base
 Source0: %{name}-%{version}.tar.gz
 BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
 
-Requires: dosfstools, mkisofs, gzip, mtools
+Requires: dosfstools, mkisofs, gzip, mtools, syslinux
 
 AutoReqProv: no
 %define debug_package %{nil}
diff --git a/syslinux/.depend b/syslinux/.depend
deleted file mode 100644 (file)
index 34adb7c..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
-syslxmod.o: syslxmod.c syslinux.h
-gethostip.o: gethostip.c
-copybs.bin: copybs.asm
-extlinux.bin: extlinux.asm macros.inc config.inc kernel.inc bios.inc tracers.inc \
-   layout.inc ext2_fs.inc init.inc cpuinit.inc ui.inc runkernel.inc \
-   comboot.inc com32.inc cmdline.inc bootsect.inc getc.inc conio.inc \
-   writestr.inc parseconfig.inc rllpack.inc parsecmd.inc bcopy32.inc \
-   loadhigh.inc font.inc graphics.inc highmem.inc strcpy.inc cache.inc \
-   keywords.inc
-isolinux.bin: isolinux.asm macros.inc config.inc kernel.inc bios.inc tracers.inc \
-   layout.inc writestr.inc writehex.inc init.inc cpuinit.inc ui.inc \
-   runkernel.inc comboot.inc com32.inc cmdline.inc bootsect.inc getc.inc \
-   conio.inc parseconfig.inc rllpack.inc parsecmd.inc bcopy32.inc \
-   loadhigh.inc font.inc graphics.inc highmem.inc strcpy.inc rawcon.inc \
-   keywords.inc
-ldlinux.bin: ldlinux.asm macros.inc config.inc kernel.inc bios.inc tracers.inc \
-   layout.inc cpuinit.inc init.inc ui.inc runkernel.inc comboot.inc \
-   com32.inc cmdline.inc bootsect.inc getc.inc conio.inc writestr.inc \
-   parseconfig.inc rllpack.inc parsecmd.inc bcopy32.inc loadhigh.inc font.inc \
-   graphics.inc highmem.inc strcpy.inc cache.inc keywords.inc
-mbr.bin: mbr.asm bios.inc
-pxelinux.bin: pxelinux.asm macros.inc config.inc kernel.inc bios.inc tracers.inc pxe.inc \
-   layout.inc init.inc cpuinit.inc ui.inc runkernel.inc comboot.inc \
-   com32.inc cmdline.inc bootsect.inc getc.inc conio.inc writestr.inc \
-   writehex.inc parseconfig.inc rllpack.inc parsecmd.inc bcopy32.inc \
-   loadhigh.inc font.inc graphics.inc highmem.inc strcpy.inc rawcon.inc \
-   dnsresolv.inc keywords.inc
diff --git a/syslinux/BUGS b/syslinux/BUGS
deleted file mode 100644 (file)
index 9639da8..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-Known bugs that have not yet been fixed:
-
-- PXELINUX: Some PXE stacks fail with routing enabled, some with
-  routing disabled.  Try both?
diff --git a/syslinux/COPYING b/syslinux/COPYING
deleted file mode 100644 (file)
index 60549be..0000000
+++ /dev/null
@@ -1,340 +0,0 @@
-                   GNU GENERAL PUBLIC LICENSE
-                      Version 2, June 1991
-
- Copyright (C) 1989, 1991 Free Software Foundation, Inc.
-                       59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
-                           Preamble
-
-  The licenses for most software are designed to take away your
-freedom to share and change it.  By contrast, the GNU General Public
-License is intended to guarantee your freedom to share and change free
-software--to make sure the software is free for all its users.  This
-General Public License applies to most of the Free Software
-Foundation's software and to any other program whose authors commit to
-using it.  (Some other Free Software Foundation software is covered by
-the GNU Library General Public License instead.)  You can apply it to
-your programs, too.
-
-  When we speak of free software, we are referring to freedom, not
-price.  Our General Public Licenses are designed to make sure that you
-have the freedom to distribute copies of free software (and charge for
-this service if you wish), that you receive source code or can get it
-if you want it, that you can change the software or use pieces of it
-in new free programs; and that you know you can do these things.
-
-  To protect your rights, we need to make restrictions that forbid
-anyone to deny you these rights or to ask you to surrender the rights.
-These restrictions translate to certain responsibilities for you if you
-distribute copies of the software, or if you modify it.
-
-  For example, if you distribute copies of such a program, whether
-gratis or for a fee, you must give the recipients all the rights that
-you have.  You must make sure that they, too, receive or can get the
-source code.  And you must show them these terms so they know their
-rights.
-
-  We protect your rights with two steps: (1) copyright the software, and
-(2) offer you this license which gives you legal permission to copy,
-distribute and/or modify the software.
-
-  Also, for each author's protection and ours, we want to make certain
-that everyone understands that there is no warranty for this free
-software.  If the software is modified by someone else and passed on, we
-want its recipients to know that what they have is not the original, so
-that any problems introduced by others will not reflect on the original
-authors' reputations.
-
-  Finally, any free program is threatened constantly by software
-patents.  We wish to avoid the danger that redistributors of a free
-program will individually obtain patent licenses, in effect making the
-program proprietary.  To prevent this, we have made it clear that any
-patent must be licensed for everyone's free use or not licensed at all.
-
-  The precise terms and conditions for copying, distribution and
-modification follow.
-\f
-                   GNU GENERAL PUBLIC LICENSE
-   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
-
-  0. This License applies to any program or other work which contains
-a notice placed by the copyright holder saying it may be distributed
-under the terms of this General Public License.  The "Program", below,
-refers to any such program or work, and a "work based on the Program"
-means either the Program or any derivative work under copyright law:
-that is to say, a work containing the Program or a portion of it,
-either verbatim or with modifications and/or translated into another
-language.  (Hereinafter, translation is included without limitation in
-the term "modification".)  Each licensee is addressed as "you".
-
-Activities other than copying, distribution and modification are not
-covered by this License; they are outside its scope.  The act of
-running the Program is not restricted, and the output from the Program
-is covered only if its contents constitute a work based on the
-Program (independent of having been made by running the Program).
-Whether that is true depends on what the Program does.
-
-  1. You may copy and distribute verbatim copies of the Program's
-source code as you receive it, in any medium, provided that you
-conspicuously and appropriately publish on each copy an appropriate
-copyright notice and disclaimer of warranty; keep intact all the
-notices that refer to this License and to the absence of any warranty;
-and give any other recipients of the Program a copy of this License
-along with the Program.
-
-You may charge a fee for the physical act of transferring a copy, and
-you may at your option offer warranty protection in exchange for a fee.
-
-  2. You may modify your copy or copies of the Program or any portion
-of it, thus forming a work based on the Program, and copy and
-distribute such modifications or work under the terms of Section 1
-above, provided that you also meet all of these conditions:
-
-    a) You must cause the modified files to carry prominent notices
-    stating that you changed the files and the date of any change.
-
-    b) You must cause any work that you distribute or publish, that in
-    whole or in part contains or is derived from the Program or any
-    part thereof, to be licensed as a whole at no charge to all third
-    parties under the terms of this License.
-
-    c) If the modified program normally reads commands interactively
-    when run, you must cause it, when started running for such
-    interactive use in the most ordinary way, to print or display an
-    announcement including an appropriate copyright notice and a
-    notice that there is no warranty (or else, saying that you provide
-    a warranty) and that users may redistribute the program under
-    these conditions, and telling the user how to view a copy of this
-    License.  (Exception: if the Program itself is interactive but
-    does not normally print such an announcement, your work based on
-    the Program is not required to print an announcement.)
-\f
-These requirements apply to the modified work as a whole.  If
-identifiable sections of that work are not derived from the Program,
-and can be reasonably considered independent and separate works in
-themselves, then this License, and its terms, do not apply to those
-sections when you distribute them as separate works.  But when you
-distribute the same sections as part of a whole which is a work based
-on the Program, the distribution of the whole must be on the terms of
-this License, whose permissions for other licensees extend to the
-entire whole, and thus to each and every part regardless of who wrote it.
-
-Thus, it is not the intent of this section to claim rights or contest
-your rights to work written entirely by you; rather, the intent is to
-exercise the right to control the distribution of derivative or
-collective works based on the Program.
-
-In addition, mere aggregation of another work not based on the Program
-with the Program (or with a work based on the Program) on a volume of
-a storage or distribution medium does not bring the other work under
-the scope of this License.
-
-  3. You may copy and distribute the Program (or a work based on it,
-under Section 2) in object code or executable form under the terms of
-Sections 1 and 2 above provided that you also do one of the following:
-
-    a) Accompany it with the complete corresponding machine-readable
-    source code, which must be distributed under the terms of Sections
-    1 and 2 above on a medium customarily used for software interchange; or,
-
-    b) Accompany it with a written offer, valid for at least three
-    years, to give any third party, for a charge no more than your
-    cost of physically performing source distribution, a complete
-    machine-readable copy of the corresponding source code, to be
-    distributed under the terms of Sections 1 and 2 above on a medium
-    customarily used for software interchange; or,
-
-    c) Accompany it with the information you received as to the offer
-    to distribute corresponding source code.  (This alternative is
-    allowed only for noncommercial distribution and only if you
-    received the program in object code or executable form with such
-    an offer, in accord with Subsection b above.)
-
-The source code for a work means the preferred form of the work for
-making modifications to it.  For an executable work, complete source
-code means all the source code for all modules it contains, plus any
-associated interface definition files, plus the scripts used to
-control compilation and installation of the executable.  However, as a
-special exception, the source code distributed need not include
-anything that is normally distributed (in either source or binary
-form) with the major components (compiler, kernel, and so on) of the
-operating system on which the executable runs, unless that component
-itself accompanies the executable.
-
-If distribution of executable or object code is made by offering
-access to copy from a designated place, then offering equivalent
-access to copy the source code from the same place counts as
-distribution of the source code, even though third parties are not
-compelled to copy the source along with the object code.
-\f
-  4. You may not copy, modify, sublicense, or distribute the Program
-except as expressly provided under this License.  Any attempt
-otherwise to copy, modify, sublicense or distribute the Program is
-void, and will automatically terminate your rights under this License.
-However, parties who have received copies, or rights, from you under
-this License will not have their licenses terminated so long as such
-parties remain in full compliance.
-
-  5. You are not required to accept this License, since you have not
-signed it.  However, nothing else grants you permission to modify or
-distribute the Program or its derivative works.  These actions are
-prohibited by law if you do not accept this License.  Therefore, by
-modifying or distributing the Program (or any work based on the
-Program), you indicate your acceptance of this License to do so, and
-all its terms and conditions for copying, distributing or modifying
-the Program or works based on it.
-
-  6. Each time you redistribute the Program (or any work based on the
-Program), the recipient automatically receives a license from the
-original licensor to copy, distribute or modify the Program subject to
-these terms and conditions.  You may not impose any further
-restrictions on the recipients' exercise of the rights granted herein.
-You are not responsible for enforcing compliance by third parties to
-this License.
-
-  7. If, as a consequence of a court judgment or allegation of patent
-infringement or for any other reason (not limited to patent issues),
-conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License.  If you cannot
-distribute so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you
-may not distribute the Program at all.  For example, if a patent
-license would not permit royalty-free redistribution of the Program by
-all those who receive copies directly or indirectly through you, then
-the only way you could satisfy both it and this License would be to
-refrain entirely from distribution of the Program.
-
-If any portion of this section is held invalid or unenforceable under
-any particular circumstance, the balance of the section is intended to
-apply and the section as a whole is intended to apply in other
-circumstances.
-
-It is not the purpose of this section to induce you to infringe any
-patents or other property right claims or to contest validity of any
-such claims; this section has the sole purpose of protecting the
-integrity of the free software distribution system, which is
-implemented by public license practices.  Many people have made
-generous contributions to the wide range of software distributed
-through that system in reliance on consistent application of that
-system; it is up to the author/donor to decide if he or she is willing
-to distribute software through any other system and a licensee cannot
-impose that choice.
-
-This section is intended to make thoroughly clear what is believed to
-be a consequence of the rest of this License.
-\f
-  8. If the distribution and/or use of the Program is restricted in
-certain countries either by patents or by copyrighted interfaces, the
-original copyright holder who places the Program under this License
-may add an explicit geographical distribution limitation excluding
-those countries, so that distribution is permitted only in or among
-countries not thus excluded.  In such case, this License incorporates
-the limitation as if written in the body of this License.
-
-  9. The Free Software Foundation may publish revised and/or new versions
-of the General Public License from time to time.  Such new versions will
-be similar in spirit to the present version, but may differ in detail to
-address new problems or concerns.
-
-Each version is given a distinguishing version number.  If the Program
-specifies a version number of this License which applies to it and "any
-later version", you have the option of following the terms and conditions
-either of that version or of any later version published by the Free
-Software Foundation.  If the Program does not specify a version number of
-this License, you may choose any version ever published by the Free Software
-Foundation.
-
-  10. If you wish to incorporate parts of the Program into other free
-programs whose distribution conditions are different, write to the author
-to ask for permission.  For software which is copyrighted by the Free
-Software Foundation, write to the Free Software Foundation; we sometimes
-make exceptions for this.  Our decision will be guided by the two goals
-of preserving the free status of all derivatives of our free software and
-of promoting the sharing and reuse of software generally.
-
-                           NO WARRANTY
-
-  11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
-FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.  EXCEPT WHEN
-OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
-PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
-OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE RISK AS
-TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.  SHOULD THE
-PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
-REPAIR OR CORRECTION.
-
-  12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
-REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
-INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
-OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
-TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
-YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
-PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGES.
-
-                    END OF TERMS AND CONDITIONS
-\f
-           How to Apply These Terms to Your New Programs
-
-  If you develop a new program, and you want it to be of the greatest
-possible use to the public, the best way to achieve this is to make it
-free software which everyone can redistribute and change under these terms.
-
-  To do so, attach the following notices to the program.  It is safest
-to attach them to the start of each source file to most effectively
-convey the exclusion of warranty; and each file should have at least
-the "copyright" line and a pointer to where the full notice is found.
-
-    <one line to give the program's name and a brief idea of what it does.>
-    Copyright (C) 19yy  <name of author>
-
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation; either version 2 of the License, or
-    (at your option) any later version.
-
-    This program is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with this program; if not, write to the Free Software
-    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-
-
-Also add information on how to contact you by electronic and paper mail.
-
-If the program is interactive, make it output a short notice like this
-when it starts in an interactive mode:
-
-    Gnomovision version 69, Copyright (C) 19yy name of author
-    Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
-    This is free software, and you are welcome to redistribute it
-    under certain conditions; type `show c' for details.
-
-The hypothetical commands `show w' and `show c' should show the appropriate
-parts of the General Public License.  Of course, the commands you use may
-be called something other than `show w' and `show c'; they could even be
-mouse-clicks or menu items--whatever suits your program.
-
-You should also get your employer (if you work as a programmer) or your
-school, if any, to sign a "copyright disclaimer" for the program, if
-necessary.  Here is a sample; alter the names:
-
-  Yoyodyne, Inc., hereby disclaims all copyright interest in the program
-  `Gnomovision' (which makes passes at compilers) written by James Hacker.
-
-  <signature of Ty Coon>, 1 April 1989
-  Ty Coon, President of Vice
-
-This General Public License does not permit incorporating your program into
-proprietary programs.  If your program is a subroutine library, you may
-consider it more useful to permit linking proprietary applications with the
-library.  If this is what you want to do, use the GNU Library General
-Public License instead of this License.
diff --git a/syslinux/Makefile b/syslinux/Makefile
deleted file mode 100644 (file)
index 52fdc82..0000000
+++ /dev/null
@@ -1,257 +0,0 @@
-##  $Id: Makefile,v 1.1.1.1 2006/04/03 19:33:23 mlhuang Exp $
-## -----------------------------------------------------------------------
-##   
-##   Copyright 1998-2005 H. Peter Anvin - All Rights Reserved
-##
-##   This program is free software; you can redistribute it and/or modify
-##   it under the terms of the GNU General Public License as published by
-##   the Free Software Foundation, Inc., 53 Temple Place Ste 330,
-##   Boston MA 02111-1307, USA; either version 2 of the License, or
-##   (at your option) any later version; incorporated herein by reference.
-##
-## -----------------------------------------------------------------------
-
-#
-# Main Makefile for SYSLINUX
-#
-
-OSTYPE   = $(shell uname -msr)
-CC      = gcc
-INCLUDE  =
-CFLAGS   = -W -Wall -Os -fomit-frame-pointer -D_FILE_OFFSET_BITS=64
-PIC      = -fPIC
-LDFLAGS  = -O2 -s
-AR      = ar
-RANLIB   = ranlib
-
-NASM    = nasm -O99
-NINCLUDE = 
-BINDIR   = /usr/bin
-SBINDIR  = /sbin
-LIBDIR   = /usr/lib
-AUXDIR   = $(LIBDIR)/syslinux
-INCDIR   = /usr/include
-
-PERL     = perl
-
-VERSION  = $(shell cat version)
-
-.c.o:
-       $(CC) $(INCLUDE) $(CFLAGS) -c $<
-
-#
-# The BTARGET refers to objects that are derived from ldlinux.asm; we
-# like to keep those uniform for debugging reasons; however, distributors 
-# want to recompile the installers (ITARGET).
-# 
-# BOBJECTS and IOBJECTS are the same thing, except used for
-# installation, so they include objects that may be in subdirectories
-# with their own Makefiles.  Finally, there is a list of those
-# directories.
-#
-CSRC     = syslxmod.c gethostip.c
-NASMSRC  = $(wildcard *.asm)
-SOURCES = $(CSRC) *.h $(NASMSRC) *.inc
-
-# _bin.c files required by both BTARGET and ITARGET installers
-BINFILES = bootsect_bin.c ldlinux_bin.c mbr_bin.c \
-          extlinux_bss_bin.c extlinux_sys_bin.c 
-
-# syslinux.exe is BTARGET so as to not require everyone to have the
-# mingw suite installed
-BTARGET  = kwdhash.gen version.gen version.h \
-          ldlinux.bss ldlinux.sys ldlinux.bin \
-          pxelinux.0 mbr.bin isolinux.bin isolinux-debug.bin \
-          extlinux.bin extlinux.bss extlinux.sys
-BOBJECTS = $(BTARGET) dos/syslinux.com win32/syslinux.exe memdisk/memdisk
-BSUBDIRS = memdisk dos win32
-ITARGET  = copybs.com gethostip mkdiskimage
-IOBJECTS = $(ITARGET) mtools/syslinux unix/syslinux extlinux/extlinux
-ISUBDIRS = mtools unix extlinux sample # com32
-DOCS     = COPYING NEWS README TODO BUGS *.doc sample menu com32
-OTHER    = Makefile bin2c.pl now.pl genhash.pl keywords findpatch.pl \
-          keytab-lilo.pl version version.pl sys2ansi.pl \
-          ppmtolss16 lss16toppm memdisk bin2hex.pl mkdiskimage.in
-OBSOLETE = pxelinux.bin
-
-# Things to install in /usr/bin
-INSTALL_BIN   =        mtools/syslinux gethostip ppmtolss16 lss16toppm
-# Things to install in /sbin
-INSTALL_SBIN  = extlinux/extlinux
-# Things to install in /usr/lib/syslinux
-INSTALL_AUX   =        pxelinux.0 isolinux.bin isolinux-debug.bin \
-               dos/syslinux.com copybs.com memdisk/memdisk mbr.bin
-INSTALL_AUX_OPT = win32/syslinux.exe
-
-# The DATE is set on the make command line when building binaries for
-# official release.  Otherwise, substitute a hex string that is pretty much
-# guaranteed to be unique to be unique from build to build.
-ifndef HEXDATE
-HEXDATE := $(shell $(PERL) now.pl ldlinux.asm pxelinux.asm isolinux.asm)
-endif
-ifndef DATE
-DATE    := $(HEXDATE)
-endif
-MAKE    += DATE=$(DATE) HEXDATE=$(HEXDATE)
-
-#
-# NOTE: If you don't have the mingw compiler suite installed, you probably
-# want to remove win32 from this list; otherwise you're going to get an
-# error every time you try to build.
-#
-
-all:   all-local
-       set -e ; for i in $(BSUBDIRS) $(ISUBDIRS) ; do $(MAKE) -C $$i $@ ; done
-       $(MAKE) all-local
-       -ls -l $(BOBJECTS) $(IOBJECTS)
-
-all-local: $(BTARGET) $(ITARGET) $(BINFILES)
-
-installer: installer-local
-       set -e ; for i in $(ISUBDIRS); do $(MAKE) -C $$i all ; done
-       -ls -l $(BOBJECTS) $(IOBJECTS)
-
-installer-local: $(ITARGET) $(BINFILES)
-
-version.gen: version version.pl
-       $(PERL) version.pl $< $@ '%define'
-
-version.h: version version.pl
-       $(PERL) version.pl $< $@ '#define'
-
-kwdhash.gen: keywords genhash.pl
-       $(PERL) genhash.pl < keywords > kwdhash.gen
-
-ldlinux.bin: ldlinux.asm kwdhash.gen version.gen
-       $(NASM) -f bin -DDATE_STR="'$(DATE)'" -DHEXDATE="$(HEXDATE)" \
-               -DMAP=ldlinux.map -l ldlinux.lst -o ldlinux.bin ldlinux.asm
-
-pxelinux.bin: pxelinux.asm kwdhash.gen version.gen
-       $(NASM) -f bin -DDATE_STR="'$(DATE)'" -DHEXDATE="$(HEXDATE)" \
-               -DMAP=pxelinux.map -l pxelinux.lst -o pxelinux.bin pxelinux.asm
-
-isolinux.bin: isolinux.asm kwdhash.gen version.gen checksumiso.pl
-       $(NASM) -f bin -DDATE_STR="'$(DATE)'" -DHEXDATE="$(HEXDATE)" \
-               -DMAP=isolinux.map -l isolinux.lst -o isolinux.bin isolinux.asm
-       $(PERL) checksumiso.pl isolinux.bin
-
-# Special verbose version of isolinux.bin
-isolinux-debug.bin: isolinux.asm kwdhash.gen version.gen checksumiso.pl
-       $(NASM) -f bin -DDATE_STR="'$(DATE)'" -DHEXDATE="$(HEXDATE)" \
-               -DDEBUG_MESSAGES \
-               -DMAP=isolinux-debug.map -l isolinux-debug.lst \
-               -o isolinux-debug.bin isolinux.asm
-       $(PERL) checksumiso.pl $@
-
-extlinux.bin: extlinux.asm kwdhash.gen version.gen
-       $(NASM) -f bin -DDATE_STR="'$(DATE)'" -DHEXDATE="$(HEXDATE)" \
-               -DMAP=extlinux.map -l extlinux.lst -o extlinux.bin extlinux.asm
-
-pxelinux.0: pxelinux.bin
-       cp pxelinux.bin pxelinux.0
-
-ldlinux.bss: ldlinux.bin
-       dd if=$< of=$@ bs=512 count=1
-
-ldlinux.sys: ldlinux.bin
-       dd if=$< of=$@ bs=512 skip=1
-
-extlinux.bss: extlinux.bin
-       dd if=$< of=$@ bs=512 count=1
-
-extlinux.sys: extlinux.bin
-       dd if=$< of=$@ bs=512 skip=1
-
-mbr.bin: mbr.asm
-       $(NASM) -f bin -l mbr.lst -o mbr.bin mbr.asm
-
-mbr_bin.c: mbr.bin bin2c.pl
-       $(PERL) bin2c.pl syslinux_mbr < $< > $@
-
-copybs.com: copybs.asm
-       $(NASM) -f bin -l copybs.lst -o copybs.com copybs.asm
-
-bootsect_bin.c: ldlinux.bss bin2c.pl
-       $(PERL) bin2c.pl syslinux_bootsect < $< > $@
-
-ldlinux_bin.c: ldlinux.sys bin2c.pl
-       $(PERL) bin2c.pl syslinux_ldlinux < $< > $@
-
-extlinux_bss_bin.c: extlinux.bss bin2c.pl
-       $(PERL) bin2c.pl extlinux_bootsect < $< > $@
-
-extlinux_sys_bin.c: extlinux.sys bin2c.pl
-       $(PERL) bin2c.pl extlinux_image < $< > $@
-
-libsyslinux.a: bootsect_bin.o ldlinux_bin.o mbr_bin.o syslxmod.o
-       rm -f $@
-       $(AR) cq $@ $^
-       $(RANLIB) $@
-
-$(LIB_SO): bootsect_bin.o ldlinux_bin.o syslxmod.o
-       $(CC) $(LDFLAGS) -shared -Wl,-soname,$(LIB_SONAME) -o $@ $^
-
-gethostip.o: gethostip.c
-
-gethostip: gethostip.o
-
-mkdiskimage: mkdiskimage.in mbr.bin bin2hex.pl
-       $(PERL) bin2hex.pl < mbr.bin | cat mkdiskimage.in - > $@
-       chmod a+x $@
-
-install: installer
-       mkdir -m 755 -p $(INSTALLROOT)$(BINDIR)
-       install -m 755 -c $(INSTALL_BIN) $(INSTALLROOT)$(BINDIR)
-       mkdir -m 755 -p $(INSTALLROOT)$(SBINDIR)
-       install -m 755 -c $(INSTALL_SBIN) $(INSTALLROOT)$(SBINDIR)
-       mkdir -m 755 -p $(INSTALLROOT)$(AUXDIR)
-       install -m 644 -c $(INSTALL_AUX) $(INSTALLROOT)$(AUXDIR)
-       -install -m 644 -c $(INSTALL_AUX_OPT) $(INSTALLROOT)$(AUXDIR)
-       $(MAKE) -C com32 install
-
-install-lib: installer
-
-install-all: install install-lib
-
-local-tidy:
-       rm -f *.o *_bin.c stupid.* patch.offset
-       rm -f *.lst *.map
-       rm -f $(OBSOLETE)
-
-tidy: local-tidy
-       set -e ; for i in $(BSUBDIRS) $(ISUBDIRS) ; do $(MAKE) -C $$i $@ ; done
-
-local-clean:
-       rm -f $(ITARGET)
-
-clean: local-tidy local-clean
-       set -e ; for i in $(BSUBDIRS) $(ISUBDIRS) ; do $(MAKE) -C $$i $@ ; done
-
-dist: tidy
-       for dir in . sample memdisk ; do \
-               ( cd $$dir && rm -f *~ \#* core ) ; \
-       done
-
-local-spotless:
-       rm -f $(BTARGET) .depend *.so.*
-
-spotless: local-clean dist local-spotless
-       set -e ; for i in $(BSUBDIRS) $(ISUBDIRS) ; do $(MAKE) -C $$i $@ ; done
-
-.depend:
-       rm -f .depend
-       for csrc in $(CSRC) ; do $(CC) $(INCLUDE) -MM $$csrc >> .depend ; done
-       for nsrc in $(NASMSRC) ; do $(NASM) -DDEPEND $(NINCLUDE) -o `echo $$nsrc | sed -e 's/\.asm/\.bin/'` -M $$nsrc >> .depend ; done
-
-local-depend:
-       rm -f .depend
-       $(MAKE) .depend
-
-depend: local-depend
-       $(MAKE) -C memdisk depend
-
-# Hook to add private Makefile targets for the maintainer.
--include Makefile.private
-
-# Include dependencies file
--include .depend
diff --git a/syslinux/NEWS b/syslinux/NEWS
deleted file mode 100644 (file)
index 7b0be3e..0000000
+++ /dev/null
@@ -1,744 +0,0 @@
-Starting with 1.47, changes marked with SYSLINUX/PXELINUX/ISOLINUX
-apply to that specific program only; other changes apply to all of
-them.
-
-Changes in 3.08:
-       * SYSLINUX: Fix performance regression (-s mode always
-         enabled.)
-       * Add API function for idle loop.
-       * libutil: Add do_idle() function for idle loop, make
-         get_key() use it.
-       * libutil: Add SHA-1 and base64 functions.
-       * Simple menu system: add password support.
-       * EXTLINUX: Sparse files now handled correctly.
-       * EXTLINUX: Large directories now handled correctly.
-       * ALL: At the prompt, Ctrl-X now forces text mode.
-       * Fix configuration file parsing error, that could cause
-         hangs.
-       * Rewritten advanced menuing system from Murali Ganapathy.
-       * MEMDISK: New "bigraw" mode to work around certain broken
-         BIOS flash programs.
-       * COM32 module to boot Multiboot systems, including Xen.  See
-         com32/modules/mboot.doc.
-       * Max command line changed to 1024 characters.  Note that the
-         kernel proper still can only handle 255 characters without
-         patching, and COM16 binaries can only handle 125 characters.
-
-Changes in 3.07:
-       * Fix chainloading (chain.c32).
-       * Fix zlib build problem.
-       * Use a private copy of <linux/ext2_fs.h>.
-
-Changes in 3.06:
-       * Fix typo that caused the ramdisk to load in the wrong place.
-
-Changes in 3.05:
-       * New API function "shuffle and boot"; allows COM32 modules to
-         load or construct (almost) arbitrarily complex objects,
-         e.g. a kernel and its initrd/initramfs in pieces, and have
-         the API core reorganize memory for booting.  (A library API
-         for this function will be introduced in a later version.)
-       * The initrd= option now supports multiple filenames separated
-         by commas.  This is mostly useful for initramfs, which can
-         be composed of multiple separate cpio or cpio.gz archives.
-         (Note: all files except the last one are zero-padded to a 4K
-         page boundary.  This should not affect initramfs.)
-       * EXTLINUX: Fix API function 000Ah (get derivative-specific
-         info).
-       * libcom32/ethersel: Support PCI Config Mechanism #2 on
-         machines still infested with that hideous old hack.
-       * SYSLINUX: Fix directory-parsing bug.
-
-Changes in 3.02:
-       * SYSLINUX: The "unix" installer now sets the MS-DOS
-         attributes (hidden, system, readonly.)
-       * COM32 library: build the .lnx (test modules for running
-         under Linux) as architecture native modules, in case
-         i386 devel libraries aren't installed.
-       * EXTLINUX: Hack for systems which don't have BLKGETSIZE64
-         defined in the standard header files.
-       * Simple menu system: minor aestetic improvements, and try to
-         work better over a serial console (speed, and readability on
-         monochrome terminal emulators.)
-       * New CONSOLE directive to control output on the video console
-         (useful for dealing with some broken serial-forwarding
-         BIOSes.)
-       * New com32 module "ethersel" for searching for an Ethernet
-         card and selecting the proper version of Etherboot.
-       * EXTLINUX: Allow the user to override the detected geometry.
-         Add help.
-
-Changes in 3.01:
-       * EXTLINUX, SYSLINUX: Fix compile errors on some systems.
-       * EXTLINUX: Default to zipdrive geometry (64 heads, 32
-         sectors) if no other geometry can be detected.
-
-Changes in 3.00:
-       * SYSLINUX: Support FAT32 and EDD.  As an unfortunate
-         consequence, LDLINUX.SYS is no longer an ordinary file; it
-         is block-mapped at install time, which means it can only be
-         written using the syslinux installers.
-       * SYSLINUX: Reorganize the source code for the installers;
-          each one of the installers (dos, win32, unix, mtools) is now
-          built in its own subdirectory.  In particular, "mtools" is
-         the unprivileged installer which uses mtools; "unix" is the
-         privileged installer which uses system calls.
-       * SYSLINUX: Completely rewritten DOS installer in C.
-       * ALL: "label" statement information is now stored in a
-         compressed format, which means that a lot more labels are
-         permitted (500-1000 in a typical configuration, but depends
-         on the complexity.)
-       * EXTLINUX: New derivative, which boots from an ext2/ext3
-         filesystem.
-       * SYSLINUX: The DOS and Win32 installers can now optionally
-         write the boot sector to a file instead of the real boot
-         sector.  This is not supported in the Linux installers,
-         however.
-       * ALL: New NOESCAPE command, disables the "hold down the Shift
-         key to display the prompt" behaviour.
-       * New simple menu system, as an alternative to the advanced
-         menu system already present.  See README.menu for details.
-       * PXELINUX: Filenames can now be prefixed with an IP address
-         or DNS name plus :: (e.g. 192.0.2.1::filename or
-         server.domain.com::filename), which downloads a file from an
-         alternate TFTP server, or just a :: (e.g. ::filename), which
-         suppresses the common pathname prefix.  See pxelinux.doc.
-       * SYSLINUX: Add an -m option to the DOS and Win32 installers
-         to write an MBR and -a to mark the partition SYSLINUX is
-         being installed on active.
-       * MEMDISK: Give a way to query the boot loader type while
-         running MEMDISK; see memdisk/memdisk.doc and
-         sample/mdiskchk.c.
-       * mkdiskimage: substantially improved mkdiskimage which, among
-         other things, can now be used to initialize USB keys as
-         zipdrives; see README.usbkey for more information.
-
-Changes in 2.13:
-       * MEMDISK: Fix command-line parsing "brown paper bag" class
-         bug.
-       * MEMDISK: Add "raw" mode to support the DOS boot disk from
-         WinME/XP, which seems to deliberately crash the system
-         when someone uses the "INT 15h mover" highmem API.
-       * Make "make install" do something sane for the com32
-         development environment.
-       * In the spec file, create a separate -devel RPM for the com32
-         development environment.
-
-Changes in 2.12:
-       * Simple C library, based on klibc, for writing COM32
-         programs.
-       * Fix the handling of file length in loading of COM32
-         programs.
-       * MEMDISK: Work around a linker bug by rearranging the code to
-         not use the linker for the 16-bit code.
-       * SYSLINUX: If we're building on a machine without a Win32
-         (mingw) compiler, just skip building syslinux.exe.
-       * ISOLINUX: Support non-mkisofs mastering programs, at least
-         as long as the image is single-session.  For best results,
-         ISOLINUX should be the only boot loader installed.
-       * MEMDISK: Allow the user to specify that the simulated disk
-         should be write-protected.
-
-Changes in 2.11:
-       * ALL: Add an API call to get the configuration file name.
-       * SYSLINUX: Fix bug in 2.10 that prevented it from working
-         correctly for a lot of people.
-       * SYSLINUX: In the installer, make mtools a bit less fussy.
-       * Make the menu system compile with newer gcc's.
-
-Changes in 2.10:
-       * MEMDISK: Handle images compressed with zip as well as with
-         gzip.  Some Windows-based image tools apparently generate
-         these kinds of images by default.  Patch by Patrick
-         LoPresti.
-       * Major menu improvement from Murali Ganapathy.
-       * ISOLINUX: Wonderfully sick and brilliant workaround for
-         severe bugs in certain Award BIOSes; from Knut Petersen.
-       * SYSLINUX: Fix for the nomtools installed, from Frederic
-         Pasteleurs.
-       * PXELINUX: Fix handling of IP numbers in the ranges
-         100-109 and 200-209.
-       * ALL: New option "allowoptions" (defaults to 1), which
-         controls if options are allowed on the command line or not.
-       * SYSLINUX: Support building under klibc (see the klibc
-         distribution for details.)
-
-Changes in 2.09:
-       * SYSLINUX: Remove residual setuid crap from
-         syslinux-nomtools.
-       * Handle video pages correctly when using the API functions.
-       * Handle compiling on an x86-64 platform correctly.
-       * Menu system from Murali Krishnan Ganapathy; see the menu
-         directory for information.
-       * COMBOOT: Allow COMBOOT programs to change screen text mode.
-       * COMBOOT: Correct the documentation of how to detect
-         SYSLINUX from COMBOOT!!!!
-       * COMBOOT: Fix "get key without echo" API function.
-       * SYSLINUX: Fix bug that affected the API open function.
-       * ALL: Improve the E820 memory parser, to work around some
-         buggy BIOSes.
-
-Changes in 2.08:
-       * Add new configuration command "ontimeout" to allow timeout
-         to have a different action than just pressing Enter.
-       * Add new configuration command "onerror" to allow a custom
-         command to be executed in case the kernel image is not found.
-       * Fix bugs in the COMBOOT/COM32 command-line parsing.  APPEND
-         now works with COMBOOT/COM32 images.
-       * PXELINUX: Poll for ARP requests while sitting at the
-         prompt.  This makes some boot servers a lot less unhappy.
-       * PXELINUX: Actually free sockets when we get a failure
-         (including file not found.)  This bug would cause us to run
-         out of sockets and thus "go deaf" after a while.
-       * MEMDISK: Add an API to query for the existence of MEMDISK.
-       * SYSLINUX: Fix loading boot sectors (.bs/.bss) from floppy
-         disk.
-       * .c32 is now one of the extensions searched for
-         automatically.
-       * PXELINUX: RFBG.exe seems to randomly overwrite memory
-         location 0x5700.  Thus, don't use it!
-       * PXELINUX: Change pathname length max from 63 to 127; change
-         max vkernels from 128 to 64.
-       * Support Ctrl-U -> kill entire command line input.
-       * The "samples" directory contains a (barely at all tested)
-         chain loading example, chain.c32, which may be used to
-         chainload local floppy disks and hard disks.  Use with
-         "chain fdN" or "chain hdN [partition]"; N = 0 for the first
-         drive of each type.
-
-Changes in 2.07:
-       * MEMDISK: Workaround for BIOSes which go into a snit when
-         they get a RESET command for the floppy system when there is
-         no floppy in the system.
-       * PXELINUX: Add "ipappend 2", which passes the hardware
-         address of the boot interface to the kernel as a
-         command-line option.
-       * mkdiskimage: fix the generation of the end limit.
-       * PXELINUX: Fix multiple bugs in chainloading of other NBPs.
-       * MEMDISK: Fix bug that would occationally cause "ran out of
-         input data" when using compressed disk images.
-       * SYSLINUX: Updates for the win32 installer (from Lars Munch.)
-       * PXELINUX: PXELINUX-specific options are now recognized both
-         in a vendor-option-space (a.k.a. type 43 encapsulated) as
-         well as in a site-option-space (unencapsulated.)
-       * COM32: Don't crash when DS != 0.
-       * COMBOOT/COM32: Make file reading work correctly.  Thanks to
-         Phung Chi Kien for submitting a test program.
-
-Changes in 2.06:
-       * ALL: Fix problem that would occationally cause a
-         boot failure, depending on the length of the kernel.
-       * ISOLINUX: Fix problem that would occationally cause a
-         boot failure, depending on the length of directories.
-       * SYSLINUX: Win32 installer now flushes buffers.
-       * ppmtolss16: Be fully compliant with the PNM spec;
-         actually process comments in the header and odd
-         alignments of the various parameters, as well as
-         "plain" (not raw) files and PBM and PGM files.
-       * PXELINUX: Lower the default MTU to 1472 in order to deal
-         with systems with slightly nonstandard MTUs, and PXE
-         stacks which don't defragment correctly.  Unfortunately this
-         is very hard to test dynamically.
-
-Changes in 2.05:
-       * PXELINUX: Add a default query based on the hardware address
-         of the boot device.  This is in lower case hexadecimal form
-         separated by dashes and including the hardware type, for
-         example, the Ethernet (type 1) address 88:99:AA:BB:CC:DD
-         would query the file pxelinux.cfg/01-88-99-aa-bb-cc-dd.
-        * PXELINUX: Fix bug involving non-IP-based config file names.
-       * SYSLINUX: New installer for WinNT-based systems, from Lars
-         Munch.
-       * MEMDISK: Fix handling of memory region overlap when
-         decompressing.  Thanks to Mikhail Kupchik for identifying
-         the problem.
-
-Changes in 2.04:
-       * ALL: Reclaim even more low memory by observing that
-         comboot_seg == real_mode_seg is perfectly fine, and by the
-         fact that the 1000h segment managed to get unused in all
-         derivatives...
-       * PXELINUX: Attempt to negotiate full Ethernet-sized blocks
-         (1468 bytes) using the blksize option.
-       * SYSLINUX: Resurrect the old no-mtools version of the
-         installer, although as a root-only tool.  Some distributors
-         have indicated that they need a small standalone installer.
-       * MEMDISK: Fix a memory offset computation error when
-         installing compressed disks which generally would cause
-         1 MB of memory to be wasted.
-       * MEMDISK: Fix installing the E820 memory map.  Calling
-         INT 15h AX=0E820h with MEMDISK 2.03 loaded would give a
-         completely corrupt memory map.
-       * SYSLINUX: Make libsyslinux a dynamic library, so that it can
-         be updated separately from client programs.  The whole idea,
-         after all, is to enable alternate programs to become
-         syslinux installers.
-       * Include an rpm spec file in the distribution, so rpmbuild
-         -ta works.
-
-Changes in 2.03:
-       * Actually support comment lines in the configuration file.
-       * PXELINUX: Try to resolve some problems with stack switches.
-       * PXELINUX: Handle PXE stacks with broken routing.
-         With these workarounds, the remote install PXE boot floppy
-         (rbfg.exe) from Argon Technologies should work correctly.
-       * Fix problems with Perl scripts in UTF-8 locales.
-       * You probably need NASM 0.98.34 or later to compile this
-         version.  0.98.36 is recommended.
-       * MEMDISK: Now supports gzip compressed images.
-
-Changes in 2.02:
-       * SYSLINUX: Security flaws have been found in the SYSLINUX
-         installer when running setuid root.  Rewrite the SYSLINUX
-         installer so it uses mtools instead.  It therefore now
-         requires mtools (specifically mcopy and mattrib) to exist on
-         your system, but it will not require root privileges and
-         SHOULD NOT be setuid.
-
-Changes in 2.01:
-       * MEMDISK: Fix memory sizing bug when the ramdisk crosses the
-         16 MB boundary.
-       * MEMDISK: Add a "pause" option to stop immediately before
-         booting, to read off the messages.
-       * MEMDISK: Support disk images with DOSEMU headers.
-       * Update the mkdiskimage script to handle newer mtools
-         versions, and be able to generate disk images with DOSEMU
-         headers (controlled by the -d option).
-       * Fix the COM32 sample program.
-       * PXELINUX, ISOLINUX: Fix some COMBOOT API calls.
-       * PXELINUX: Doc fix.
-       * Build SYSLINUX into a small library for encapsulation into
-         other programs (however, please keep in mind this is a GPL'd
-         library.)
-       * SYSLINUX: Make installer work with "owner" in /etc/fstab.
-       * SYSLINUX: Fix issue with working on nonpartitioned hard disk
-         devices.  THIS CONFIGURATION IS NOT RECOMMENDED.
-
-Changes in 2.00:
-       * ALL: Add support for "COM32" (32-bit COMBOOT) images.
-       * ALL: Add an API for COMBOOT/COM32 images.  See comboot.doc
-         for details.  There is a C development environment for
-         COM32 being created; it should be ready at some point in
-         the future.
-       * Fix mbr.asm so that it actually works.
-       * SYSLINUX: The syslinux installer *SHOULD* now be safe to
-         run setuid root.
-       * PXELINUX: Fix bug where PXELINUX would override random
-         chunks of the UNDI code segment!  Thanks to Kevin Tran for
-         finding this bug.
-       * ISOLINUX: Fix a bug related to slashes in pathnames.
-       * ISOLINUX: Fix a bug in handling initrds over 128 MB.
-       * ALL: Make the <Ctrl-V> key print out the version; this is
-         to help debugging.
-       * Add a small script, mkdiskimage, to create a DOS-formatted
-         hard disk image using mtools.  This may be useful in
-         conjunction with MEMDISK.
-       * ISOLINUX: Search for a /boot/isolinux directory as well as
-         /isolinux.
-       * ALL: Fix a bug related to very long configuration files.
-       * PXELINUX: Work around a NASM bug which would result in no
-         delay before reset if an error occurs.
-
-Changes in 1.76:
-       * ISOLINUX: Remove code no longer used which caused hangs on
-         some Toshiba laptops.
-
-Changes in 1.75:
-       * ALL: NASM 0.98.32 or later is now required to build
-         SYSLINUX from sources.
-       * SYSLINUX: put back in the workaround for the BIOS floppy
-         table.  This seems to be a requirement for "extended" floppy
-         formats to work correctly.
-       * SYSLINUX: No longer warn if one is trying to boot on a 286
-         or older.  The above BIOS workaround no longer fits if the
-         requirement to use only 8086-compatible code in the early
-         boot is maintained.  It made sense in 1994, but in 2002 a
-         286 or older is a museum object.
-       * SYSLINUX: Use a downright bizarre, stateful algorithm to try
-         to guess the maximum transfer size.  I am *hoping* this will
-         cut down on the number of systems for which -s is required
-         to work at any acceptable speed.
-       * ISOLINUX: Add a few more workarounds for various broken El
-         Torito BIOSes.
-       * Make sure .depend files aren't accidentally packed...
-       * ALL: Fix bugs in the extension-detect code; this caused
-         files like COMBOOT images and CD boot sectors to be
-         mis-identified as Linux kernels and rejected.
-       * ALL: Fix the return from COMBOOT.
-       * ALL: Do some of the early groundwork for supporting DOS
-         system calls in COMBOOT.
-       * Get rid of unnecessary "near" directives, making the code
-         bigger.
-       * PXELINUX: Put the PXE stack back in the init state before
-         invoking a chain-loaded NBP.
-       * PXELINUX: Actually found the combination of calls that
-         allows some (most?) PXE 2+ stacks to be unloaded from memory
-         properly.
-       * PXELINUX: Add "keeppxe" command-line option to disable
-         the standard unloading of the PXE stack.
-
-Changes in 1.74:
-       * SYSLINUX: fix bug that would cause valid kernel images to be
-         labelled "invalid".
-
-Changes in 1.73:
-       * Work on removing gratuitous differences between modules.
-       * Break up the source in common and module-specific files.
-       * PXELINUX: Allow chaining of other PXE NBPs.
-       * ISOLINUX: Allow loading "CD-ROM boot sectors".
-       * ALL: generalize the definition of a boot sector/NBP.
-
-Changes in 1.72:
-       * PXELINUX, ISOLINUX: Fix bugs in the new core code.
-
-Changes in 1.71:
-       * Fix a "brown paper bag" class bug in the new core code.
-
-Changes in 1.70:
-       * Major code restructuring.
-       * Relax the conventional memory limits somewhat.
-       * MEMDISK: Set up the "version number string" pointer in the
-         header correctly.
-        * SYSLINUX: Fix, again, "the bug that won't die": the use of
-          the offset parameter with the SYSLINUX installer.
-       * SYSLINUX: Fix possible superblock corruption problem in the
-         SYSLINUX installer.
-
-Changes in 1.67:
-       * Handle bug in the location of initrd.
-
-Changes in 1.66:
-       * MEMDISK: Make compile with newer versions of gcc.
-
-Changes in 1.65:
-       * ISOLINUX: Support booting disk image files (to boot DOS or
-         other non-Linux operating systems), *IF* the BIOS works
-         correctly; unfortunately many BIOSes apparently don't.
-       * Support Linux boot protocol version 2.03 (explicitly
-         specify the initrd address limit.)
-       * Handle small "pseudo-kernels"; images that use the Linux
-         kernel boot protocols but are less than 64K in size.
-       * MEMDISK: New subsystem; this is a driver which allows
-         legacy OSes to boot using an in-memory simulated disk.
-         See memdisk/memdisk.doc for more info.
-       * PXELINUX, ISOLINUX: Correctly handle files larger than 65535
-         blocks (32 MB for PXELINUX, 128 MB for ISOLINUX.)
-       * PXELINUX: Make a best-effort attempt at freeing all memory
-         claimed.  From the looks of it, it will fail on most PXE
-         stacks.
-
-Changes in 1.64:
-       * Limited support for hardware flow control when using a
-         serial port console.
-       * Support specifying the serial port I/O address explicitly.
-       * Make DOS installer hopefully behave more nicely when used on
-         recent Windows versions.
-       * Fix returning to text mode when a font has been specified.
-       * Attempt to detect missing serial port hardware and disable
-         the serial port if there is nothing there.
-
-Changes in 1.63:
-       * Make the ppmtolss16 program handle color conversion more
-         correctly.
-       * Clean up "make install" target, honour INSTALLROOT if it
-         exists.
-       * SYSLINUX: Fix stack-smash bug identified by Steffen
-         Winterfeldt.
-       * Hopefully fix return-to-text-mode on some graphics cards.
-       * ISOLINUX: Bug workaround for Award BIOS 4.51, and perhaps
-         other buggy BIOSes as well.
-
-Changes in 1.62:
-       * PXELINUX: Allow the DHCP server to override the
-         configuration file name and pathname prefix, using
-         "site-specific" DHCP options.
-       * PXELINUX: Documentation fixes.
-       * PXELINUX: Fix the "ipappend" option; the last two values
-         were reversed vs. what the kernel expected.
-       * Introduce a way to return to text mode once we are already
-         in graphics mode.  This may be useful for F-key help
-         screens.
-       * Fix several bugs in the way return to text mode was handled.
-
-Changes in 1.61:
-       * ISOLINUX: Support full pathname searches.  Max length for a
-         pathname is 255 characters.  As a result, only 64 "label"
-         statements are supported in ISOLINUX.
-       * PXELINUX: Max filename length extended to 63 characters.
-
-Changes in 1.60:
-       * Add support for graphical splash screens.
-       * Add mode control characters, which allows you to control
-         message display output depending on output mode (text,
-         graphics, or serial port.)
-       * ISOLINUX: New program, which boots Linux from a CD-ROM
-         without using floppy emulation mode.  See isolinux.doc for
-         more details.
-       * PXELINUX: Don't search for boot sector file types, since
-         they don't work anyway.
-       * SYSLINUX: Document the LOCK command for Win9x, and the error
-         dialog box for WinNT/2K.
-
-Changes in 1.54:
-       * PXELINUX: Fix code for finding !PXE from PXENV+.  This was
-         due to a spec bug; match the most recent spec since that
-         seems to be what implementations actually do.
-       * SYSLINUX: Add some smarts to the boot sector, which
-         hopefully should reduce the number of systems which require 
-         stupid mode ("syslinux -s").
-       * PXELINUX: Document further some of the pathologies with old
-         PXE stacks.
-       * When specifying a "default" command line, no longer
-         automatically appent "auto".  See the "DEFAULT" command in
-         syslinux.doc for more information.
-       * PXELINUX: Clean up the allocation of local socket numbers.
-
-Changes in 1.53:
-       * PXELINUX: Rename pxelinux.bin to pxelinux.0, to match what
-         most PXE servers seem to expect.
-       * PXELINUX: Update the DHCP/boot server setup documentation.
-       * PXELINUX: Support new "localboot" option for "label"
-         sections.
-       * PXELINUX: More robust parsing of DHCP/boot server packets.
-       * PXELINUX: Include a small utility program "gethostip" to
-         compute hexadecimal IP addresses.
-
-Changes in 1.52:
-       * PXELINUX: Fix bugs introduced by new A20 code.  (SYSLINUX
-         has also been changed for code consistency reasons, but I'm
-         pretty sure the changes are don't care on SYSLINUX.)
-       * Documentation updates.
-       * PXELINUX: Add "ipappend" option to generate an ip= option to
-         the kernel.
-
-Changes in 1.51:
-       * PXELINUX: Not all PXE stacks fill in the IP address for a
-         type 3 cached info query.  Use a type 2 cached info query
-         for this information (only.)
-       * Yet another attempt at A20 coding.  Now support BIOS call
-         15:2401 as well, and handle machines which always have A20
-         on separately.
-       * Support memory detection using INT 15h, AX=0E820h.  BIOS
-         manufacturers have apparently gotten sloppy about keeping
-         INT 15h, AX=0E801h working properly.
-       * Don't issue <CR><LF> onto the serial port when we're doing
-         screen wraparound.
-
-Changes in 1.50:
-       * Yet another A20-code update.  It seems some "legacy-free"
-         machines and embedded gear simply don't have a KBC to talk
-         to, and that waiting for one will wait forever.  Sigh.
-
-Changes in 1.49:
-       * SYSLINUX: Implement a hack for BIOS drivers which hog significant
-         chunks of low memory during boot.  (Note: PXELINUX already
-         had this modification.  SYSLINUX does still require that the
-         low 512K is available; PXELINUX requires 384K.  Machines
-         with a physical memory hole in the low 640K cannot boot
-         Linux no matter what.)  Depending what the reason is for the
-         memory hole, a new kernel (2.4.0-test3-pre3 or later) may be
-         required.
-       * SYSLINUX: Default installer binary now compiled against
-         glibc 2.1.  If this is inappropriate for your system and you
-         still want to use the offical version of SYSLINUX, please
-         follow the instructions in "distrib.doc" to rebuild the
-         installer.
-       * SYSLINUX: Linux installer program now supports -o <offset>
-         option which does a loopback mount with the
-         -o loop,offset=<> option.  Useful to run SYSLINUX on an
-         individual partition of a whole-harddisk image.
-       * Include the source code to a Master Boot Record (MBR)
-         functionally equivalent to the one installed DOS except it
-         includes EBIOS support, and should be resistant to geometry
-         changes.  The MBR code is public domain.
-       * PXELINUX: Fix "double p" bug: if the tftp prefix was null,
-         all filenames would get a "p" preprended, e.g.
-         "ppxelinux.cfg" and "pvmlinux".
-
-Changes in 1.48:
-       * PXELINUX: Workaround for PXE ROMs based on the Intel PXE PDK
-         3.0 build 071 and earlier: missing !PXE structure pointer.
-       * PXELINUX: Handle larger BOOTP/DHCP packages.
-       * PXELINUX: The command line passing was broken; fix.
-       * PXELINUX: Make COMBOOT images work.
-       * PXELINUX: Documentation on how to make booting work using
-         the PDK 3.0-derived clients, which aren't so generous as to
-         allow booting with only "PXEClient" specified.
-
-Changes in 1.47:
-       * PXELINUX: RFC 1123 states that a TFTP implementation MUST
-         use adaptive timeout, "at least an exponential backoff of
-          retransmission timeout is necessary."  Implement a very
-         simple exponential backoff for retransmits.
-       * PXELINUX: Updated documentation, including pointer to new
-         TFTP server.
-       * PXELINUX: When sending ERROR due to bad OACK, use the proper
-         destination port number (why are TFTP port numbers so odd?)
-       * PXELINUX: If the boot dies in the middle somewhere,
-         eventually give up and reset the machine (unattended
-         operation.)
-
-Changes in 1.46:
-       * New program PXELINUX to do network booting using a
-         PXE-compliant (Pre-Execution Environment) network booting
-         PROM.  See pxelinux.doc for details.
-
-Changes in 1.45:
-       * Serial console support.  See syslinux.doc for details.
-
-Changes in 1.44:
-       * Change HIGHMEM_MAX to 38000000h to (hopefully) avoid the
-         kernel stepping on it; 3f000000h was apparently a higher
-         limit than the kernel used!
-
-Changes in 1.43:
-       * Add sys2ansi.pl script to display the contents of a
-         colorized SYSLINUX file.
-       * Changed the io_delay once again, after a report that the
-         old delay port causes hangs on some systems.
-
-Changes in 1.42:
-       * Frob the "fast A20 gate" port as well as the keyboard
-         controller; will this help systems with problems?
-       * Be even more paranoid about A20, unfortunately even this
-         seems to be not paranoid enough... what I don't understand
-         is that if there is hardware out there *this broken*, how
-         can it run Linux at all?  Report an error message rather
-         than hang forever if A20 is stuck.
-       * Include some intermediate files in the distribution, plus
-         provide a "make installer" target for distributors to relink
-         the install programs only.  I would prefer the syslinux boot
-         loader proper to be "binary clean" for debuggablity -- use
-         "make clean ; make installer" to rebuild the installers only.
-
-Changes in 1.41:
-       * Don't get confused by directories, volume labels, or VFAT
-         long names.
-       * Use INT 15h, AX=0E801h to query memory size before trying
-         INT 15h, AH=88h.  This not only provides more headroom
-         between the kernel and the initrd on large-memory machines,
-         but it appears some recent BIOSes actually have started
-         returning garbage for the AH=88h (older) call.
-       * Trust high memory beyond the 15 MB mark if the user has
-         specified it, or if obtained with INT 15h, AH=0E801h (with
-         no memory holes above 1 MB.)
-
-Changes in 1.40:
-       * Increase A20M delay and put in a test to avoid problems on
-         certain IBM Thinkpads (thanks to Donnie Barnes of RedHat
-         for vital info on this one.)
-       * Support COMBOOT style boot command images.
-       * Support chain loading (foreign operating systems, e.g. DOS).
-       * Include a new "copybs" DOS utility to copy a boot sector to
-         a file (under Linux, use "dd".)
-       * Fix the DOS installer to work for disks over 32 MB.
-       * SYSLINUX should now handle disks with more than 65536 tracks.
-
-Changes in 1.37:
-       * Fix a bug that caused "label" statements in syslinux.cfg to
-         not be handled properly.
-       * Updated the documentation.  Among other things, we now allow
-         up to 128 "label" statements.
-
-Changes in 1.36:
-       * Fix for booting old (pre-initrd) kernels.
-       * It seems at least some versions of OS/2 doesn't set up all
-         the fields in the superblock correctly.  Account for that.
-       * Fix bug that caused boot failure when using the mem= option.
-
-Changes in 1.35:
-       * Loading from partitions now should work properly.  (Actually
-         tested, this time.  You should even be able to dd a floppy
-         to a partition and boot from it.)
-       * Removed large workaround code for an alleged ancient BIOS
-         bug I have never actually seen.  The -s option should work
-         on those machines, anyway.
-       * Support for simple keyboard remappings, same as used by
-         LILO (once again to support localization.)  The program
-         keytab-lilo.pl from the LILO distribution included to
-         generate such maps.
-       * Added a "safe, slow and stupid" (-s) option to the
-         installers.  This option will lobotomize the boot sector to
-         hopefully work on even very buggy BIOSes.
-       
-Changes in 1.34:
-       * Ability to load a VGA font on bootup (for localized Linux
-         distributions.) 
-
-Changes in 1.33:
-       * Bug fix in the Linux installer.
-       * Added a workaround for a bug in certain AMI/Intel BIOSes
-         when booting from CD-ROM.
-       * Documentation changes.
-
-Changes in 1.32:
-       * FAT16 filesystems are now supported.
-
-Changes in 1.31:
-       * Now compiles under Linux, using NASM, rather than using
-         Turbo Assembler under DOS.  See http://www.cryogen.com/Nasm
-         for information about NASM.
-       * Linux-hosted SYSLINUX installer, as well as a
-         rewritten DOS installer (now is written in assembler, so we
-         don't need Turbo C.)
-
-Changes in 1.30:
-       * Added support for loading bzImage and initrd loading, and made
-         SYSLINUX new-setup-code aware (SYSLINUX 1.30 id=0x31).
-       * Added LILO-style kernel labels; see the LABEL and IMPLICIT
-         keywords in README file.
-       * Added support for colorization of intro and help screens.
-       * The vga= option is now handled correctly.
-       * Massive rewrite of large chunks of the code in order to
-         support the first two new features.
-
-Changes in 1.20:
-       * Added simple online help at the "boot:" prompt.
-       * Removed 2880K image as I no longer have access to such a
-         floppy drive.  (Donations accepted!!)
-       * Decided to distribute the source in a subdirectory rather
-         than in a nested zipfile.
-
-Changes in 1.11:
-       * Removed a sanity check which would cause booting to fail on
-         Phoenix BIOS version 4.03.  Apparently this BIOS is buggy.
-
-Changes in 1.10:
-       * Added configuration file SYSLINUX.CFG.  This file contains all
-         configurable options, and can be edited from any OS which can
-         access an MS-DOS filesystem; there is no longer a need to run
-         SYSLINUX.EXE except to write the boot sector.
-       * Default command line now given by "default" line in config
-         file.
-       * LINUXMSG.TXT and BOOTMSG.TXT hard-coded file names replaced by
-         "display" and "prompt" lines in config file.
-       * LILO-style option appending now supported ("append" line in
-         config file).
-       * Prompt timeout is now supported ("timeout" line in config
-         file).  The timeout is cancelled when anything is typed on the
-         command line.
-       * Pressing <ESC> or <Ctrl-C> at the Loading... stage now aborts
-         the kernel loading in progress and returns the user to the
-         boot: prompt.
-       * The installer now automatically sets the READONLY flag on
-         LDLINUX.SYS.
-       * Added 2880K disk image.
-
-Changes in 1.03:
-       * Fixed bug that would prevent booting from double-density
-         floppies and other DOS filesystems with multiple sectors per
-         cluster.
-       * Added 720K disk image.
-       * Changed default kernel name on disk images to LINUX.
-
-Changes in 1.02:
-       * Fixed bug that would garble the command line on recent kernels
-         with more than 4 sectors of setup code (this wasn't really a
-         *bug*; rather, a kernel change broke the code.  Unfortunately
-         the Linux boot interface is still sorely undocumented).
-       * Added BOOTMSG.TXT file support (message file which does not
-         force display of the boot prompt).
-
-Changes in 1.01:
-       * Fixed bug on some (most?) 386 BIOSes would require two boot
-         attempts.
diff --git a/syslinux/README b/syslinux/README
deleted file mode 100644 (file)
index ea67e35..0000000
+++ /dev/null
@@ -1,31 +0,0 @@
-See the following files for documentation about SYSLINUX:
-
-       syslinux.doc        - Usage instructions; manual.
-       distrib.doc         - For creators of Linux distributions.
-       pxelinux.doc        - Documentation specific to PXELINUX.
-       isolinux.doc        - Documentation specific to ISOLINUX.
-       extlinux.doc        - Documentation specific to EXTLINUX.
-       README.menu         - About the menu systems.
-       README.usbkey       - About using SYSLINUX on USB keys.
-       comboot.doc         - About the extension API.
-       memdisk/memdisk.doc - Documentation about MEMDISK.
-       NEWS                - List of changes from previous releases.
-       TODO                - About features planned for future releases.
-       COPYING             - For the license terms of this software.
-
-SYSLINUX now builds in a Linux environment, using nasm.  You need nasm
-version 0.98.38 or later to build SYSLINUX from source.  See
-http://nasm.sf.net/ for information about nasm.
-
-There is now a mailing list for SYSLINUX.  See the end of syslinux.doc
-for details.
-
-SYSLINUX is:
-
-   Copyright 1994-2005 H. Peter Anvin - All Rights Reserved
-
-   This program is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation, Inc., 53 Temple Place Ste 330,
-   Boston MA 02111-1307, USA; either version 2 of the License, or
-   (at your option) any later version; incorporated herein by reference.
diff --git a/syslinux/README.menu b/syslinux/README.menu
deleted file mode 100644 (file)
index ad4f3a9..0000000
+++ /dev/null
@@ -1,119 +0,0 @@
-$Id: README.menu,v 1.5 2005/01/21 01:35:33 hpa Exp $
-
-There are two menu systems included with SYSLINUX, the advanced menu
-system, and the simple menu system.
-
-
-+++ THE ADVANCED MENU SYSTEM +++
-
-The advanced menu system, written by Murali Krishnan Ganapathy, is
-located in the menu/ subdirectly.  It allows the user to create
-hierarchial submenus, dynamic options, checkboxes, and just about
-anything you want.  It requires that the menu is compiled from a
-simple C file, see menu/simple.c and menu/complex.c for examples.
-
-The advanced menu system doesn't support serial console at this time.
-
-See menu/README for more information.
-
-
-+++ THE SIMPLE MENU SYSTEM +++
-
-The simple menu system is a single module located at
-com32/modules/menu.c32.  It uses the same configuration file as the
-regular SYSLINUX command line, and displays all the LABEL statements.
-
-To use the menu system, simply make sure menu.c32 is in the
-appropriate location for your boot medium (the same directory as the
-configuration file for SYSLINUX, EXTLINUX and ISOLINUX, and the same
-directory as pxelinux.0 for PXELINUX), and put the following options
-in your configuration file:
-
-DEFAULT menu.c32
-PROMPT 0
-
-
-There are a few menu additions to the command line, all starting with
-the keyword MENU; like the rest of the SYSLINUX config file
-language, it is case insensitive:
-
-MENU TITLE title
-
-       Give the menu a title.  The title is presented at the top of
-       the menu.
-
-MENU LABEL label
-
-       (Only valid after a LABEL statement.)
-       Changes the label displayed for a specific entry.  This allows
-       you to have a label that isn't suitable for the command line,
-       for example:
-
-       # Soft Cap Linux
-       LABEL softcap
-               MENU LABEL Soft Cap ^Linux 9.6.36
-               KERNEL softcap-9.6.36.bzi
-               APPEND whatever
-
-       # A very dense operating system
-       LABEL brick
-               MENU LABEL ^Windows CE/ME/NT
-               KERNEL chain.c32
-               APPEND hd0 2
-
-       The ^ symbol in a MENU LABEL statement defines a hotkey.
-       The hotkey will be highlighted in the menu and will move the
-       menu cursor immediately to that entry.
-
-MENU HIDE
-
-       (Only valid after a LABEL statement.)
-       Suppresses a particular LABEL entry from the menu.
-
-
-MENU DEFAULT
-
-       (Only valid after a LABEL statement.)
-       Indicates that this entry should be the default.  If no
-       default is specified, use the first one.
-
-
-MENU PASSWD passwd
-
-       (Only valid after a LABEL statement.)
-       Sets a password on this menu entry.  "passwd" can be either a
-       cleartext password or a SHA-1 encrypted password; use the
-       included Perl script "sha1pass" to encrypt passwords.
-       (Obviously, if you don't encrypt your passwords they will not
-       be very secure at all.)
-
-       If you are using passwords, you want to make sure you also use
-       the settings "NOESCAPE 1", "PROMPT 0", and either set
-       "ALLOWOPTIONS 0" or use a master password (see below.)
-
-       If passwd is an empty string, this menu entry can only be
-       unlocked with the master password.
-
-
-MENU MASTER PASSWD passwd
-
-       Sets a master password.  This password can be used to boot any
-       menu entry, and is required for the [Tab] and [Esc] keys to
-       work.
-
-
-The menu system honours the TIMEOUT command; if TIMEOUT is specified
-it will execute the ONTIMEOUT command if one exists, otherwise it will
-pick the default menu option.
-
-Normally, the user can press [Tab] to edit the menu entry, and [Esc]
-to return to the SYSLINUX command line.  However, if the configuration
-file specifies ALLOWOPTIONS 0, these keys will be disabled, and if
-MENU MASTER PASSWD is set, they require the master password.
-
-The simple menu system supports serial console, using the normal
-SERIAL directive.  However, it can be quite slow over a slow serial
-link; you probably want to set your baudrate to 38400 or higher if
-possible.  It requires a Linux/VT220/ANSI-compatible terminal on the
-other end.
-
diff --git a/syslinux/README.usbkey b/syslinux/README.usbkey
deleted file mode 100644 (file)
index af6f9d6..0000000
+++ /dev/null
@@ -1,49 +0,0 @@
-$Id: README.usbkey,v 1.2 2004/12/30 23:31:14 hpa Exp $
-
-The proper mode to boot a USB key drive in is "USB-HDD".  That is the
-ONLY mode in which the C/H/S geometry encoded on the disk itself
-doesn't have to match what the BIOS thinks it is.  Since geometry on
-USB drives is completely arbitrary, and can vary from BIOS to BIOS,
-this is the only mode which will work in general.
-
-Some BIOSes have been reported (in particular, certain versions of the
-Award BIOS) that cannot boot USB keys in "USB-HDD" mode.  This is a
-very serious BIOS bug, but it is unfortunately rather typical of the
-kind of quality we're seeing out of major BIOS vendors these days.  On
-these BIOSes, you're generally stuck booting them in USB-ZIP mode.
-
-THIS MEANS THE FILESYSTEM IMAGE ON THE DISK HAS TO HAVE A CORRECT
-ZIPDRIVE-COMPATIBLE GEOMETRY.
-
-A standard zipdrive (both the 100 MB and the 250 MB varieties) have a
-"geometry" of 64 heads, 32 sectors, and are partitioned devices with a
-single partition 4 (unlike most other media of this type which uses
-partition 1.)  The 100 MB variety has 96 cylinders, and the 250 MB
-variety has 239 cylinders; but any number of cylinders will do as
-appropriate for the size device you have.  For example, if your device
-reports when inserted into a Linux system:
-
-usb-storage: device found at 4
-  Vendor: 32MB      Model: HardDrive         Rev: 1.88
-  Type:   Direct-Access                      ANSI SCSI revision: 02
-SCSI device sda: 64000 512-byte hdwr sectors (33 MB)
-
-... you would have 64000/(64*32) = 31.25 cylinders; round down to 31.
-
-The script "mkdiskimage" which is supplied with the syslinux
-distribution can be used to initialize USB keys in a Zip-like fashion.
-To do that, calculate the correct number of cylinders (31 in the
-example above), and, if your USB key is /dev/sda (CHECK THE KERNEL
-MESSAGES CAREFULLY - IF YOU ENTER THE WRONG DISK DRIVE IT CANNOT BE
-RECOVERED), run:
-
-       mkdiskimage -4 /dev/sda 0 64 32
-
-(The 0 means automatically determine the size of the device, and -4
-means mimic a zipdisk by using partition 4.)
-
-Then you should be able to run
-
-       syslinux /dev/sda4
-
-... and mount /dev/sda4 and put your files on it as needed.
diff --git a/syslinux/TODO b/syslinux/TODO
deleted file mode 100644 (file)
index 48c83da..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-$Id: TODO,v 1.29 2005/01/05 09:21:07 hpa Exp $
-
-*** To do in the short term:
-
-- PXELINUX: Support changing the default server and boot file prefix?
-
-- Support loading a new configuration file.
-
-- "Shuffle and boot" extension, with the appropriate com32 library
-  support.
-
-- Library support for all the comboot system calls.
-
-
-*** Future projects:
-
-- Clean up the command-line parsing.
-
-- Cleaned up documentation, with a real man page.
-
-- Subdirectory support in SYSLINUX.
-
-- Support files that span multiple input media (SYSLINUX)
-  -> Seems to be getting less important; floppies are dying?
-
-- Clean up the handling of sections
-
-- Add "localboot" support to SYSLINUX (using the ISOLINUX feature
-  set.)
-  OBSOLETE: chain.c32 is probably better.
diff --git a/syslinux/bcopy32.inc b/syslinux/bcopy32.inc
deleted file mode 100644 (file)
index 3e069e8..0000000
+++ /dev/null
@@ -1,458 +0,0 @@
-;; $Id: bcopy32.inc,v 1.16 2005/01/06 22:34:06 hpa Exp $
-;; -----------------------------------------------------------------------
-;;   
-;;   Copyright 1994-2005 H. Peter Anvin - All Rights Reserved
-;;
-;;   This program is free software; you can redistribute it and/or modify
-;;   it under the terms of the GNU General Public License as published by
-;;   the Free Software Foundation, Inc., 53 Temple Place Ste 330,
-;;   Boston MA 02111-1307, USA; either version 2 of the License, or
-;;   (at your option) any later version; incorporated herein by reference.
-;;
-;; -----------------------------------------------------------------------
-
-;;
-;; bcopy32.inc
-;; 
-;; 32-bit bcopy routine for real mode
-;;
-
-;
-; 32-bit bcopy routine for real mode
-;
-; We enter protected mode, set up a flat 32-bit environment, run rep movsd
-; and then exit.  IMPORTANT: This code assumes cs == 0.
-;
-; This code is probably excessively anal-retentive in its handling of
-; segments, but this stuff is painful enough as it is without having to rely
-; on everything happening "as it ought to."
-;
-; NOTE: this code is relocated into low memory, just after the .earlybss
-; segment, in order to support to "bcopy over self" operation.
-;
-
-               section .bcopy32
-               align 8
-__bcopy_start:
-
-               ; This is in the .text segment since it needs to be
-               ; contiguous with the rest of the bcopy stuff
-
-bcopy_gdt:     dw bcopy_gdt_size-1     ; Null descriptor - contains GDT
-               dd bcopy_gdt            ; pointer for LGDT instruction
-               dw 0
-               dd 0000ffffh            ; Code segment, use16, readable,
-               dd 00009b00h            ; present, dpl 0, cover 64K
-               dd 0000ffffh            ; Data segment, use16, read/write,
-               dd 008f9300h            ; present, dpl 0, cover all 4G
-               dd 0000ffffh            ; Data segment, use16, read/write,
-               dd 00009300h            ; present, dpl 0, cover 64K
-               ; The rest are used for COM32 only
-               dd 0000ffffh            ; Code segment, use32, readable,
-               dd 00cf9b00h            ; present, dpl 0, cover all 4G
-               dd 0000ffffh            ; Data segment, use32, read/write,
-               dd 00cf9300h            ; present, dpl 0, cover all 4G
-bcopy_gdt_size:        equ $-bcopy_gdt
-
-;
-; bcopy:
-;      32-bit copy, overlap safe
-;
-; Inputs:
-;      ESI     - source pointer
-;      EDI     - target pointer
-;      ECX     - byte count
-;      DF      - zero
-;
-; Outputs:
-;      ESI     - first byte after source
-;      EDI     - first byte after target
-;      ECX     - zero
-;
-bcopy:         push eax
-               push esi
-               push edi
-               push ecx
-               pushf                   ; Saves, among others, the IF flag
-               push ds
-               push es
-
-               cli
-               call enable_a20
-
-               o32 lgdt [cs:bcopy_gdt]
-               mov eax,cr0
-               or al,1
-               mov cr0,eax             ; Enter protected mode
-               jmp 08h:.in_pm
-
-.in_pm:                mov ax,10h              ; Data segment selector
-               mov es,ax
-               mov ds,ax
-
-               ; Don't mess with ss, fs, and gs.  They are never changed
-               ; and should be able to make it back out of protected mode.
-               ; This works because (and only because) we don't take
-               ; interrupt in protected mode.
-
-               cmp esi,edi             ; If source > destination, we might
-               ja .reverse             ; have to copy backwards
-
-.forward:
-               mov al,cl               ; Save low bits
-               and al,3
-               shr ecx,2               ; Convert to dwords
-               a32 rep movsd           ; Do our business
-               ; At this point ecx == 0
-
-               mov cl,al               ; Copy any fractional dword
-               a32 rep movsb
-               jmp .exit
-
-.reverse:
-               std                     ; Reverse copy
-               lea esi,[esi+ecx-1]     ; Point to final byte
-               lea edi,[edi+ecx-1]
-               mov eax,ecx
-               and ecx,3
-               shr eax,2
-               a32 rep movsb
-               
-               ; Change ESI/EDI to point to the last dword, instead
-               ; of the last byte.
-               sub esi,3
-               sub edi,3
-               mov ecx,eax
-               a32 rep movsd
-
-               cld
-
-.exit:
-               mov ax,18h              ; "Real-mode-like" data segment
-               mov es,ax
-               mov ds,ax
-
-               mov eax,cr0
-               and al,~1
-               mov cr0,eax             ; Disable protected mode
-               jmp 0:.in_rm
-
-.in_rm:                ; Back in real mode
-               pop es
-               pop ds
-               call disable_a20
-
-               popf                    ; Re-enables interrupts
-               pop eax
-               pop edi
-               pop esi
-               add edi,eax
-               add esi,eax
-               pop eax
-               ret
-
-;
-; Routines to enable and disable (yuck) A20.  These routines are gathered
-; from tips from a couple of sources, including the Linux kernel and
-; http://www.x86.org/.  The need for the delay to be as large as given here
-; is indicated by Donnie Barnes of RedHat, the problematic system being an
-; IBM ThinkPad 760EL.
-;
-; We typically toggle A20 twice for every 64K transferred.
-; 
-%define        io_delay        call _io_delay
-%define IO_DELAY_PORT  80h             ; Invalid port (we hope!)
-%define disable_wait   32              ; How long to wait for a disable
-
-; Note the skip of 2 here
-%define A20_DUNNO      0               ; A20 type unknown
-%define A20_NONE       2               ; A20 always on?
-%define A20_BIOS       4               ; A20 BIOS enable
-%define A20_KBC                6               ; A20 through KBC
-%define A20_FAST       8               ; A20 through port 92h
-
-slow_out:      out dx, al              ; Fall through
-
-_io_delay:     out IO_DELAY_PORT,al
-               out IO_DELAY_PORT,al
-               ret
-
-enable_a20:
-               pushad
-               mov byte [cs:A20Tries],255 ; Times to try to make this work
-
-try_enable_a20:
-;
-; Flush the caches
-;
-%if DO_WBINVD
-               call try_wbinvd
-%endif
-
-;
-; If the A20 type is known, jump straight to type
-;
-               mov bp,[cs:A20Type]
-               jmp word [cs:bp+A20List]
-
-;
-; First, see if we are on a system with no A20 gate
-;
-a20_dunno:
-a20_none:
-               mov byte [cs:A20Type], A20_NONE
-               call a20_test
-               jnz a20_done
-
-;
-; Next, try the BIOS (INT 15h AX=2401h)
-;
-a20_bios:
-               mov byte [cs:A20Type], A20_BIOS
-               mov ax,2401h
-               pushf                           ; Some BIOSes muck with IF
-               int 15h
-               popf
-
-               call a20_test
-               jnz a20_done
-
-;
-; Enable the keyboard controller A20 gate
-;
-a20_kbc:
-               mov dl, 1                       ; Allow early exit
-               call empty_8042
-               jnz a20_done                    ; A20 live, no need to use KBC
-
-               mov byte [cs:A20Type], A20_KBC  ; Starting KBC command sequence
-
-               mov al,0D1h                     ; Command write
-               out 064h, al
-               call empty_8042_uncond
-
-               mov al,0DFh                     ; A20 on
-               out 060h, al
-               call empty_8042_uncond
-
-               ; Verify that A20 actually is enabled.  Do that by
-               ; observing a word in low memory and the same word in
-               ; the HMA until they are no longer coherent.  Note that
-               ; we don't do the same check in the disable case, because
-               ; we don't want to *require* A20 masking (SYSLINUX should
-               ; work fine without it, if the BIOS does.)
-.kbc_wait:     push cx
-               xor cx,cx
-.kbc_wait_loop:
-               call a20_test
-               jnz a20_done_pop
-               loop .kbc_wait_loop
-
-               pop cx
-;
-; Running out of options here.  Final attempt: enable the "fast A20 gate"
-;
-a20_fast:
-               mov byte [cs:A20Type], A20_FAST ; Haven't used the KBC yet
-               in al, 092h
-               or al,02h
-               and al,~01h                     ; Don't accidentally reset the machine!
-               out 092h, al
-
-.fast_wait:    push cx
-               xor cx,cx
-.fast_wait_loop:
-               call a20_test
-               jnz a20_done_pop
-               loop .fast_wait_loop
-
-               pop cx
-
-;
-; Oh bugger.  A20 is not responding.  Try frobbing it again; eventually give up
-; and report failure to the user.
-;
-
-
-               dec byte [cs:A20Tries]
-               jnz try_enable_a20
-
-               mov si, err_a20
-               jmp abort_load
-;
-; A20 unmasked, proceed...
-;
-a20_done_pop:  pop cx
-a20_done:      popad
-               ret
-
-;
-; This routine tests if A20 is enabled (ZF = 0).  This routine
-; must not destroy any register contents.
-;
-a20_test:
-               push es
-               push cx
-               push ax
-               mov cx,0FFFFh           ; HMA = segment 0FFFFh
-               mov es,cx
-               mov cx,32               ; Loop count
-               mov ax,[cs:A20Test]
-.a20_wait:     inc ax
-               mov [cs:A20Test],ax
-               io_delay                ; Serialize, and fix delay
-               cmp ax,[es:A20Test+10h]
-               loopz .a20_wait
-.a20_done:     pop ax
-               pop cx
-               pop es
-               ret
-
-disable_a20:
-               pushad
-;
-; Flush the caches
-;
-%if DO_WBINVD
-               call try_wbinvd
-%endif
-
-               mov bp,[cs:A20Type]
-               jmp word [cs:bp+A20DList]
-
-a20d_bios:
-               mov ax,2400h
-               pushf                           ; Some BIOSes muck with IF
-               int 15h
-               popf
-               jmp short a20d_snooze
-
-;
-; Disable the "fast A20 gate"
-;
-a20d_fast:
-               in al, 092h
-               and al,~03h
-               out 092h, al
-               jmp short a20d_snooze
-
-;
-; Disable the keyboard controller A20 gate
-;
-a20d_kbc:
-               call empty_8042_uncond
-               mov al,0D1h
-               out 064h, al            ; Command write
-               call empty_8042_uncond
-               mov al,0DDh             ; A20 off
-               out 060h, al
-               call empty_8042_uncond
-               ; Wait a bit for it to take effect
-a20d_snooze:
-               push cx
-               mov cx, disable_wait
-.delayloop:    call a20_test
-               jz .disabled
-               loop .delayloop
-.disabled:     pop cx
-a20d_dunno:
-a20d_none:
-               popad
-               ret
-
-;
-; Routine to empty the 8042 KBC controller.  If dl != 0
-; then we will test A20 in the loop and exit if A20 is
-; suddenly enabled.
-;
-empty_8042_uncond:
-               xor dl,dl
-empty_8042:
-               call a20_test
-               jz .a20_on
-               and dl,dl
-               jnz .done
-.a20_on:       io_delay
-               in al, 064h             ; Status port
-               test al,1
-               jz .no_output
-               io_delay
-               in al, 060h             ; Read input
-               jmp short empty_8042
-.no_output:
-               test al,2
-               jnz empty_8042
-               io_delay
-.done:         ret     
-
-;
-; Execute a WBINVD instruction if possible on this CPU
-;
-%if DO_WBINVD
-try_wbinvd:
-               wbinvd
-               ret
-%endif
-
-;
-; bcopy_over_self:
-;
-; This routine is used to shuffle memory around, followed by
-; invoking an entry point somewhere in low memory.  This routine
-; can clobber any memory above 7C00h, we therefore have to move
-; necessary code into the trackbuf area before doing the copy,
-; and do adjustments to anything except BSS area references.
-;
-; NOTE: Since PXELINUX relocates itself, put all these
-; references in the ".earlybss" segment.
-;
-; After performing the copy, this routine resets the stack and
-; jumps to the specified entrypoint.
-;
-; IMPORTANT: This routine does not canonicalize the stack or the
-; SS register.  That is the responsibility of the caller.
-;
-; Inputs:
-;      DS:BX           -> Pointer to list of (dst, src, len) pairs
-;      AX              -> Number of list entries
-;      [CS:EntryPoint] -> CS:IP to jump to
-;      On stack        - initial state (fd, ad, ds, es, fs, gs)
-;
-shuffle_and_boot:
-               and ax,ax
-               jz .done
-.loop:
-               mov edi,[bx]
-               mov esi,[bx+4]
-               mov ecx,[bx+8]
-               call bcopy
-               add bx,12
-               dec ax
-               jnz .loop
-
-.done:
-               pop gs
-               pop fs
-               pop es
-               pop ds
-               popad
-               popfd
-               jmp far [cs:EntryPoint]
-
-               align 2
-A20List                dw a20_dunno, a20_none, a20_bios, a20_kbc, a20_fast
-A20DList       dw a20d_dunno, a20d_none, a20d_bios, a20d_kbc, a20d_fast
-a20_adjust_cnt equ ($-A20List)/2
-
-A20Type                dw A20_NONE             ; A20 type
-
-               ; Total size of .bcopy32 section
-               alignb 4, db 0          ; Even number of dwords
-__bcopy_size   equ $-__bcopy_start
-
-               section .earlybss
-               alignb 2
-EntryPoint     resd 1                  ; CS:IP for shuffle_and_boot
-SavedSSSP      resd 1                  ; Saved real mode SS:SP
-A20Test                resw 1                  ; Counter for testing status of A20
-A20Tries       resb 1                  ; Times until giving up on A20
diff --git a/syslinux/bin2c.pl b/syslinux/bin2c.pl
deleted file mode 100644 (file)
index 01c2d26..0000000
+++ /dev/null
@@ -1,59 +0,0 @@
-#!/usr/bin/perl
-## $Id: bin2c.pl,v 1.6 2004/12/14 23:03:28 hpa Exp $
-## -----------------------------------------------------------------------
-##   
-##   Copyright 1998-2004 H. Peter Anvin - All Rights Reserved
-##
-##   This program is free software; you can redistribute it and/or modify
-##   it under the terms of the GNU General Public License as published by
-##   the Free Software Foundation, Inc., 53 Temple Place Ste 330,
-##   Boston MA 02111-1307, USA; either version 2 of the License, or
-##   (at your option) any later version; incorporated herein by reference.
-##
-## -----------------------------------------------------------------------
-
-#
-# bin2c.pl: binary file to C source converter
-#
-
-eval { use bytes; };
-eval { binmode STDIN; };
-
-if ( $#ARGV != 0 ) {
-    print STDERR "Usage: $0 table_name < input_file > output_file\n";
-    exit 1;
-}
-
-($table_name) = @ARGV;
-
-printf "unsigned char %s[] = {\n", $table_name;
-
-$pos = 0;
-$linelen = 8;
-
-$total_len = 0;
-
-while ( ($n = read(STDIN, $data, 4096)) > 0 ) {
-    $total_len += $n;
-    for ( $i = 0 ; $i < $n ; $i++ ) {
-       $byte = substr($data, $i, 1);
-       if ( $pos >= $linelen ) {
-           print ",\n\t";
-           $pos = 0;
-       } elsif ( $pos > 0 ) {
-           print ", ";
-       } else {
-           print "\t";
-       }
-       printf("0x%02x", unpack("C", $byte));
-       $pos++;
-    }
-}
-
-printf "\n};\n\nunsigned int %s_len = %u;\n", $table_name, $total_len;
-
-@st = stat STDIN;
-
-printf "\nint %s_mtime = %d;\n", $table_name, $st[9];
-
-exit 0;
diff --git a/syslinux/bin2hex.pl b/syslinux/bin2hex.pl
deleted file mode 100755 (executable)
index a211e53..0000000
+++ /dev/null
@@ -1,46 +0,0 @@
-#!/usr/bin/perl
-## "$Id: bin2hex.pl,v 1.3 2003/07/01 00:49:31 hpa Exp $"
-## -----------------------------------------------------------------------
-##   
-##   Copyright 2003 H. Peter Anvin - All Rights Reserved
-##
-##   Permission is hereby granted, free of charge, to any person
-##   obtaining a copy of this software and associated documentation
-##   files (the "Software"), to deal in the Software without
-##   restriction, including without limitation the rights to use,
-##   copy, modify, merge, publish, distribute, sublicense, and/or
-##   sell copies of the Software, and to permit persons to whom
-##   the Software is furnished to do so, subject to the following
-##   conditions:
-##   
-##   The above copyright notice and this permission notice shall
-##   be included in all copies or substantial portions of the Software.
-##   
-##   THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-##   EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
-##   OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-##   NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
-##   HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
-##   WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-##   FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
-##   OTHER DEALINGS IN THE SOFTWARE.
-##
-## -----------------------------------------------------------------------
-
-eval { use bytes; }; eval { binmode STDIN; };
-
-$len = 0;
-while ( read(STDIN,$ch,1) ) {
-    $cc = ord($ch);
-    $len += printf ("%x", $cc);
-    if ( $len > 72 ) {
-       print "\n";
-       $len = 0;
-    } else {
-       print " ";
-       $len++;
-    }
-}
-print "\n" if ( $len );
-exit 0;
-
diff --git a/syslinux/bios.inc b/syslinux/bios.inc
deleted file mode 100644 (file)
index 8b11fc4..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-;; $Id: bios.inc,v 1.3 2004/12/14 22:46:24 hpa Exp $
-;; -----------------------------------------------------------------------
-;;   
-;;   Copyright 1994-2004 H. Peter Anvin - All Rights Reserved
-;;
-;;   This program is free software; you can redistribute it and/or modify
-;;   it under the terms of the GNU General Public License as published by
-;;   the Free Software Foundation, Inc., 53 Temple Place Ste 330,
-;;   Boston MA 02111-1307, USA; either version 2 of the License, or
-;;   (at your option) any later version; incorporated herein by reference.
-;;
-;; -----------------------------------------------------------------------
-
-;;
-;; bios.inc
-;; 
-;; Header file for the BIOS data structures etc.
-;;
-
-%ifndef _BIOS_INC
-%define _BIOS_INC
-
-               absolute 4*1Eh          ; In the interrupt table
-fdctab         equ $
-fdctab1                resw 1
-fdctab2                resw 1
-               absolute 0400h
-serial_base    resw 4                  ; Base addresses for 4 serial ports
-               absolute 0413h
-BIOS_fbm       resw 1                  ; Free Base Memory (kilobytes)
-               absolute 0462h
-BIOS_page      resb 1                  ; Current video page
-               absolute 046Ch
-BIOS_timer     resw 1                  ; Timer ticks
-               absolute 0472h
-BIOS_magic     resw 1                  ; BIOS reset magic
-                absolute 0484h
-BIOS_vidrows    resb 1                 ; Number of screen rows
-
-%endif ; _BIOS_INC
diff --git a/syslinux/bootsect.inc b/syslinux/bootsect.inc
deleted file mode 100644 (file)
index dce9a59..0000000
+++ /dev/null
@@ -1,157 +0,0 @@
-;; $Id: bootsect.inc,v 1.15 2005/01/12 00:34:54 hpa Exp $
-;; -----------------------------------------------------------------------
-;;   
-;;   Copyright 1994-2005 H. Peter Anvin - All Rights Reserved
-;;
-;;   This program is free software; you can redistribute it and/or modify
-;;   it under the terms of the GNU General Public License as published by
-;;   the Free Software Foundation, Inc., 53 Temple Place Ste 330,
-;;   Boston MA 02111-1307, USA; either version 2 of the License, or
-;;   (at your option) any later version; incorporated herein by reference.
-;;
-;; -----------------------------------------------------------------------
-
-;;
-;; bootsect.inc
-;; 
-;; Load a boot sector (or other bootstrap program.)
-;;
-;; Unlike previous versions of this software, this doesn't require that
-;; the length is 512 bytes.  This allows PXE bootstraps and WinNT
-;; "CD boot sectors" to be invoked.
-;;
-
-;
-; Load a boot sector
-;
-is_bootsector:
-%if IS_SYSLINUX || IS_MDSLINUX
-               ; Transfer zero bytes
-               mov byte [CopySuper],0
-               jmp short load_bootsec
-
-is_bss_sector:
-               ; Transfer the superblock
-               mov byte [CopySuper],superblock_len
-%endif
-load_bootsec:
-               xchg dx,ax
-               shl eax,16
-               xchg dx,ax              ; Now EAX = file length
-               mov edi, 100000h
-               mov [trackbuf+4],edi    ; Copy from this address
-               push edi                ; Save load address
-               xor dx,dx               ; No padding
-               call load_high
-               call crlf
-
-               sub edi,100000h
-               mov [trackbuf+8],edi    ; Save length
-
-               mov eax,7C00h           ; Entry point
-               mov [trackbuf],eax      ; Copy to this address
-               mov [EntryPoint],eax    ; Jump to this address when done
-
-%if IS_SYSLINUX || IS_MDSLINUX
-               movzx ecx,byte [CopySuper]
-               jcxz .not_bss
-
-               ; For a BSS boot sector we have to patch.
-               mov esi,superblock
-               mov edi,100000h+(superblock-bootsec)
-               call bcopy
-
-.not_bss:
-%endif
-
-               xor edx,edx
-               xor esi,esi
-%if IS_SYSLINUX || IS_MDSLINUX || IS_EXTLINUX
-               ; Restore original FDC table
-               mov eax,[OrigFDCTabPtr]
-               mov [fdctab],eax
-
-               mov dl,[DriveNumber]
-               mov si,PartInfo         ; Partition info buffer
-               mov di,800h-18          ; Put partition info here
-               push di
-               mov cx,8                ; 16 bytes
-               xor ax,ax
-               rep movsw
-               pop si                  ; DS:SI points to partition info
-%elif IS_ISOLINUX
-               mov dl,[DriveNo]
-%elif IS_PXELINUX
-               mov byte [KeepPXE],1    ; Chainloading another NBP
-               call reset_pxe
-%endif
-               xor bx,bx
-
-;
-; replace_bootstrap for the special case where we have exactly one
-; descriptor, and it's the first entry in the trackbuf
-;
-
-replace_bootstrap_one:
-               push word trackbuf              ; Address of descriptor list
-               push word 1                     ; Length of descriptor list
-               ; Fall through
-
-; 
-; Entrypoint for "shut down and replace bootstrap" -- also invoked by
-; the COMBOOT API.  This routine expects two words on the stack:
-; address of the copy list (versus DS) and count.  Additionally,
-; the values of ESI and EDX are passed on to the new bootstrap;
-; the value of BX becomes the new DS.
-; 
-replace_bootstrap:
-               ;
-               ; Prepare for shutting down
-               ;
-               call vgaclearmode
-
-               ;
-               ; Set up initial stack frame (not used by PXE if keeppxe is
-               ; set - we use the PXE stack then.)
-               ; AFTER THIS POINT ONLY .earlybss IS AVAILABLE, NOT .bss
-               ;
-               xor ax,ax
-               mov ds,ax
-               mov es,ax               
-
-%if IS_PXELINUX
-               test byte [KeepPXE],01h
-               jz .stdstack
-               les di,[InitStack]      ; Reset stack to PXE original
-               jmp .stackok
-%endif
-.stdstack:
-               mov di,7C00h-44
-               push di
-               mov cx,22               ; 44 bytes
-               rep stosw
-               pop di
-.stackok:
-
-               mov [es:di+28],edx
-               mov [es:di+12],esi
-               mov [es:di+6],bx
-
-               pop ax                  ; Copy list count
-               pop bx                  ; Copy from...
-
-               cli
-               mov cx,es
-               mov ss,cx
-               movzx esp,di
-
-               jmp shuffle_and_boot
-
-%if IS_SYSLINUX || IS_MDSLINUX
-               ; Nothing
-%else
-is_bss_sector:
-               mov si,err_bssimage
-               call cwritestr
-               jmp enter_command
-%endif
diff --git a/syslinux/cache.inc b/syslinux/cache.inc
deleted file mode 100644 (file)
index 3e0fd8e..0000000
+++ /dev/null
@@ -1,83 +0,0 @@
-; -*- fundamental -*- ---------------------------------------------------
-;   
-;   Copyright 2004 H. Peter Anvin - All Rights Reserved
-;
-;   This program is free software; you can redistribute it and/or modify
-;   it under the terms of the GNU General Public License as published by
-;   the Free Software Foundation, Inc., 53 Temple Place Ste 330,
-;   Boston MA 02111-1307, USA; either version 2 of the License, or
-;   (at your option) any later version; incorporated herein by reference.
-;
-; -----------------------------------------------------------------------
-; $Id: cache.inc,v 1.3 2005/01/25 07:15:21 hpa Exp $
-
-               section .text
-;
-; initcache: Initialize the cache data structures
-;
-initcache:
-               xor eax,eax                     ; We don't care about sector 0
-               mov di,CachePtrs
-               mov cx,65536/SECTOR_SIZE
-               rep stosd
-               ret
-
-
-;
-; getcachesector: Check for a particular sector (EAX) in the sector cache,
-;                and if it is already there, return a pointer in GS:SI
-;                otherwise load it and return said pointer.
-;
-;              Assumes CS == DS.
-;
-getcachesector:
-               push cx
-               mov si,cache_seg
-               mov gs,si
-               mov si,CachePtrs        ; Sector cache pointers
-               mov cx,65536/SECTOR_SIZE
-.search:
-               cmp eax,[si]
-               jz .hit
-               add si,4
-               loop .search
-
-.miss:
-               TRACER 'M'
-               ; Need to load it.  Highly inefficient cache replacement
-               ; algorithm: Least Recently Written (LRW)
-               push bx
-               push es
-               push gs
-               pop es
-               mov bx,[NextCacheSlot]
-               inc bx
-               and bx,(1 << (16-SECTOR_SHIFT))-1
-               mov [NextCacheSlot],bx
-               shl bx,2
-               mov [CachePtrs+bx],eax
-               shl bx,SECTOR_SHIFT-2
-               mov si,bx
-               pushad
-%if IS_EXTLINUX
-               call getonesec_ext
-%else
-               call getonesec
-%endif
-               popad
-               pop es
-               pop bx
-               pop cx
-               ret
-
-.hit:          ; We have it; get the pointer
-               TRACER 'H'
-               sub si,CachePtrs
-               shl si,SECTOR_SHIFT-2
-               pop cx
-               ret
-
-               section .bss
-               alignb 4
-CachePtrs      resd 65536/SECTOR_SIZE  ; Cached sector pointers
-NextCacheSlot  resw 1                  ; Next cache slot to occupy
diff --git a/syslinux/checksumiso.pl b/syslinux/checksumiso.pl
deleted file mode 100755 (executable)
index b552742..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-#!/usr/bin/perl
-#
-# Construct a checksum for isolinux*.bin, compatible
-# with an mkisofs boot-info-table
-#
-
-use bytes;
-use integer;
-
-($file) = @ARGV;
-
-open(FILE, '+<', $file) or die "$0: Cannot open $file: $!\n";
-binmode FILE;
-
-if ( !seek(FILE,64,0) ) {
-    die "$0: Cannot seek past header\n";
-}
-
-$csum  = 0;
-$bytes = 64;
-while ( ($n = read(FILE, $dw, 4)) > 0 ) {
-    $dw .= "\0\0\0\0";         # Pad to at least 32 bits
-    ($v) = unpack("V", $dw);
-    $csum  = ($csum + $v) & 0xffffffff;
-    $bytes += $n;
-}
-
-if ( !seek(FILE,16,0) ) {
-    die "$0: Cannot seek to header\n";
-}
-
-print FILE pack("VV", $bytes, $csum);
-
-close(FILE);
-
-exit 0;
diff --git a/syslinux/cmdline.inc b/syslinux/cmdline.inc
deleted file mode 100644 (file)
index 628f8a3..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-;; $Id: cmdline.inc,v 1.2 2004/12/14 22:46:24 hpa Exp $
-;; -----------------------------------------------------------------------
-;;   
-;;   Copyright 2003 H. Peter Anvin - All Rights Reserved
-;;
-;;   This program is free software; you can redistribute it and/or modify
-;;   it under the terms of the GNU General Public License as published by
-;;   the Free Software Foundation, Inc., 53 Temple Place Ste 330,
-;;   Boston MA 02111-1307, USA; either version 2 of the License, or
-;;   (at your option) any later version; incorporated herein by reference.
-;;
-;; -----------------------------------------------------------------------
-
-;;
-;; cmdline.inc
-;;
-;; Common routine to assemble [null-terminated] command line into
-;; real_mode_seg:cmd_line_here.
-;; Not used by plain kernel due to BOOT_IMAGE= etc.
-;;
-
-;
-; Assumes DS == CS
-make_plain_cmdline:
-               push es
-               ; ui.inc has already copied the actual command line
-               mov ax,real_mode_seg
-               mov es,ax
-
-               mov si,[CmdOptPtr]
-               mov di,[CmdLinePtr]
-               
-.loop:         lodsb
-               stosb
-               and al,al
-               jnz .loop
-
-               dec di
-               mov [CmdLinePtr],di
-
-               pop es
-               ret
-
-
diff --git a/syslinux/com32.inc b/syslinux/com32.inc
deleted file mode 100644 (file)
index f257b08..0000000
+++ /dev/null
@@ -1,359 +0,0 @@
-;; $Id: com32.inc,v 1.9 2005/01/06 22:34:06 hpa Exp $
-;; -----------------------------------------------------------------------
-;;   
-;;   Copyright 1994-2003 H. Peter Anvin - All Rights Reserved
-;;
-;;   This program is free software; you can redistribute it and/or modify
-;;   it under the terms of the GNU General Public License as published by
-;;   the Free Software Foundation, Inc., 53 Temple Place Ste 330,
-;;   Boston MA 02111-1307, USA; either version 2 of the License, or
-;;   (at your option) any later version; incorporated herein by reference.
-;;
-;; -----------------------------------------------------------------------
-
-;;
-;; com32.inc
-;;
-;; Common code for running a COM32 image
-;;
-
-;
-; Load a COM32 image.  A COM32 image is the 32-bit analogue to a DOS
-; .com file.  A COM32 image is loaded at address 0x101000, with %esp
-; set to the high end of usable memory.
-;
-; A COM32 image should begin with the magic bytes:
-; B8 FF 4C CD 21, which is "mov eax,0x21cd4cff" in 32-bit mode and
-; "mov ax,0x4cff; int 0x21" in 16-bit mode.  This will abort the
-; program with an error if run in 16-bit mode.
-;
-pm_idt:                equ 0x100000
-pm_entry:      equ 0x101000
-
-               bits 16
-               section .data
-               align 2, db 0
-com32_pmidt:
-               dw 8*256                ; Limit
-               dd pm_idt               ; Address
-
-com32_rmidt:
-               dw 0ffffh               ; Limit
-               dd 0                    ; Address
-
-               section .text
-is_com32_image:
-               push si                 ; Save file handle
-               push dx                 ; File length held in DX:AX
-               push ax
-
-               call make_plain_cmdline
-               ; Copy the command line into the low cmdline buffer
-               mov ax,real_mode_seg
-               mov fs,ax
-               mov si,cmd_line_here
-               mov di,command_line
-               mov cx,[CmdLinePtr]
-               inc cx                  ; Include final null
-               sub cx,si
-               fs rep movsb
-
-               call highmemsize        ; We need the high memory size...
-               call comboot_setup_api  ; Set up the COMBOOT-style API
-
-               mov edi,pm_entry        ; Load address
-               pop eax                 ; File length
-               pop si                  ; File handle
-               xor dx,dx               ; No padding
-               call load_high
-               call crlf
-
-com32_start:
-               mov ebx,com32_call_start        ; Where to go in PM
-
-com32_enter_pm:
-               cli
-               mov ax,cs
-               mov ds,ax
-               mov [SavedSSSP],sp
-               mov [SavedSSSP+2],ss
-               cld
-               call a20_test
-               jnz .a20ok
-               call enable_a20
-
-.a20ok:
-               lgdt [bcopy_gdt]        ; We can use the same GDT just fine
-               lidt [com32_pmidt]      ; Set up the IDT
-               mov eax,cr0
-               or al,1
-               mov cr0,eax             ; Enter protected mode
-               jmp 20h:.in_pm
-               
-               bits 32
-.in_pm:
-               xor eax,eax             ; Available for future use...
-               mov fs,eax
-               mov gs,eax
-
-               mov al,28h              ; Set up data segments
-               mov es,eax
-               mov ds,eax
-               mov ss,eax
-
-               mov esp,[PMESP]         ; Load protmode %esp if available
-               jmp ebx                 ; Go to where we need to go
-
-;
-; This is invoked right before the actually starting the COM32
-; progam, in 32-bit mode...
-;
-com32_call_start:
-               ;
-               ; Point the stack to the end of high memory
-               ;
-               mov esp,[word HighMemSize]
-
-               ;
-               ; Set up the protmode IDT and the interrupt jump buffers
-               ; We set these up in the system area at 0x100000,
-               ; but we could also put them beyond the stack.
-               ;
-               mov edi,pm_idt
-
-               ; Form an interrupt gate descriptor
-               mov eax,0x00200000+((pm_idt+8*256)&0x0000ffff)
-               mov ebx,0x0000ee00+((pm_idt+8*256)&0xffff0000)
-               xor ecx,ecx
-               inc ch                          ; ecx <- 256
-
-               push ecx
-.make_idt:
-               stosd
-               add eax,8
-               xchg eax,ebx
-               stosd
-               xchg eax,ebx
-               loop .make_idt
-
-               pop ecx
-
-               ; Each entry in the interrupt jump buffer contains
-               ; the following instructions:
-               ;
-               ; 00000000 60                pushad
-               ; 00000001 B0xx              mov al,<interrupt#>
-               ; 00000003 E9xxxxxxxx        jmp com32_handle_interrupt
-
-               mov eax,0e900b060h
-               mov ebx,com32_handle_interrupt-(pm_idt+8*256+8)
-
-.make_ijb:
-               stosd
-               sub [edi-2],cl                  ; Interrupt #
-               xchg eax,ebx
-               stosd
-               sub eax,8
-               xchg eax,ebx
-               loop .make_ijb
-
-               ; Now everything is set up for interrupts...
-
-               push dword com32_farcall        ; Farcall entry point
-               push dword (1 << 16)            ; 64K bounce buffer
-               push dword (comboot_seg << 4)   ; Bounce buffer address
-               push dword com32_intcall        ; Intcall entry point
-               push dword command_line         ; Command line pointer
-               push dword 5                    ; Argument count
-               sti                             ; Interrupts OK now
-               call pm_entry                   ; Run the program...
-               ; ... on return, fall through to com32_exit ...
-
-com32_exit:
-               mov bx,com32_done       ; Return to command loop
-
-com32_enter_rm:
-               cli
-               cld
-               mov [PMESP],esp         ; Save exit %esp
-               xor esp,esp             ; Make sure the high bits are zero
-               jmp 08h:.in_pm16        ; Return to 16-bit mode first
-
-               bits 16
-.in_pm16:
-               mov ax,18h              ; Real-mode-like segment
-               mov es,ax
-               mov ds,ax
-               mov ss,ax
-               mov fs,ax
-               mov gs,ax
-
-               lidt [com32_rmidt]      ; Real-mode IDT (rm needs no GDT)
-               mov eax,cr0
-               and al,~1
-               mov cr0,eax
-               jmp 0:.in_rm
-
-.in_rm:                                        ; Back in real mode
-               mov ax,cs               ; Set up sane segments
-               mov ds,ax
-               mov es,ax
-               mov fs,ax
-               mov gs,ax
-               lss sp,[SavedSSSP]      ; Restore stack
-               jmp bx                  ; Go to whereever we need to go...
-
-com32_done:
-               call disable_a20
-               sti
-               jmp enter_command
-
-;
-; 16-bit support code
-;
-               bits 16
-
-;
-; 16-bit interrupt-handling code
-;
-com32_int_rm:
-               pushf                           ; Flags on stack
-               push cs                         ; Return segment
-               push word .cont                 ; Return address
-               push dword edx                  ; Segment:offset of IVT entry
-               retf                            ; Invoke IVT routine
-.cont:         ; ... on resume ...
-               mov ebx,com32_int_resume
-               jmp com32_enter_pm              ; Go back to PM
-
-;
-; 16-bit system call handling code
-;
-com32_sys_rm:
-               pop gs
-               pop fs
-               pop es
-               pop ds
-               popad
-               popfd
-               mov [cs:Com32SysSP],sp
-               retf                            ; Invoke routine
-.return:
-               ; We clean up SP here because we don't know if the
-               ; routine returned with RET, RETF or IRET
-               mov sp,[cs:Com32SysSP]
-               pushfd
-               pushad
-               push ds
-               push es
-               push fs
-               push gs
-               mov ebx,com32_sys_resume
-               jmp com32_enter_pm
-
-;
-; 32-bit support code
-;
-               bits 32
-
-;
-; This is invoked on getting an interrupt in protected mode.  At
-; this point, we need to context-switch to real mode and invoke
-; the interrupt routine.
-;
-; When this gets invoked, the registers are saved on the stack and
-; AL contains the register number.
-;
-com32_handle_interrupt:
-               movzx eax,al
-               xor ebx,ebx             ; Actually makes the code smaller
-               mov edx,[ebx+eax*4]     ; Get the segment:offset of the routine
-               mov bx,com32_int_rm
-               jmp com32_enter_rm      ; Go to real mode
-
-com32_int_resume:
-               popad
-               iret
-
-;
-; Intcall/farcall invocation.  We manifest a structure on the real-mode stack,
-; containing the com32sys_t structure from <com32.h> as well as
-; the following entries (from low to high address):
-; - Target offset
-; - Target segment
-; - Return offset
-; - Return segment (== real mode cs == 0)
-; - Return flags
-;
-com32_farcall:
-               pushfd                          ; Save IF among other things...
-               pushad                          ; We only need to save some, but...
-
-               mov eax,[esp+10*4]              ; CS:IP
-               jmp com32_syscall
-
-
-com32_intcall:
-               pushfd                          ; Save IF among other things...
-               pushad                          ; We only need to save some, but...
-
-               movzx eax,byte [esp+10*4]       ; INT number
-               mov eax,[eax*4]                 ; Get CS:IP from low memory
-
-com32_syscall:
-               cld
-
-               movzx edi,word [word SavedSSSP]
-               movzx ebx,word [word SavedSSSP+2]
-               sub edi,54              ; Allocate 54 bytes
-               mov [word SavedSSSP],di
-               shl ebx,4
-               add edi,ebx             ; Create linear address
-
-               mov esi,[esp+11*4]      ; Source regs
-               xor ecx,ecx
-               mov cl,11               ; 44 bytes to copy
-               rep movsd
-
-               ; EAX is already set up to be CS:IP
-               stosd                   ; Save in stack frame
-               mov eax,com32_sys_rm.return     ; Return seg:offs
-               stosd                   ; Save in stack frame
-               mov eax,[edi-12]        ; Return flags
-               and eax,0x200cd7        ; Mask (potentially) unsafe flags
-               mov [edi-12],eax        ; Primary flags entry
-               stosw                   ; Return flags
-
-               mov bx,com32_sys_rm
-               jmp com32_enter_rm      ; Go to real mode
-
-               ; On return, the 44-byte return structure is on the
-               ; real-mode stack, plus the 10 additional bytes used
-               ; by the target address (see above.)
-com32_sys_resume:
-               movzx esi,word [word SavedSSSP]
-               movzx eax,word [word SavedSSSP+2]
-               mov edi,[esp+12*4]      ; Dest regs
-               shl eax,4
-               add esi,eax             ; Create linear address
-               and edi,edi             ; NULL pointer?
-               jnz .do_copy
-.no_copy:      mov edi,esi             ; Do a dummy copy-to-self
-.do_copy:      xor ecx,ecx
-               mov cl,11               ; 44 bytes
-               rep movsd               ; Copy register block
-
-               add dword [word SavedSSSP],54   ; Remove from stack
-
-               popad
-               popfd
-               ret                     ; Return to 32-bit program
-
-               bits 16
-
-               section .bss
-               alignb 4
-PMESP          resd 1                  ; Protected-mode ESP
-Com32SysSP     resw 1                  ; SP saved during COM32 syscall
-
-               section .text
diff --git a/syslinux/com32/LICENCE b/syslinux/com32/LICENCE
deleted file mode 100644 (file)
index b20d654..0000000
+++ /dev/null
@@ -1,31 +0,0 @@
-libcom32 and libutil are licensed under the MIT license:
-
-## -----------------------------------------------------------------------
-##   
-##   Copyright 2004 H. Peter Anvin - All Rights Reserved
-##
-##   Permission is hereby granted, free of charge, to any person
-##   obtaining a copy of this software and associated documentation
-##   files (the "Software"), to deal in the Software without
-##   restriction, including without limitation the rights to use,
-##   copy, modify, merge, publish, distribute, sublicense, and/or
-##   sell copies of the Software, and to permit persons to whom
-##   the Software is furnished to do so, subject to the following
-##   conditions:
-##   
-##   The above copyright notice and this permission notice shall
-##   be included in all copies or substantial portions of the Software.
-##   
-##   THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-##   EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
-##   OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-##   NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
-##   HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
-##   WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-##   FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
-##   OTHER DEALINGS IN THE SOFTWARE.
-##
-## -----------------------------------------------------------------------
-
-The files in the samples and modules directories are mostly under the
-GNU GPL (see the file COPYING in the directory above.)
diff --git a/syslinux/com32/Makefile b/syslinux/com32/Makefile
deleted file mode 100644 (file)
index 7e7bfcb..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-SUBDIRS = lib libutil modules samples
-
-all tidy clean spotless install:
-       for d in $(SUBDIRS); do $(MAKE) -C $$d $@; done
diff --git a/syslinux/com32/include/bitsize/limits.h b/syslinux/com32/include/bitsize/limits.h
deleted file mode 100644 (file)
index f90e524..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-/*
- * bits32/limits.h
- */
-
-#ifndef _BITSIZE_LIMITS_H
-#define _BITSIZE_LIMITS_H
-
-#define LONG_BIT       32
-
-#define LONG_MIN       (-2147483647L-1)
-#define LONG_MAX       2147483647L
-#define ULONG_MAX      4294967295UL
-
-#endif /* _BITSIZE_LIMITS_H */
diff --git a/syslinux/com32/include/bitsize/stddef.h b/syslinux/com32/include/bitsize/stddef.h
deleted file mode 100644 (file)
index c486041..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-/*
- * bits32/stddef.h
- */
-
-#ifndef _BITSIZE_STDDEF_H
-#define _BITSIZE_STDDEF_H
-
-#define _SIZE_T
-#if defined(__s390__) || defined(__hppa__) || defined(__cris__)
-typedef unsigned long size_t;
-#else
-typedef unsigned int size_t;
-#endif
-
-#define _PTRDIFF_T
-typedef signed int   ptrdiff_t;
-
-#endif /* _BITSIZE_STDDEF_H */
diff --git a/syslinux/com32/include/bitsize/stdint.h b/syslinux/com32/include/bitsize/stdint.h
deleted file mode 100644 (file)
index 40b4649..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * bits32/stdint.h
- */
-
-#ifndef _BITSIZE_STDINT_H
-#define _BITSIZE_STDINT_H
-
-typedef signed char            int8_t;
-typedef short int              int16_t;
-typedef int                    int32_t;
-typedef long long int          int64_t;
-
-typedef unsigned char          uint8_t;
-typedef unsigned short int     uint16_t;
-typedef unsigned int           uint32_t;
-typedef unsigned long long int uint64_t;
-
-typedef int                    int_fast16_t;
-typedef int                    int_fast32_t;
-
-typedef unsigned int           uint_fast16_t;
-typedef unsigned int           uint_fast32_t;
-
-typedef int                    intptr_t;
-typedef unsigned int           uintptr_t;
-
-#define __INT64_C(c)   c ## LL
-#define __UINT64_C(c)  c ## ULL
-
-#define __PRI64_RANK   "ll"
-#define __PRIFAST_RANK ""
-#define __PRIPTR_RANK  ""
-
-#endif /* _BITSIZE_STDINT_H */
diff --git a/syslinux/com32/include/bitsize/stdintconst.h b/syslinux/com32/include/bitsize/stdintconst.h
deleted file mode 100644 (file)
index 8157dd0..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-/*
- * bits32/stdintconst.h
- */
-
-#ifndef _BITSIZE_STDINTCONST_H
-#define _BITSIZE_STDINTCONST_H
-
-#define INT_FAST16_C(c)         INT32_C(c)
-#define INT_FAST32_C(c)  INT32_C(c)
-
-#define UINT_FAST16_C(c) UINT32_C(c)
-#define UINT_FAST32_C(c) UINT32_C(c)
-
-#define INTPTR_C(c)     INT32_C(c)
-#define UINTPTR_C(c)    UINT32_C(c)
-#define PTRDIFF_C(c)     INT32_C(c)
-
-#endif /* _BITSIZE_STDINTCONST_H */
diff --git a/syslinux/com32/include/bitsize/stdintlimits.h b/syslinux/com32/include/bitsize/stdintlimits.h
deleted file mode 100644 (file)
index b44fe01..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-/*
- * bits32/stdintlimits.h
- */
-
-#ifndef _BITSIZE_STDINTLIMITS_H
-#define _BITSIZE_STDINTLIMITS_H
-
-#define INT_FAST16_MIN INT32_MIN
-#define INT_FAST32_MIN INT32_MIN
-#define INT_FAST16_MAX INT32_MAX
-#define INT_FAST32_MAX INT32_MAX
-#define UINT_FAST16_MAX UINT32_MAX
-#define UINT_FAST32_MAX UINT32_MAX
-
-#define INTPTR_MIN     INT32_MIN
-#define INTPTR_MAX     INT32_MAX
-#define UINTPTR_MAX    UINT32_MAX
-
-#define PTRDIFF_MIN    INT32_MIN
-#define PTRDIFF_MAX    INT32_MAX
-
-#endif /* _BITSIZE_STDINTLIMITS_H */
diff --git a/syslinux/com32/include/com32.h b/syslinux/com32/include/com32.h
deleted file mode 100644 (file)
index 91799f6..0000000
+++ /dev/null
@@ -1,117 +0,0 @@
-/* ----------------------------------------------------------------------- *
- *   Not Copyright 2002 H. Peter Anvin
- *   This file is in the public domain.
- * ----------------------------------------------------------------------- */
-
-/*
- * com32.h
- *
- * Common declarations for com32 programs.
- */
-
-#ifndef _COM32_H
-#define _COM32_H
-
-#include <stdint.h>
-#include <klibc/compiler.h>    /* For __cdecl */
-
-/*
- * This structure defines the register frame used by the
- * system call interface.
- *
- * The syscall interface is:
- *
- * __intcall(interrupt_#, source_regs, return_regs)
- * __farcall(seg, offs, source_regs, return_regs)
- */
-typedef union {
-  uint32_t l;
-  uint16_t w[2];
-  uint8_t  b[4];
-} reg32_t;
-
-typedef struct {
-  uint16_t gs;                 /* Offset  0 */
-  uint16_t fs;                 /* Offset  2 */
-  uint16_t es;                 /* Offset  4 */
-  uint16_t ds;                 /* Offset  6 */
-
-  reg32_t edi;                 /* Offset  8 */
-  reg32_t esi;                 /* Offset 12 */
-  reg32_t ebp;                 /* Offset 16 */
-  reg32_t _unused;             /* Offset 20 */
-  reg32_t ebx;                 /* Offset 24 */
-  reg32_t edx;                 /* Offset 28 */
-  reg32_t ecx;                 /* Offset 32 */
-  reg32_t eax;                 /* Offset 36 */
-
-  reg32_t eflags;              /* Offset 40 */
-} com32sys_t;
-
-/* EFLAGS definitions */
-#define EFLAGS_CF              0x00000001
-#define EFLAGS_PF              0x00000004
-#define EFLAGS_AF              0x00000010
-#define EFLAGS_ZF              0x00000040
-#define EFLAGS_SF              0x00000080
-#define EFLAGS_TF              0x00000100
-#define EFLAGS_IF              0x00000200
-#define EFLAGS_DF              0x00000400
-#define EFLAGS_OF              0x00000800
-#define EFLAGS_IOPL            0x00003000
-#define EFLAGS_NT              0x00004000
-#define EFLAGS_RF              0x00010000
-#define EFLAGS_VM              0x00020000
-#define EFLAGS_AC              0x00040000
-#define EFLAGS_VIF             0x00080000
-#define EFLAGS_VIP             0x00100000
-#define EFLAGS_ID              0x00200000
-
-extern struct com32_sys_args {
-  uint32_t cs_sysargs;
-  char *cs_cmdline;
-  void __cdecl (*cs_intcall)(uint8_t, const com32sys_t *, com32sys_t *);
-  void *cs_bounce;
-  uint32_t cs_bounce_size;
-  void __cdecl (*cs_farcall)(uint32_t, const com32sys_t *, com32sys_t *);
-} __com32;
-
-/*
- * System call macros
- */
-static inline void
-__intcall(uint8_t __i, const com32sys_t *__sr, com32sys_t *__dr)
-{
-  __com32.cs_intcall(__i, __sr, __dr);
-}
-
-static inline void
-__farcall(uint16_t __es, uint16_t __eo,
-         const com32sys_t *__sr, com32sys_t *__dr)
-{
-  __com32.cs_farcall((__es << 16) + __eo, __sr, __dr);
-}
-
-/*
- * These functions convert between linear pointers in the range
- * 0..0xFFFFF and real-mode style SEG:OFFS pointers.  Note that a
- * 32-bit linear pointer is not compatible with a SEG:OFFS pointer
- * stored in two consecutive 16-bit words.
- */
-static inline uint16_t SEG(void *__p)
-{
-  return (uint16_t)(((uintptr_t)__p) >> 4);
-}
-
-static inline uint16_t OFFS(void *__p)
-{
-  /* The double cast here is to shut up gcc */
-  return (uint16_t)(uintptr_t)__p & 0x000F;
-}
-
-static inline void *MK_PTR(uint16_t __seg, uint16_t __offs)
-{
-  return (void *)((__seg << 4) + __offs);
-}
-
-#endif /* _COM32_H */
diff --git a/syslinux/com32/include/console.h b/syslinux/com32/include/console.h
deleted file mode 100644 (file)
index e7677ff..0000000
+++ /dev/null
@@ -1,60 +0,0 @@
-#ident "$Id: console.h,v 1.4 2004/11/30 22:09:56 hpa Exp $"
-/* ----------------------------------------------------------------------- *
- *   
- *   Copyright 2004 H. Peter Anvin - All Rights Reserved
- *
- *   Permission is hereby granted, free of charge, to any person
- *   obtaining a copy of this software and associated documentation
- *   files (the "Software"), to deal in the Software without
- *   restriction, including without limitation the rights to use,
- *   copy, modify, merge, publish, distribute, sublicense, and/or
- *   sell copies of the Software, and to permit persons to whom
- *   the Software is furnished to do so, subject to the following
- *   conditions:
- *   
- *   The above copyright notice and this permission notice shall
- *   be included in all copies or substantial portions of the Software.
- *   
- *   THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- *   EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
- *   OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- *   NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
- *   HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
- *   WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
- *   FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
- *   OTHER DEALINGS IN THE SOFTWARE.
- *
- * ----------------------------------------------------------------------- */
-
-/*
- * console.h
- *
- * Alternative consoles
- */
-
-#ifndef _CONSOLE_H
-#define _CONSOLE_H
-
-#include <klibc/extern.h>
-#include <dev.h>
-
-__extern int openconsole(const struct input_dev *, const struct output_dev *);
-
-/* Standard line-oriented console */
-extern const struct input_dev  dev_stdcon_r;
-extern const struct output_dev dev_stdcon_w;
-/* Raw character-oriented console */
-extern const struct input_dev  dev_rawcon_r;
-extern const struct output_dev dev_rawcon_w;
-
-/* These are output-only consoles; combine with one of the input methods */
-
-/* Serial port only */
-extern const struct output_dev dev_serial_w;
-/* ANSI console (output only; combine with one of the input methods) */
-extern const struct output_dev dev_ansicon_w;
-/* ANSI plus serial port */
-extern const struct output_dev dev_ansiserial_w;
-
-#endif /* _CONSOLE_H */
-
diff --git a/syslinux/com32/include/ctype.h b/syslinux/com32/include/ctype.h
deleted file mode 100644 (file)
index daa6a8e..0000000
+++ /dev/null
@@ -1,119 +0,0 @@
-/*
- * ctype.h
- *
- * This assumes ISO 8859-1, being a reasonable superset of ASCII.
- */
-
-#ifndef _CTYPE_H
-#define _CTYPE_H
-
-#ifndef __CTYPE_NO_INLINE
-# define __ctype_inline extern __inline__
-#else
-# define __ctype_inline
-#endif
-
-/*
- * This relies on the following definitions:
- *
- * cntrl = !print
- * alpha = upper|lower
- * graph = punct|alpha|digit
- * blank = '\t' || ' ' (per POSIX requirement)
- */
-enum {
-  __ctype_upper  = (1 << 0),
-  __ctype_lower  = (1 << 1),
-  __ctype_digit  = (1 << 2),
-  __ctype_xdigit = (1 << 3),
-  __ctype_space  = (1 << 4),
-  __ctype_print  = (1 << 5),
-  __ctype_punct  = (1 << 6),
-  __ctype_cntrl  = (1 << 7),
-};
-
-extern const unsigned char __ctypes[];
-
-__ctype_inline int isalnum(int __c)
-{
-  return __ctypes[__c+1] &
-    (__ctype_upper|__ctype_lower|__ctype_digit);
-}
-
-__ctype_inline int isalpha(int __c)
-{
-  return __ctypes[__c+1] &
-    (__ctype_upper|__ctype_lower);
-}
-
-__ctype_inline int isascii(int __c)
-{
-  return !(__c & ~0x7f);
-}
-
-__ctype_inline int isblank(int __c)
-{
-  return (__c == '\t') || (__c == ' ');
-}
-
-__ctype_inline int iscntrl(int __c)
-{
-  return __ctypes[__c+1] & __ctype_cntrl;
-}
-
-__ctype_inline int isdigit(int __c)
-{
-  return ((unsigned)__c - '0') <= 9;
-}
-
-__ctype_inline int isgraph(int __c)
-{
-  return __ctypes[__c+1] &
-    (__ctype_upper|__ctype_lower|__ctype_digit|__ctype_punct);
-}
-
-__ctype_inline int islower(int __c)
-{
-  return __ctypes[__c+1] & __ctype_lower;
-}
-
-__ctype_inline int isprint(int __c)
-{
-  return __ctypes[__c+1] & __ctype_print;
-}
-
-__ctype_inline int ispunct(int __c)
-{
-  return __ctypes[__c+1] & __ctype_punct;
-}
-
-__ctype_inline int isspace(int __c)
-{
-  return __ctypes[__c+1] & __ctype_space;
-}
-
-__ctype_inline int isupper(int __c)
-{
-  return __ctypes[__c+1] & __ctype_upper;
-}
-
-__ctype_inline int isxdigit(int __c)
-{
-  return __ctypes[__c+1] & __ctype_xdigit;
-}
-
-/* Note: this is decimal, not hex, to avoid accidental promotion to unsigned */
-#define _toupper(__c) ((__c) & ~32)
-#define _tolower(__c) ((__c) | 32)
-
-__ctype_inline int toupper(int __c)
-{
-  return islower(__c) ? _toupper(__c) : __c;
-}
-
-__ctype_inline int tolower(int __c)
-{
-  return isupper(__c) ? _tolower(__c) : __c;
-}
-
-#endif /* _CTYPE_H */
diff --git a/syslinux/com32/include/dev.h b/syslinux/com32/include/dev.h
deleted file mode 100644 (file)
index 45a07f0..0000000
+++ /dev/null
@@ -1,57 +0,0 @@
-#ident "$Id: dev.h,v 1.2 2004/11/30 22:09:56 hpa Exp $"
-/* ----------------------------------------------------------------------- *
- *   
- *   Copyright 2004 H. Peter Anvin - All Rights Reserved
- *
- *   Permission is hereby granted, free of charge, to any person
- *   obtaining a copy of this software and associated documentation
- *   files (the "Software"), to deal in the Software without
- *   restriction, including without limitation the rights to use,
- *   copy, modify, merge, publish, distribute, sublicense, and/or
- *   sell copies of the Software, and to permit persons to whom
- *   the Software is furnished to do so, subject to the following
- *   conditions:
- *   
- *   The above copyright notice and this permission notice shall
- *   be included in all copies or substantial portions of the Software.
- *   
- *   THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- *   EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
- *   OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- *   NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
- *   HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
- *   WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
- *   FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
- *   OTHER DEALINGS IN THE SOFTWARE.
- *
- * ----------------------------------------------------------------------- */
-
-/*
- * console.h
- *
- * Alternative consoles
- */
-
-#ifndef _DEV_H
-#define _DEV_H
-
-#include <klibc/extern.h>
-#include <stdint.h>
-
-struct input_dev;
-struct output_dev;
-
-__extern int opendev(const struct input_dev *, const struct output_dev *, int);
-
-/* Common generic devices */
-
-/* Null device */
-extern const struct input_dev  dev_null_r;
-extern const struct output_dev dev_null_w;
-
-/* Error device */
-extern const struct input_dev  dev_error_r;
-extern const struct output_dev dev_error_w;
-
-#endif /* _DEV_H */
-
diff --git a/syslinux/com32/include/errno.h b/syslinux/com32/include/errno.h
deleted file mode 100644 (file)
index d32f33f..0000000
+++ /dev/null
@@ -1,135 +0,0 @@
-#ifndef _ERRNO_H
-#define _ERRNO_H
-
-extern int errno;
-
-#define        EPERM            1      /* Operation not permitted */
-#define        ENOENT           2      /* No such file or directory */
-#define        ESRCH            3      /* No such process */
-#define        EINTR            4      /* Interrupted system call */
-#define        EIO              5      /* I/O error */
-#define        ENXIO            6      /* No such device or address */
-#define        E2BIG            7      /* Arg list too long */
-#define        ENOEXEC          8      /* Exec format error */
-#define        EBADF            9      /* Bad file number */
-#define        ECHILD          10      /* No child processes */
-#define        EAGAIN          11      /* Try again */
-#define        ENOMEM          12      /* Out of memory */
-#define        EACCES          13      /* Permission denied */
-#define        EFAULT          14      /* Bad address */
-#define        ENOTBLK         15      /* Block device required */
-#define        EBUSY           16      /* Device or resource busy */
-#define        EEXIST          17      /* File exists */
-#define        EXDEV           18      /* Cross-device link */
-#define        ENODEV          19      /* No such device */
-#define        ENOTDIR         20      /* Not a directory */
-#define        EISDIR          21      /* Is a directory */
-#define        EINVAL          22      /* Invalid argument */
-#define        ENFILE          23      /* File table overflow */
-#define        EMFILE          24      /* Too many open files */
-#define        ENOTTY          25      /* Not a typewriter */
-#define        ETXTBSY         26      /* Text file busy */
-#define        EFBIG           27      /* File too large */
-#define        ENOSPC          28      /* No space left on device */
-#define        ESPIPE          29      /* Illegal seek */
-#define        EROFS           30      /* Read-only file system */
-#define        EMLINK          31      /* Too many links */
-#define        EPIPE           32      /* Broken pipe */
-#define        EDOM            33      /* Math argument out of domain of func */
-#define        ERANGE          34      /* Math result not representable */
-#define        EDEADLK         35      /* Resource deadlock would occur */
-#define        ENAMETOOLONG    36      /* File name too long */
-#define        ENOLCK          37      /* No record locks available */
-#define        ENOSYS          38      /* Function not implemented */
-#define        ENOTEMPTY       39      /* Directory not empty */
-#define        ELOOP           40      /* Too many symbolic links encountered */
-#define        EWOULDBLOCK     EAGAIN  /* Operation would block */
-#define        ENOMSG          42      /* No message of desired type */
-#define        EIDRM           43      /* Identifier removed */
-#define        ECHRNG          44      /* Channel number out of range */
-#define        EL2NSYNC        45      /* Level 2 not synchronized */
-#define        EL3HLT          46      /* Level 3 halted */
-#define        EL3RST          47      /* Level 3 reset */
-#define        ELNRNG          48      /* Link number out of range */
-#define        EUNATCH         49      /* Protocol driver not attached */
-#define        ENOCSI          50      /* No CSI structure available */
-#define        EL2HLT          51      /* Level 2 halted */
-#define        EBADE           52      /* Invalid exchange */
-#define        EBADR           53      /* Invalid request descriptor */
-#define        EXFULL          54      /* Exchange full */
-#define        ENOANO          55      /* No anode */
-#define        EBADRQC         56      /* Invalid request code */
-#define        EBADSLT         57      /* Invalid slot */
-
-#define        EDEADLOCK       EDEADLK
-
-#define        EBFONT          59      /* Bad font file format */
-#define        ENOSTR          60      /* Device not a stream */
-#define        ENODATA         61      /* No data available */
-#define        ETIME           62      /* Timer expired */
-#define        ENOSR           63      /* Out of streams resources */
-#define        ENONET          64      /* Machine is not on the network */
-#define        ENOPKG          65      /* Package not installed */
-#define        EREMOTE         66      /* Object is remote */
-#define        ENOLINK         67      /* Link has been severed */
-#define        EADV            68      /* Advertise error */
-#define        ESRMNT          69      /* Srmount error */
-#define        ECOMM           70      /* Communication error on send */
-#define        EPROTO          71      /* Protocol error */
-#define        EMULTIHOP       72      /* Multihop attempted */
-#define        EDOTDOT         73      /* RFS specific error */
-#define        EBADMSG         74      /* Not a data message */
-#define        EOVERFLOW       75      /* Value too large for defined data type */
-#define        ENOTUNIQ        76      /* Name not unique on network */
-#define        EBADFD          77      /* File descriptor in bad state */
-#define        EREMCHG         78      /* Remote address changed */
-#define        ELIBACC         79      /* Can not access a needed shared library */
-#define        ELIBBAD         80      /* Accessing a corrupted shared library */
-#define        ELIBSCN         81      /* .lib section in a.out corrupted */
-#define        ELIBMAX         82      /* Attempting to link in too many shared libraries */
-#define        ELIBEXEC        83      /* Cannot exec a shared library directly */
-#define        EILSEQ          84      /* Illegal byte sequence */
-#define        ERESTART        85      /* Interrupted system call should be restarted */
-#define        ESTRPIPE        86      /* Streams pipe error */
-#define        EUSERS          87      /* Too many users */
-#define        ENOTSOCK        88      /* Socket operation on non-socket */
-#define        EDESTADDRREQ    89      /* Destination address required */
-#define        EMSGSIZE        90      /* Message too long */
-#define        EPROTOTYPE      91      /* Protocol wrong type for socket */
-#define        ENOPROTOOPT     92      /* Protocol not available */
-#define        EPROTONOSUPPORT 93      /* Protocol not supported */
-#define        ESOCKTNOSUPPORT 94      /* Socket type not supported */
-#define        EOPNOTSUPP      95      /* Operation not supported on transport endpoint */
-#define        EPFNOSUPPORT    96      /* Protocol family not supported */
-#define        EAFNOSUPPORT    97      /* Address family not supported by protocol */
-#define        EADDRINUSE      98      /* Address already in use */
-#define        EADDRNOTAVAIL   99      /* Cannot assign requested address */
-#define        ENETDOWN        100     /* Network is down */
-#define        ENETUNREACH     101     /* Network is unreachable */
-#define        ENETRESET       102     /* Network dropped connection because of reset */
-#define        ECONNABORTED    103     /* Software caused connection abort */
-#define        ECONNRESET      104     /* Connection reset by peer */
-#define        ENOBUFS         105     /* No buffer space available */
-#define        EISCONN         106     /* Transport endpoint is already connected */
-#define        ENOTCONN        107     /* Transport endpoint is not connected */
-#define        ESHUTDOWN       108     /* Cannot send after transport endpoint shutdown */
-#define        ETOOMANYREFS    109     /* Too many references: cannot splice */
-#define        ETIMEDOUT       110     /* Connection timed out */
-#define        ECONNREFUSED    111     /* Connection refused */
-#define        EHOSTDOWN       112     /* Host is down */
-#define        EHOSTUNREACH    113     /* No route to host */
-#define        EALREADY        114     /* Operation already in progress */
-#define        EINPROGRESS     115     /* Operation now in progress */
-#define        ESTALE          116     /* Stale NFS file handle */
-#define        EUCLEAN         117     /* Structure needs cleaning */
-#define        ENOTNAM         118     /* Not a XENIX named type file */
-#define        ENAVAIL         119     /* No XENIX semaphores available */
-#define        EISNAM          120     /* Is a named type file */
-#define        EREMOTEIO       121     /* Remote I/O error */
-#define        EDQUOT          122     /* Quota exceeded */
-
-#define        ENOMEDIUM       123     /* No medium found */
-#define        EMEDIUMTYPE     124     /* Wrong medium type */
-
-#endif /* _ERRNO_H */
-
diff --git a/syslinux/com32/include/fcntl.h b/syslinux/com32/include/fcntl.h
deleted file mode 100644 (file)
index b691b5c..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-/*
- * fcntl.h
- */
-
-#ifndef _FCNTL_H
-#define _FCNTL_H
-
-#include <klibc/extern.h>
-#include <klibc/compiler.h>
-#include <sys/types.h>
-
-/* None of these are actually supported, although O_RDONLY works */
-/* Note this is different from the classical Unix way of doing it */
-#define        O_RDONLY        1
-#define O_WRONLY       2
-#define O_RDWR         3
-#define O_CREAT                0100
-#define O_EXCL         0200
-#define O_TRUNC                01000
-#define O_APPEND       02000
-
-__extern int open(const char *, int, ...);
-
-#endif /* _FCNTL_H */
diff --git a/syslinux/com32/include/inttypes.h b/syslinux/com32/include/inttypes.h
deleted file mode 100644 (file)
index e00fa63..0000000
+++ /dev/null
@@ -1,226 +0,0 @@
-/*
- * inttypes.h
- */
-
-#ifndef _INTTYPES_H
-#define _INTTYPES_H
-
-#include <klibc/extern.h>
-#include <stdint.h>
-#include <stddef.h>
-
-static __inline__ intmax_t imaxabs(intmax_t __n)
-{
-  return (__n < (intmax_t)0) ? -__n : __n;
-}
-
-__extern intmax_t strtoimax(const char *, char **, int);
-__extern uintmax_t strtoumax(const char *, char **, int);
-
-/* extensions */
-__extern intmax_t strntoimax(const char *, char **, int, size_t);
-__extern uintmax_t strntoumax(const char *, char **, int, size_t);
-
-#if !defined(__cplusplus) || defined(__STDC_FORMAT_MACROS)
-
-#define PRId8  "d"
-#define PRId16 "d"
-#define PRId32 "d"
-#define PRId64 __PRI64_RANK "d"
-
-#define PRIdLEAST8     "d"
-#define PRIdLEAST16    "d"
-#define PRIdLEAST32    "d"
-#define PRIdLEAST64    __PRI64_RANK "d"
-
-#define PRIdFAST8      "d"
-#define PRIdFAST16     __PRIFAST_RANK "d"
-#define PRIdFAST32     __PRIFAST_RANK "d"
-#define PRIdFAST64     __PRI64_RANK "d"
-
-#define PRIdMAX         __PRI64_RANK "d"
-#define PRIdPTR  __PRIPTR_RANK "d"
-
-#define PRIi8  "i"
-#define PRIi16 "i"
-#define PRIi32 "i"
-#define PRIi64 __PRI64_RANK "i"
-
-#define PRIiLEAST8     "i"
-#define PRIiLEAST16    "i"
-#define PRIiLEAST32    "i"
-#define PRIiLEAST64    __PRI64_RANK "i"
-
-#define PRIiFAST8      "i"
-#define PRIiFAST16     __PRIFAST_RANK "i"
-#define PRIiFAST32     __PRIFAST_RANK "i"
-#define PRIiFAST64     __PRI64_RANK "i"
-
-#define PRIiMAX         __PRI64_RANK "i"
-#define PRIiPTR  __PRIPTR_RANK "i"
-
-#define PRIo8  "o"
-#define PRIo16 "o"
-#define PRIo32 "o"
-#define PRIo64 __PRI64_RANK "o"
-
-#define PRIoLEAST8     "o"
-#define PRIoLEAST16    "o"
-#define PRIoLEAST32    "o"
-#define PRIoLEAST64    __PRI64_RANK "o"
-
-#define PRIoFAST8      "o"
-#define PRIoFAST16     __PRIFAST_RANK "o"
-#define PRIoFAST32     __PRIFAST_RANK "o"
-#define PRIoFAST64     __PRI64_RANK "o"
-
-#define PRIoMAX         __PRI64_RANK "o"
-#define PRIoPTR  __PRIPTR_RANK "o"
-
-#define PRIu8  "u"
-#define PRIu16 "u"
-#define PRIu32 "u"
-#define PRIu64 __PRI64_RANK "u"
-
-#define PRIuLEAST8     "u"
-#define PRIuLEAST16    "u"
-#define PRIuLEAST32    "u"
-#define PRIuLEAST64    __PRI64_RANK "u"
-
-#define PRIuFAST8      "u"
-#define PRIuFAST16     __PRIFAST_RANK "u"
-#define PRIuFAST32     __PRIFAST_RANK "u"
-#define PRIuFAST64     __PRI64_RANK "u"
-
-#define PRIuMAX         __PRI64_RANK "u"
-#define PRIuPTR  __PRIPTR_RANK "u"
-
-#define PRIx8  "x"
-#define PRIx16 "x"
-#define PRIx32 "x"
-#define PRIx64 __PRI64_RANK "x"
-
-#define PRIxLEAST8     "x"
-#define PRIxLEAST16    "x"
-#define PRIxLEAST32    "x"
-#define PRIxLEAST64    __PRI64_RANK "x"
-
-#define PRIxFAST8      "x"
-#define PRIxFAST16     __PRIFAST_RANK "x"
-#define PRIxFAST32     __PRIFAST_RANK "x"
-#define PRIxFAST64     __PRI64_RANK "x"
-
-#define PRIxMAX         __PRI64_RANK "x"
-#define PRIxPTR  __PRIPTR_RANK "x"
-
-#define PRIX8  "X"
-#define PRIX16 "X"
-#define PRIX32 "X"
-#define PRIX64 __PRI64_RANK "X"
-
-#define PRIXLEAST8     "X"
-#define PRIXLEAST16    "X"
-#define PRIXLEAST32    "X"
-#define PRIXLEAST64    __PRI64_RANK "X"
-
-#define PRIXFAST8      "X"
-#define PRIXFAST16     __PRIFAST_RANK "X"
-#define PRIXFAST32     __PRIFAST_RANK "X"
-#define PRIXFAST64     __PRI64_RANK "X"
-
-#define PRIXMAX         __PRI64_RANK "X"
-#define PRIXPTR  __PRIPTR_RANK "X"
-
-#define SCNd8  "hhd"
-#define SCNd16 "hd"
-#define SCNd32 "d"
-#define SCNd64 __PRI64_RANK "d"
-
-#define SCNdLEAST8     "hhd"
-#define SCNdLEAST16    "hd"
-#define SCNdLEAST32    "d"
-#define SCNdLEAST64    __PRI64_RANK "d"
-
-#define SCNdFAST8      "hhd"
-#define SCNdFAST16     __PRIFAST_RANK "d"
-#define SCNdFAST32     __PRIFAST_RANK "d"
-#define SCNdFAST64     __PRI64_RANK "d"
-
-#define SCNdMAX         __PRI64_RANK "d"
-#define SCNdPTR  __PRIPTR_RANK "d"
-
-#define SCNi8  "hhi"
-#define SCNi16 "hi"
-#define SCNi32 "i"
-#define SCNi64 __PRI64_RANK "i"
-
-#define SCNiLEAST8     "hhi"
-#define SCNiLEAST16    "hi"
-#define SCNiLEAST32    "i"
-#define SCNiLEAST64    __PRI64_RANK "i"
-
-#define SCNiFAST8      "hhi"
-#define SCNiFAST16     __PRIFAST_RANK "i"
-#define SCNiFAST32     __PRIFAST_RANK "i"
-#define SCNiFAST64     __PRI64_RANK "i"
-
-#define SCNiMAX         __PRI64_RANK "i"
-#define SCNiPTR  __PRIPTR_RANK "i"
-
-#define SCNo8  "hho"
-#define SCNo16 "ho"
-#define SCNo32 "o"
-#define SCNo64 __PRI64_RANK "o"
-
-#define SCNoLEAST8     "hho"
-#define SCNoLEAST16    "ho"
-#define SCNoLEAST32    "o"
-#define SCNoLEAST64    __PRI64_RANK "o"
-
-#define SCNoFAST8      "hho"
-#define SCNoFAST16     __PRIFAST_RANK "o"
-#define SCNoFAST32     __PRIFAST_RANK "o"
-#define SCNoFAST64     __PRI64_RANK "o"
-
-#define SCNoMAX         __PRI64_RANK "o"
-#define SCNoPTR  __PRIPTR_RANK "o"
-
-#define SCNu8  "hhu"
-#define SCNu16 "hu"
-#define SCNu32 "u"
-#define SCNu64 __PRI64_RANK "u"
-
-#define SCNuLEAST8     "hhu"
-#define SCNuLEAST16    "hu"
-#define SCNuLEAST32    "u"
-#define SCNuLEAST64    __PRI64_RANK "u"
-
-#define SCNuFAST8      "hhu"
-#define SCNuFAST16     __PRIFAST_RANK "u"
-#define SCNuFAST32     __PRIFAST_RANK "u"
-#define SCNuFAST64     __PRI64_RANK "u"
-
-#define SCNuMAX         __PRI64_RANK "u"
-#define SCNuPTR  __PRIPTR_RANK "u"
-
-#define SCNx8  "hhx"
-#define SCNx16 "hx"
-#define SCNx32 "x"
-#define SCNx64 __PRI64_RANK "x"
-
-#define SCNxLEAST8     "hhx"
-#define SCNxLEAST16    "hx"
-#define SCNxLEAST32    "x"
-#define SCNxLEAST64    __PRI64_RANK "x"
-
-#define SCNxFAST8      "hhx"
-#define SCNxFAST16     __PRIFAST_RANK "x"
-#define SCNxFAST32     __PRIFAST_RANK "x"
-#define SCNxFAST64     __PRI64_RANK "x"
-
-#define SCNxMAX         __PRI64_RANK "x"
-#define SCNxPTR  __PRIPTR_RANK "x"
-
-#endif
-
-#endif /* _INTTYPES_H */
diff --git a/syslinux/com32/include/klibc/compiler.h b/syslinux/com32/include/klibc/compiler.h
deleted file mode 100644 (file)
index f806506..0000000
+++ /dev/null
@@ -1,115 +0,0 @@
-/*
- * klibc/compiler.h
- *
- * Various compiler features
- */
-
-#ifndef _KLIBC_COMPILER_H
-#define _KLIBC_COMPILER_H
-
-#define __user
-
-/* Specific calling conventions */
-/* __cdecl is used when we want varadic and non-varadic functions to have
-   the same binary calling convention. */
-#ifdef __i386__
-# ifdef __GNUC__
-#  define __cdecl __attribute__((cdecl,regparm(0)))
-# else
-  /* Most other C compilers have __cdecl as a keyword */
-# endif
-#else
-# define __cdecl               /* Meaningless on non-i386 */
-#endif
-
-/* How to declare a function that *must* be inlined */
-#ifdef __GNUC__
-# if __GNUC_MAJOR__ >= 3
-#  define __must_inline static __inline__ __attribute__((always_inline))
-# else
-#  define __must_inline extern __inline__
-# endif
-#else
-# define __must_inline inline  /* Just hope this works... */
-#endif
-
-/* How to declare a function that does not return */
-#ifdef __GNUC__
-# define __noreturn void __attribute__((noreturn))
-#else
-# define __noreturn void
-#endif
-
-/* "const" function:
-
-     Many functions do not examine any values except their arguments,
-     and have no effects except the return value.  Basically this is
-     just slightly more strict class than the `pure' attribute above,
-     since function is not allowed to read global memory.
-
-     Note that a function that has pointer arguments and examines the
-     data pointed to must _not_ be declared `const'.  Likewise, a
-     function that calls a non-`const' function usually must not be
-     `const'.  It does not make sense for a `const' function to return
-     `void'.
-*/
-#ifdef __GNUC__
-# define __constfunc __attribute__((const))
-#else
-# define __constfunc
-#endif
-#undef __attribute_const__
-#define __attribute_const__ __constfunc
-
-/* "pure" function:
-
-     Many functions have no effects except the return value and their
-     return value depends only on the parameters and/or global
-     variables.  Such a function can be subject to common subexpression
-     elimination and loop optimization just as an arithmetic operator
-     would be.  These functions should be declared with the attribute
-     `pure'.
-*/
-#ifdef __GNUC__
-# define __purefunc __attribute__((pure))
-#else
-# define __purefunc
-#endif
-#undef __attribute_pure__
-#define __attribute_pure__ __purefunc
-
-/* Format attribute */
-#ifdef __GNUC__
-# define __formatfunc(t,f,a) __attribute__((format(t,f,a)))
-#else
-# define __formatfunc(t,f,a)
-#endif
-
-/* malloc() function (returns unaliased pointer) */
-#if defined(__GNUC__) && (__GNUC_MAJOR__ >= 3)
-# define __mallocfunc __attribute__((malloc))
-#else
-# define __mallocfunc
-#endif
-
-/* likely/unlikely */
-#if defined(__GNUC__) && (__GNUC_MAJOR__ > 2 || (__GNUC_MAJOR__ == 2 && __GNUC_MINOR__ >= 95))
-# define __likely(x)   __builtin_expect((x), 1)
-# define __unlikely(x) __builtin_expect((x), 0)
-#else
-# define __likely(x)   (x)
-# define __unlikely(x) (x)
-#endif
-
-/* Possibly unused function */
-#ifdef __GNUC__
-# define __unusedfunc  __attribute__((unused))
-#else
-# define __unusedfunc
-#endif
-
-/* Constructors and destructors */
-#define __constructor  __attribute__((constructor))
-#define __destructor   __attribute__((destructor))
-
-#endif
diff --git a/syslinux/com32/include/klibc/diverr.h b/syslinux/com32/include/klibc/diverr.h
deleted file mode 100644 (file)
index a4bbedd..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-static inline void __divide_error(void)
-{
-  asm volatile("int $0");      /* Divide by zero */
-}
diff --git a/syslinux/com32/include/klibc/extern.h b/syslinux/com32/include/klibc/extern.h
deleted file mode 100644 (file)
index f9c3467..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-/*
- * klibc/extern.h
- */
-
-#ifndef _KLIBC_EXTERN_H
-#define _KLIBC_EXTERN_H
-
-#ifdef __cplusplus
-#define __extern extern "C"
-#else
-#define __extern extern
-#endif
-
-#endif /* _KLIBC_EXTERN_H */
diff --git a/syslinux/com32/include/klibc/sysconfig.h b/syslinux/com32/include/klibc/sysconfig.h
deleted file mode 100644 (file)
index efaaaf5..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * klibc/sysconfig.h
- *
- * Allows for definitions of some things which may be system-dependent
- */
-
-#ifndef _KLIBC_SYSCONFIG_H
-#define _KLIBC_SYSCONFIG_H
-
-/*
- * Define this to obtain memory using sbrk() instead
- * of mmap().  This should make it friendlier on
- * non-MMU architectures.  This should become a
- * per-architecture configurable.
- */
-#define MALLOC_USING_SBRK
-
-/*
- * This is the minimum chunk size we will ask the kernel for using
- * malloc(); this should be a multiple of the page size on all
- * architectures.
- */
-#define MALLOC_CHUNK_SIZE      4096
-#define MALLOC_CHUNK_MASK       (MALLOC_CHUNK_SIZE-1)
-
-/*
- * This is the minimum alignment for the memory returned by sbrk().
- * It must be a power of 2.  If MALLOC_USING_SBRK is defined it should
- * be no smaller than the size of struct arena_header in malloc.h (4
- * pointers.)
- */
-#define SBRK_ALIGNMENT         32
-
-#endif /* _KLIBC_SYSCONFIG_H */
diff --git a/syslinux/com32/include/limits.h b/syslinux/com32/include/limits.h
deleted file mode 100644 (file)
index 64ef974..0000000
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- * limits.h
- */
-
-#ifndef _LIMITS_H
-#define _LIMITS_H
-
-#define CHAR_BIT       8
-#define SHRT_BIT       16
-#define INT_BIT                32
-#define LONGLONG_BIT   64
-
-#define SCHAR_MIN      (-128)
-#define SCHAR_MAX      127
-#define UCHAR_MAX      255
-
-#ifdef __CHAR_UNSIGNED__
-# define CHAR_MIN 0
-# define CHAR_MAX UCHAR_MAX
-#else
-# define CHAR_MIN SCHAR_MIN
-# define CHAR_MAX SCHAR_MAX
-#endif
-
-#define SHRT_MIN       (-32768)
-#define SHRT_MAX       32767
-#define USHRT_MAX      65535
-
-#define INT_MIN                (-2147483647-1)
-#define INT_MAX                2147483647
-#define UINT_MAX       4294967295U
-
-#define LONGLONG_MIN   (-9223372036854775807LL-1)
-#define LONGLONG_MAX   9223372036854775807LL
-#define ULONGLONG_MAX  18446744073709551615ULL
-
-#include <bitsize/limits.h>
-
-#endif /* _LIMITS_H */
diff --git a/syslinux/com32/include/minmax.h b/syslinux/com32/include/minmax.h
deleted file mode 100644 (file)
index 3785094..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-#ident "$Id: minmax.h,v 1.1 2004/11/10 22:31:50 hpa Exp $"
-/* ----------------------------------------------------------------------- *
- *   
- *   Copyright 2004 H. Peter Anvin - All Rights Reserved
- *
- *   Permission is hereby granted, free of charge, to any person
- *   obtaining a copy of this software and associated documentation
- *   files (the "Software"), to deal in the Software without
- *   restriction, including without limitation the rights to use,
- *   copy, modify, merge, publish, distribute, sublicense, and/or
- *   sell copies of the Software, and to permit persons to whom
- *   the Software is furnished to do so, subject to the following
- *   conditions:
- *   
- *   The above copyright notice and this permission notice shall
- *   be included in all copies or substantial portions of the Software.
- *   
- *   THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- *   EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
- *   OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- *   NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
- *   HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
- *   WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
- *   FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
- *   OTHER DEALINGS IN THE SOFTWARE.
- *
- * ----------------------------------------------------------------------- */
-
-#ifndef _MINMAX_H
-#define _MINMAX_H
-
-/*
- * minmax.h: Type-independent safe min/max macros
- */
-
-#define min(x,y) ({ __typeof(x) xx = (x); \
-                    __typeof(y) yy = (y); \
-                    xx < yy ? xx : yy; })
-#define max(x,y) ({ __typeof(x) xx = (x); \
-                    __typeof(y) yy = (y); \
-                    xx > yy ? xx : yy; })
-
-#endif /* _MINMAX_H */
-
diff --git a/syslinux/com32/include/netinet/in.h b/syslinux/com32/include/netinet/in.h
deleted file mode 100644 (file)
index 325bd4c..0000000
+++ /dev/null
@@ -1,43 +0,0 @@
-#ifndef _NETINET_IN_H
-#define _NETINET_IN_H
-
-/* COM32 will be running on an i386 platform */
-
-#include <stdint.h>
-
-static inline uint16_t __htons(uint16_t v)
-{
-  return ((v) << 8) | ((v) >> 8);
-}
-
-#define htons(x) __htons(x)
-#define ntohs(x) __htons(x)
-
-static inline uint32_t __htonl(uint32_t v)
-{
-  if ( __builtin_constant_p(v) ) {
-    return (((v) & 0x000000ff) << 24) |
-      (((v) & 0x0000ff00) << 8) |
-      (((v) & 0x00ff0000) >> 8) |
-      (((v) & 0xff000000) >> 24);
-  } else {
-    asm("xchgb %h0,%b0 ; roll $16,%0 ; xchgb %h0,%b0" : "+abcd" (v));
-    return v;
-  }
-}
-
-#define htonl(x) __htonl(x)
-#define ntohl(x) __htonl(x)
-
-static inline uint64_t __htonq(uint64_t v)
-{
-  return ((uint64_t) __htonl(v) << 32) | __htonl(v >> 32);
-}
-
-#define htonq(x) __htonq(x)
-#define ntohq(x) __htonq(x)
-
-#endif /* _NETINET_IN_H */
-
-
-      
diff --git a/syslinux/com32/include/png.h b/syslinux/com32/include/png.h
deleted file mode 100644 (file)
index e87a301..0000000
+++ /dev/null
@@ -1,3419 +0,0 @@
-/* png.h - header file for PNG reference library
- *
- * libpng version 1.2.8 - December 3, 2004
- * Copyright (c) 1998-2004 Glenn Randers-Pehrson
- * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
- * (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.)
- *
- * Authors and maintainers:
- *  libpng versions 0.71, May 1995, through 0.88, January 1996: Guy Schalnat
- *  libpng versions 0.89c, June 1996, through 0.96, May 1997: Andreas Dilger
- *  libpng versions 0.97, January 1998, through 1.2.8 - December 3, 2004: Glenn
- *  See also "Contributing Authors", below.
- *
- * Note about libpng version numbers:
- *
- *    Due to various miscommunications, unforeseen code incompatibilities
- *    and occasional factors outside the authors' control, version numbering
- *    on the library has not always been consistent and straightforward.
- *    The following table summarizes matters since version 0.89c, which was
- *    the first widely used release:
- *
- *    source                 png.h  png.h  shared-lib
- *    version                string   int  version
- *    -------                ------ -----  ----------
- *    0.89c "1.0 beta 3"     0.89      89  1.0.89
- *    0.90  "1.0 beta 4"     0.90      90  0.90  [should have been 2.0.90]
- *    0.95  "1.0 beta 5"     0.95      95  0.95  [should have been 2.0.95]
- *    0.96  "1.0 beta 6"     0.96      96  0.96  [should have been 2.0.96]
- *    0.97b "1.00.97 beta 7" 1.00.97   97  1.0.1 [should have been 2.0.97]
- *    0.97c                  0.97      97  2.0.97
- *    0.98                   0.98      98  2.0.98
- *    0.99                   0.99      98  2.0.99
- *    0.99a-m                0.99      99  2.0.99
- *    1.00                   1.00     100  2.1.0 [100 should be 10000]
- *    1.0.0      (from here on, the   100  2.1.0 [100 should be 10000]
- *    1.0.1       png.h string is   10001  2.1.0
- *    1.0.1a-e    identical to the  10002  from here on, the shared library
- *    1.0.2       source version)   10002  is 2.V where V is the source code
- *    1.0.2a-b                      10003  version, except as noted.
- *    1.0.3                         10003
- *    1.0.3a-d                      10004
- *    1.0.4                         10004
- *    1.0.4a-f                      10005
- *    1.0.5 (+ 2 patches)           10005
- *    1.0.5a-d                      10006
- *    1.0.5e-r                      10100 (not source compatible)
- *    1.0.5s-v                      10006 (not binary compatible)
- *    1.0.6 (+ 3 patches)           10006 (still binary incompatible)
- *    1.0.6d-f                      10007 (still binary incompatible)
- *    1.0.6g                        10007
- *    1.0.6h                        10007  10.6h (testing xy.z so-numbering)
- *    1.0.6i                        10007  10.6i
- *    1.0.6j                        10007  2.1.0.6j (incompatible with 1.0.0)
- *    1.0.7beta11-14        DLLNUM  10007  2.1.0.7beta11-14 (binary compatible)
- *    1.0.7beta15-18           1    10007  2.1.0.7beta15-18 (binary compatible)
- *    1.0.7rc1-2               1    10007  2.1.0.7rc1-2 (binary compatible)
- *    1.0.7                    1    10007  (still compatible)
- *    1.0.8beta1-4             1    10008  2.1.0.8beta1-4
- *    1.0.8rc1                 1    10008  2.1.0.8rc1
- *    1.0.8                    1    10008  2.1.0.8
- *    1.0.9beta1-6             1    10009  2.1.0.9beta1-6
- *    1.0.9rc1                 1    10009  2.1.0.9rc1
- *    1.0.9beta7-10            1    10009  2.1.0.9beta7-10
- *    1.0.9rc2                 1    10009  2.1.0.9rc2
- *    1.0.9                    1    10009  2.1.0.9
- *    1.0.10beta1              1    10010  2.1.0.10beta1
- *    1.0.10rc1                1    10010  2.1.0.10rc1
- *    1.0.10                   1    10010  2.1.0.10
- *    1.0.11beta1-3            1    10011  2.1.0.11beta1-3
- *    1.0.11rc1                1    10011  2.1.0.11rc1
- *    1.0.11                   1    10011  2.1.0.11
- *    1.0.12beta1-2            2    10012  2.1.0.12beta1-2
- *    1.0.12rc1                2    10012  2.1.0.12rc1
- *    1.0.12                   2    10012  2.1.0.12
- *    1.1.0a-f                 -    10100  2.1.1.0a-f (branch abandoned)
- *    1.2.0beta1-2             2    10200  2.1.2.0beta1-2
- *    1.2.0beta3-5             3    10200  3.1.2.0beta3-5
- *    1.2.0rc1                 3    10200  3.1.2.0rc1
- *    1.2.0                    3    10200  3.1.2.0
- *    1.2.1beta1-4             3    10201  3.1.2.1beta1-4
- *    1.2.1rc1-2               3    10201  3.1.2.1rc1-2
- *    1.2.1                    3    10201  3.1.2.1
- *    1.2.2beta1-6            12    10202  12.so.0.1.2.2beta1-6
- *    1.0.13beta1             10    10013  10.so.0.1.0.13beta1
- *    1.0.13rc1               10    10013  10.so.0.1.0.13rc1
- *    1.2.2rc1                12    10202  12.so.0.1.2.2rc1
- *    1.0.13                  10    10013  10.so.0.1.0.13
- *    1.2.2                   12    10202  12.so.0.1.2.2
- *    1.2.3rc1-6              12    10203  12.so.0.1.2.3rc1-6
- *    1.2.3                   12    10203  12.so.0.1.2.3
- *    1.2.4beta1-3            13    10204  12.so.0.1.2.4beta1-3
- *    1.0.14rc1               13    10014  10.so.0.1.0.14rc1
- *    1.2.4rc1                13    10204  12.so.0.1.2.4rc1
- *    1.0.14                  10    10014  10.so.0.1.0.14
- *    1.2.4                   13    10204  12.so.0.1.2.4
- *    1.2.5beta1-2            13    10205  12.so.0.1.2.5beta1-2
- *    1.0.15rc1-3             10    10015  10.so.0.1.0.15rc1-3
- *    1.2.5rc1-3              13    10205  12.so.0.1.2.5rc1-3
- *    1.0.15                  10    10015  10.so.0.1.0.15
- *    1.2.5                   13    10205  12.so.0.1.2.5
- *    1.2.6beta1-4            13    10206  12.so.0.1.2.6beta1-4
- *    1.0.16                  10    10016  10.so.0.1.0.16
- *    1.2.6                   13    10206  12.so.0.1.2.6
- *    1.2.7beta1-2            13    10207  12.so.0.1.2.7beta1-2
- *    1.0.17rc1               10    10017  12.so.0.1.0.17rc1
- *    1.2.7rc1                13    10207  12.so.0.1.2.7rc1
- *    1.0.17                  10    10017  12.so.0.1.0.17
- *    1.2.7                   13    10207  12.so.0.1.2.7
- *    1.2.8beta1-5            13    10208  12.so.0.1.2.8beta1-5
- *    1.0.18rc1-5             10    10018  12.so.0.1.0.18rc1-5
- *    1.2.8rc1-5              13    10208  12.so.0.1.2.8rc1-5
- *    1.0.18                  10    10018  12.so.0.1.0.18
- *    1.2.8                   13    10208  12.so.0.1.2.8
- *
- *    Henceforth the source version will match the shared-library major
- *    and minor numbers; the shared-library major version number will be
- *    used for changes in backward compatibility, as it is intended.  The
- *    PNG_LIBPNG_VER macro, which is not used within libpng but is available
- *    for applications, is an unsigned integer of the form xyyzz corresponding
- *    to the source version x.y.z (leading zeros in y and z).  Beta versions
- *    were given the previous public release number plus a letter, until
- *    version 1.0.6j; from then on they were given the upcoming public
- *    release number plus "betaNN" or "rcN".
- *
- *    Binary incompatibility exists only when applications make direct access
- *    to the info_ptr or png_ptr members through png.h, and the compiled
- *    application is loaded with a different version of the library.
- *
- *    DLLNUM will change each time there are forward or backward changes
- *    in binary compatibility (e.g., when a new feature is added).
- *
- * See libpng.txt or libpng.3 for more information.  The PNG specification
- * is available as a W3C Recommendation and as an ISO Specification,
- * <http://www.w3.org/TR/2003/REC-PNG-20031110/
- */
-
-/*
- * COPYRIGHT NOTICE, DISCLAIMER, and LICENSE:
- *
- * If you modify libpng you may insert additional notices immediately following
- * this sentence.
- *
- * libpng versions 1.2.6, August 15, 2004, through 1.2.8, December 3, 2004, are
- * Copyright (c) 2004 Glenn Randers-Pehrson, and are
- * distributed according to the same disclaimer and license as libpng-1.2.5
- * with the following individual added to the list of Contributing Authors:
- *
- *    Cosmin Truta
- *
- * libpng versions 1.0.7, July 1, 2000, through 1.2.5, October 3, 2002, are
- * Copyright (c) 2000-2002 Glenn Randers-Pehrson, and are
- * distributed according to the same disclaimer and license as libpng-1.0.6
- * with the following individuals added to the list of Contributing Authors:
- *
- *    Simon-Pierre Cadieux
- *    Eric S. Raymond
- *    Gilles Vollant
- *
- * and with the following additions to the disclaimer:
- *
- *    There is no warranty against interference with your enjoyment of the
- *    library or against infringement.  There is no warranty that our
- *    efforts or the library will fulfill any of your particular purposes
- *    or needs.  This library is provided with all faults, and the entire
- *    risk of satisfactory quality, performance, accuracy, and effort is with
- *    the user.
- *
- * libpng versions 0.97, January 1998, through 1.0.6, March 20, 2000, are
- * Copyright (c) 1998, 1999, 2000 Glenn Randers-Pehrson, and are
- * distributed according to the same disclaimer and license as libpng-0.96,
- * with the following individuals added to the list of Contributing Authors:
- *
- *    Tom Lane
- *    Glenn Randers-Pehrson
- *    Willem van Schaik
- *
- * libpng versions 0.89, June 1996, through 0.96, May 1997, are
- * Copyright (c) 1996, 1997 Andreas Dilger
- * Distributed according to the same disclaimer and license as libpng-0.88,
- * with the following individuals added to the list of Contributing Authors:
- *
- *    John Bowler
- *    Kevin Bracey
- *    Sam Bushell
- *    Magnus Holmgren
- *    Greg Roelofs
- *    Tom Tanner
- *
- * libpng versions 0.5, May 1995, through 0.88, January 1996, are
- * Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.
- *
- * For the purposes of this copyright and license, "Contributing Authors"
- * is defined as the following set of individuals:
- *
- *    Andreas Dilger
- *    Dave Martindale
- *    Guy Eric Schalnat
- *    Paul Schmidt
- *    Tim Wegner
- *
- * The PNG Reference Library is supplied "AS IS".  The Contributing Authors
- * and Group 42, Inc. disclaim all warranties, expressed or implied,
- * including, without limitation, the warranties of merchantability and of
- * fitness for any purpose.  The Contributing Authors and Group 42, Inc.
- * assume no liability for direct, indirect, incidental, special, exemplary,
- * or consequential damages, which may result from the use of the PNG
- * Reference Library, even if advised of the possibility of such damage.
- *
- * Permission is hereby granted to use, copy, modify, and distribute this
- * source code, or portions hereof, for any purpose, without fee, subject
- * to the following restrictions:
- *
- * 1. The origin of this source code must not be misrepresented.
- *
- * 2. Altered versions must be plainly marked as such and
- * must not be misrepresented as being the original source.
- *
- * 3. This Copyright notice may not be removed or altered from
- *    any source or altered source distribution.
- *
- * The Contributing Authors and Group 42, Inc. specifically permit, without
- * fee, and encourage the use of this source code as a component to
- * supporting the PNG file format in commercial products.  If you use this
- * source code in a product, acknowledgment is not required but would be
- * appreciated.
- */
-
-/*
- * A "png_get_copyright" function is available, for convenient use in "about"
- * boxes and the like:
- *
- * printf("%s",png_get_copyright(NULL));
- *
- * Also, the PNG logo (in PNG format, of course) is supplied in the
- * files "pngbar.png" and "pngbar.jpg (88x31) and "pngnow.png" (98x31).
- */
-
-/*
- * Libpng is OSI Certified Open Source Software.  OSI Certified is a
- * certification mark of the Open Source Initiative.
- */
-
-/*
- * The contributing authors would like to thank all those who helped
- * with testing, bug fixes, and patience.  This wouldn't have been
- * possible without all of you.
- *
- * Thanks to Frank J. T. Wojcik for helping with the documentation.
- */
-
-/*
- * Y2K compliance in libpng:
- * =========================
- *
- *    December 3, 2004
- *
- *    Since the PNG Development group is an ad-hoc body, we can't make
- *    an official declaration.
- *
- *    This is your unofficial assurance that libpng from version 0.71 and
- *    upward through 1.2.8 are Y2K compliant.  It is my belief that earlier
- *    versions were also Y2K compliant.
- *
- *    Libpng only has three year fields.  One is a 2-byte unsigned integer
- *    that will hold years up to 65535.  The other two hold the date in text
- *    format, and will hold years up to 9999.
- *
- *    The integer is
- *        "png_uint_16 year" in png_time_struct.
- *
- *    The strings are
- *        "png_charp time_buffer" in png_struct and
- *        "near_time_buffer", which is a local character string in png.c.
- *
- *    There are seven time-related functions:
- *        png.c: png_convert_to_rfc_1123() in png.c
- *          (formerly png_convert_to_rfc_1152() in error)
- *        png_convert_from_struct_tm() in pngwrite.c, called in pngwrite.c
- *        png_convert_from_time_t() in pngwrite.c
- *        png_get_tIME() in pngget.c
- *        png_handle_tIME() in pngrutil.c, called in pngread.c
- *        png_set_tIME() in pngset.c
- *        png_write_tIME() in pngwutil.c, called in pngwrite.c
- *
- *    All handle dates properly in a Y2K environment.  The
- *    png_convert_from_time_t() function calls gmtime() to convert from system
- *    clock time, which returns (year - 1900), which we properly convert to
- *    the full 4-digit year.  There is a possibility that applications using
- *    libpng are not passing 4-digit years into the png_convert_to_rfc_1123()
- *    function, or that they are incorrectly passing only a 2-digit year
- *    instead of "year - 1900" into the png_convert_from_struct_tm() function,
- *    but this is not under our control.  The libpng documentation has always
- *    stated that it works with 4-digit years, and the APIs have been
- *    documented as such.
- *
- *    The tIME chunk itself is also Y2K compliant.  It uses a 2-byte unsigned
- *    integer to hold the year, and can hold years as large as 65535.
- *
- *    zlib, upon which libpng depends, is also Y2K compliant.  It contains
- *    no date-related code.
- *
- *       Glenn Randers-Pehrson
- *       libpng maintainer
- *       PNG Development Group
- */
-
-#ifndef PNG_H
-#define PNG_H
-
-/* This is not the place to learn how to use libpng.  The file libpng.txt
- * describes how to use libpng, and the file example.c summarizes it
- * with some code on which to build.  This file is useful for looking
- * at the actual function definitions and structure components.
- */
-
-/* Version information for png.h - this should match the version in png.c */
-#define PNG_LIBPNG_VER_STRING "1.2.8"
-#define PNG_HEADER_VERSION_STRING \
-   " libpng version 1.2.8 - December 3, 2004 (header)\n"
-
-#define PNG_LIBPNG_VER_SONUM   0
-#define PNG_LIBPNG_VER_DLLNUM  13
-
-/* These should match the first 3 components of PNG_LIBPNG_VER_STRING: */
-#define PNG_LIBPNG_VER_MAJOR   1
-#define PNG_LIBPNG_VER_MINOR   2
-#define PNG_LIBPNG_VER_RELEASE 8
-/* This should match the numeric part of the final component of
- * PNG_LIBPNG_VER_STRING, omitting any leading zero: */
-
-#define PNG_LIBPNG_VER_BUILD  0
-
-/* Release Status */
-#define PNG_LIBPNG_BUILD_ALPHA    1
-#define PNG_LIBPNG_BUILD_BETA     2
-#define PNG_LIBPNG_BUILD_RC       3
-#define PNG_LIBPNG_BUILD_STABLE   4
-#define PNG_LIBPNG_BUILD_RELEASE_STATUS_MASK 7
-  
-/* Release-Specific Flags */
-#define PNG_LIBPNG_BUILD_PATCH    8 /* Can be OR'ed with
-                                       PNG_LIBPNG_BUILD_STABLE only */
-#define PNG_LIBPNG_BUILD_PRIVATE 16 /* Cannot be OR'ed with
-                                       PNG_LIBPNG_BUILD_SPECIAL */
-#define PNG_LIBPNG_BUILD_SPECIAL 32 /* Cannot be OR'ed with
-                                       PNG_LIBPNG_BUILD_PRIVATE */
-
-#define PNG_LIBPNG_BUILD_BASE_TYPE PNG_LIBPNG_BUILD_STABLE
-
-/* Careful here.  At one time, Guy wanted to use 082, but that would be octal.
- * We must not include leading zeros.
- * Versions 0.7 through 1.0.0 were in the range 0 to 100 here (only
- * version 1.0.0 was mis-numbered 100 instead of 10000).  From
- * version 1.0.1 it's    xxyyzz, where x=major, y=minor, z=release */
-#define PNG_LIBPNG_VER 10208 /* 1.2.8 */
-
-#ifndef PNG_VERSION_INFO_ONLY
-/* include the compression library's header */
-#include "zlib.h"
-#endif
-
-/* include all user configurable info, including optional assembler routines */
-#include "pngconf.h"
-
-/*
- * Added at libpng-1.2.8 */
-/* Ref MSDN: Private as priority over Special
- * VS_FF_PRIVATEBUILD File *was not* built using standard release
- * procedures. If this value is given, the StringFileInfo block must
- * contain a PrivateBuild string. 
- *
- * VS_FF_SPECIALBUILD File *was* built by the original company using
- * standard release procedures but is a variation of the standard
- * file of the same version number. If this value is given, the
- * StringFileInfo block must contain a SpecialBuild string. 
- */
-
-#if defined(PNG_USER_PRIVATEBUILD)
-#  define PNG_LIBPNG_BUILD_TYPE PNG_LIBPNG_BUILD_BASE_TYPE | \
-          PNG_LIBPNG_BUILD_PRIVATE
-#else
-#  if defined(PNG_LIBPNG_SPECIALBUILD)
-#    define PNG_LIBPNG_BUILD_TYPE PNG_LIBPNG_BUILD_BASE_TYPE | \
-            PNG_LIBPNG_BUILD_SPECIAL
-#  else
-#    define PNG_LIBPNG_BUILD_TYPE PNG_LIBPNG_BUILD_BASE_TYPE
-#  endif
-#endif
-
-#ifndef PNG_VERSION_INFO_ONLY
-
-/* Inhibit C++ name-mangling for libpng functions but not for system calls. */
-#ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
-
-/* This file is arranged in several sections.  The first section contains
- * structure and type definitions.  The second section contains the external
- * library functions, while the third has the internal library functions,
- * which applications aren't expected to use directly.
- */
-
-#ifndef PNG_NO_TYPECAST_NULL
-#define int_p_NULL                (int *)NULL
-#define png_bytep_NULL            (png_bytep)NULL
-#define png_bytepp_NULL           (png_bytepp)NULL
-#define png_doublep_NULL          (png_doublep)NULL
-#define png_error_ptr_NULL        (png_error_ptr)NULL
-#define png_flush_ptr_NULL        (png_flush_ptr)NULL
-#define png_free_ptr_NULL         (png_free_ptr)NULL
-#define png_infopp_NULL           (png_infopp)NULL
-#define png_malloc_ptr_NULL       (png_malloc_ptr)NULL
-#define png_read_status_ptr_NULL  (png_read_status_ptr)NULL
-#define png_rw_ptr_NULL           (png_rw_ptr)NULL
-#define png_structp_NULL          (png_structp)NULL
-#define png_uint_16p_NULL         (png_uint_16p)NULL
-#define png_voidp_NULL            (png_voidp)NULL
-#define png_write_status_ptr_NULL (png_write_status_ptr)NULL
-#else
-#define int_p_NULL                NULL
-#define png_bytep_NULL            NULL
-#define png_bytepp_NULL           NULL
-#define png_doublep_NULL          NULL
-#define png_error_ptr_NULL        NULL
-#define png_flush_ptr_NULL        NULL
-#define png_free_ptr_NULL         NULL
-#define png_infopp_NULL           NULL
-#define png_malloc_ptr_NULL       NULL
-#define png_read_status_ptr_NULL  NULL
-#define png_rw_ptr_NULL           NULL
-#define png_structp_NULL          NULL
-#define png_uint_16p_NULL         NULL
-#define png_voidp_NULL            NULL
-#define png_write_status_ptr_NULL NULL
-#endif
-
-/* variables declared in png.c - only it needs to define PNG_NO_EXTERN */
-#if !defined(PNG_NO_EXTERN) || defined(PNG_ALWAYS_EXTERN)
-/* Version information for C files, stored in png.c.  This had better match
- * the version above.
- */
-#ifdef PNG_USE_GLOBAL_ARRAYS
-PNG_EXPORT_VAR (const char) png_libpng_ver[18];
-  /* need room for 99.99.99beta99z */
-#else
-#define png_libpng_ver png_get_header_ver(NULL)
-#endif
-
-#ifdef PNG_USE_GLOBAL_ARRAYS
-/* This was removed in version 1.0.5c */
-/* Structures to facilitate easy interlacing.  See png.c for more details */
-PNG_EXPORT_VAR (const int FARDATA) png_pass_start[7];
-PNG_EXPORT_VAR (const int FARDATA) png_pass_inc[7];
-PNG_EXPORT_VAR (const int FARDATA) png_pass_ystart[7];
-PNG_EXPORT_VAR (const int FARDATA) png_pass_yinc[7];
-PNG_EXPORT_VAR (const int FARDATA) png_pass_mask[7];
-PNG_EXPORT_VAR (const int FARDATA) png_pass_dsp_mask[7];
-#ifdef PNG_HAVE_ASSEMBLER_COMBINE_ROW
-PNG_EXPORT_VAR (const int FARDATA) png_pass_width[7];
-#endif
-/* This isn't currently used.  If you need it, see png.c for more details.
-PNG_EXPORT_VAR (const int FARDATA) png_pass_height[7];
-*/
-#endif
-
-#endif /* PNG_NO_EXTERN */
-
-/* Three color definitions.  The order of the red, green, and blue, (and the
- * exact size) is not important, although the size of the fields need to
- * be png_byte or png_uint_16 (as defined below).
- */
-typedef struct png_color_struct
-{
-   png_byte red;
-   png_byte green;
-   png_byte blue;
-} png_color;
-typedef png_color FAR * png_colorp;
-typedef png_color FAR * FAR * png_colorpp;
-
-typedef struct png_color_16_struct
-{
-   png_byte index;    /* used for palette files */
-   png_uint_16 red;   /* for use in red green blue files */
-   png_uint_16 green;
-   png_uint_16 blue;
-   png_uint_16 gray;  /* for use in grayscale files */
-} png_color_16;
-typedef png_color_16 FAR * png_color_16p;
-typedef png_color_16 FAR * FAR * png_color_16pp;
-
-typedef struct png_color_8_struct
-{
-   png_byte red;   /* for use in red green blue files */
-   png_byte green;
-   png_byte blue;
-   png_byte gray;  /* for use in grayscale files */
-   png_byte alpha; /* for alpha channel files */
-} png_color_8;
-typedef png_color_8 FAR * png_color_8p;
-typedef png_color_8 FAR * FAR * png_color_8pp;
-
-/*
- * The following two structures are used for the in-core representation
- * of sPLT chunks.
- */
-typedef struct png_sPLT_entry_struct
-{
-   png_uint_16 red;
-   png_uint_16 green;
-   png_uint_16 blue;
-   png_uint_16 alpha;
-   png_uint_16 frequency;
-} png_sPLT_entry;
-typedef png_sPLT_entry FAR * png_sPLT_entryp;
-typedef png_sPLT_entry FAR * FAR * png_sPLT_entrypp;
-
-/*  When the depth of the sPLT palette is 8 bits, the color and alpha samples
- *  occupy the LSB of their respective members, and the MSB of each member
- *  is zero-filled.  The frequency member always occupies the full 16 bits.
- */
-
-typedef struct png_sPLT_struct
-{
-   png_charp name;           /* palette name */
-   png_byte depth;           /* depth of palette samples */
-   png_sPLT_entryp entries;  /* palette entries */
-   png_int_32 nentries;      /* number of palette entries */
-} png_sPLT_t;
-typedef png_sPLT_t FAR * png_sPLT_tp;
-typedef png_sPLT_t FAR * FAR * png_sPLT_tpp;
-
-#ifdef PNG_TEXT_SUPPORTED
-/* png_text holds the contents of a text/ztxt/itxt chunk in a PNG file,
- * and whether that contents is compressed or not.  The "key" field
- * points to a regular zero-terminated C string.  The "text", "lang", and
- * "lang_key" fields can be regular C strings, empty strings, or NULL pointers.
- * However, the * structure returned by png_get_text() will always contain
- * regular zero-terminated C strings (possibly empty), never NULL pointers,
- * so they can be safely used in printf() and other string-handling functions.
- */
-typedef struct png_text_struct
-{
-   int  compression;       /* compression value:
-                             -1: tEXt, none
-                              0: zTXt, deflate
-                              1: iTXt, none
-                              2: iTXt, deflate  */
-   png_charp key;          /* keyword, 1-79 character description of "text" */
-   png_charp text;         /* comment, may be an empty string (ie "")
-                              or a NULL pointer */
-   png_size_t text_length; /* length of the text string */
-#ifdef PNG_iTXt_SUPPORTED
-   png_size_t itxt_length; /* length of the itxt string */
-   png_charp lang;         /* language code, 0-79 characters
-                              or a NULL pointer */
-   png_charp lang_key;     /* keyword translated UTF-8 string, 0 or more
-                              chars or a NULL pointer */
-#endif
-} png_text;
-typedef png_text FAR * png_textp;
-typedef png_text FAR * FAR * png_textpp;
-#endif
-
-/* Supported compression types for text in PNG files (tEXt, and zTXt).
- * The values of the PNG_TEXT_COMPRESSION_ defines should NOT be changed. */
-#define PNG_TEXT_COMPRESSION_NONE_WR -3
-#define PNG_TEXT_COMPRESSION_zTXt_WR -2
-#define PNG_TEXT_COMPRESSION_NONE    -1
-#define PNG_TEXT_COMPRESSION_zTXt     0
-#define PNG_ITXT_COMPRESSION_NONE     1
-#define PNG_ITXT_COMPRESSION_zTXt     2
-#define PNG_TEXT_COMPRESSION_LAST     3  /* Not a valid value */
-
-/* png_time is a way to hold the time in an machine independent way.
- * Two conversions are provided, both from time_t and struct tm.  There
- * is no portable way to convert to either of these structures, as far
- * as I know.  If you know of a portable way, send it to me.  As a side
- * note - PNG has always been Year 2000 compliant!
- */
-typedef struct png_time_struct
-{
-   png_uint_16 year; /* full year, as in, 1995 */
-   png_byte month;   /* month of year, 1 - 12 */
-   png_byte day;     /* day of month, 1 - 31 */
-   png_byte hour;    /* hour of day, 0 - 23 */
-   png_byte minute;  /* minute of hour, 0 - 59 */
-   png_byte second;  /* second of minute, 0 - 60 (for leap seconds) */
-} png_time;
-typedef png_time FAR * png_timep;
-typedef png_time FAR * FAR * png_timepp;
-
-#if defined(PNG_UNKNOWN_CHUNKS_SUPPORTED)
-/* png_unknown_chunk is a structure to hold queued chunks for which there is
- * no specific support.  The idea is that we can use this to queue
- * up private chunks for output even though the library doesn't actually
- * know about their semantics.
- */
-typedef struct png_unknown_chunk_t
-{
-    png_byte name[5];
-    png_byte *data;
-    png_size_t size;
-
-    /* libpng-using applications should NOT directly modify this byte. */
-    png_byte location; /* mode of operation at read time */
-}
-png_unknown_chunk;
-typedef png_unknown_chunk FAR * png_unknown_chunkp;
-typedef png_unknown_chunk FAR * FAR * png_unknown_chunkpp;
-#endif
-
-/* png_info is a structure that holds the information in a PNG file so
- * that the application can find out the characteristics of the image.
- * If you are reading the file, this structure will tell you what is
- * in the PNG file.  If you are writing the file, fill in the information
- * you want to put into the PNG file, then call png_write_info().
- * The names chosen should be very close to the PNG specification, so
- * consult that document for information about the meaning of each field.
- *
- * With libpng < 0.95, it was only possible to directly set and read the
- * the values in the png_info_struct, which meant that the contents and
- * order of the values had to remain fixed.  With libpng 0.95 and later,
- * however, there are now functions that abstract the contents of
- * png_info_struct from the application, so this makes it easier to use
- * libpng with dynamic libraries, and even makes it possible to use
- * libraries that don't have all of the libpng ancillary chunk-handing
- * functionality.
- *
- * In any case, the order of the parameters in png_info_struct should NOT
- * be changed for as long as possible to keep compatibility with applications
- * that use the old direct-access method with png_info_struct.
- *
- * The following members may have allocated storage attached that should be
- * cleaned up before the structure is discarded: palette, trans, text,
- * pcal_purpose, pcal_units, pcal_params, hist, iccp_name, iccp_profile,
- * splt_palettes, scal_unit, row_pointers, and unknowns.   By default, these
- * are automatically freed when the info structure is deallocated, if they were
- * allocated internally by libpng.  This behavior can be changed by means
- * of the png_data_freer() function.
- *
- * More allocation details: all the chunk-reading functions that
- * change these members go through the corresponding png_set_*
- * functions.  A function to clear these members is available: see
- * png_free_data().  The png_set_* functions do not depend on being
- * able to point info structure members to any of the storage they are
- * passed (they make their own copies), EXCEPT that the png_set_text
- * functions use the same storage passed to them in the text_ptr or
- * itxt_ptr structure argument, and the png_set_rows and png_set_unknowns
- * functions do not make their own copies.
- */
-typedef struct png_info_struct
-{
-   /* the following are necessary for every PNG file */
-   png_uint_32 width;       /* width of image in pixels (from IHDR) */
-   png_uint_32 height;      /* height of image in pixels (from IHDR) */
-   png_uint_32 valid;       /* valid chunk data (see PNG_INFO_ below) */
-   png_uint_32 rowbytes;    /* bytes needed to hold an untransformed row */
-   png_colorp palette;      /* array of color values (valid & PNG_INFO_PLTE) */
-   png_uint_16 num_palette; /* number of color entries in "palette" (PLTE) */
-   png_uint_16 num_trans;   /* number of transparent palette color (tRNS) */
-   png_byte bit_depth;      /* 1, 2, 4, 8, or 16 bits/channel (from IHDR) */
-   png_byte color_type;     /* see PNG_COLOR_TYPE_ below (from IHDR) */
-   /* The following three should have been named *_method not *_type */
-   png_byte compression_type; /* must be PNG_COMPRESSION_TYPE_BASE (IHDR) */
-   png_byte filter_type;    /* must be PNG_FILTER_TYPE_BASE (from IHDR) */
-   png_byte interlace_type; /* One of PNG_INTERLACE_NONE, PNG_INTERLACE_ADAM7 */
-
-   /* The following is informational only on read, and not used on writes. */
-   png_byte channels;       /* number of data channels per pixel (1, 2, 3, 4) */
-   png_byte pixel_depth;    /* number of bits per pixel */
-   png_byte spare_byte;     /* to align the data, and for future use */
-   png_byte signature[8];   /* magic bytes read by libpng from start of file */
-
-   /* The rest of the data is optional.  If you are reading, check the
-    * valid field to see if the information in these are valid.  If you
-    * are writing, set the valid field to those chunks you want written,
-    * and initialize the appropriate fields below.
-    */
-
-#if defined(PNG_gAMA_SUPPORTED) && defined(PNG_FLOATING_POINT_SUPPORTED)
-   /* The gAMA chunk describes the gamma characteristics of the system
-    * on which the image was created, normally in the range [1.0, 2.5].
-    * Data is valid if (valid & PNG_INFO_gAMA) is non-zero.
-    */
-   float gamma; /* gamma value of image, if (valid & PNG_INFO_gAMA) */
-#endif
-
-#if defined(PNG_sRGB_SUPPORTED)
-    /* GR-P, 0.96a */
-    /* Data valid if (valid & PNG_INFO_sRGB) non-zero. */
-   png_byte srgb_intent; /* sRGB rendering intent [0, 1, 2, or 3] */
-#endif
-
-#if defined(PNG_TEXT_SUPPORTED)
-   /* The tEXt, and zTXt chunks contain human-readable textual data in
-    * uncompressed, compressed, and optionally compressed forms, respectively.
-    * The data in "text" is an array of pointers to uncompressed,
-    * null-terminated C strings. Each chunk has a keyword that describes the
-    * textual data contained in that chunk.  Keywords are not required to be
-    * unique, and the text string may be empty.  Any number of text chunks may
-    * be in an image.
-    */
-   int num_text; /* number of comments read/to write */
-   int max_text; /* current size of text array */
-   png_textp text; /* array of comments read/to write */
-#endif /* PNG_TEXT_SUPPORTED */
-
-#if defined(PNG_tIME_SUPPORTED)
-   /* The tIME chunk holds the last time the displayed image data was
-    * modified.  See the png_time struct for the contents of this struct.
-    */
-   png_time mod_time;
-#endif
-
-#if defined(PNG_sBIT_SUPPORTED)
-   /* The sBIT chunk specifies the number of significant high-order bits
-    * in the pixel data.  Values are in the range [1, bit_depth], and are
-    * only specified for the channels in the pixel data.  The contents of
-    * the low-order bits is not specified.  Data is valid if
-    * (valid & PNG_INFO_sBIT) is non-zero.
-    */
-   png_color_8 sig_bit; /* significant bits in color channels */
-#endif
-
-#if defined(PNG_tRNS_SUPPORTED) || defined(PNG_READ_EXPAND_SUPPORTED) || \
-defined(PNG_READ_BACKGROUND_SUPPORTED)
-   /* The tRNS chunk supplies transparency data for paletted images and
-    * other image types that don't need a full alpha channel.  There are
-    * "num_trans" transparency values for a paletted image, stored in the
-    * same order as the palette colors, starting from index 0.  Values
-    * for the data are in the range [0, 255], ranging from fully transparent
-    * to fully opaque, respectively.  For non-paletted images, there is a
-    * single color specified that should be treated as fully transparent.
-    * Data is valid if (valid & PNG_INFO_tRNS) is non-zero.
-    */
-   png_bytep trans; /* transparent values for paletted image */
-   png_color_16 trans_values; /* transparent color for non-palette image */
-#endif
-
-#if defined(PNG_bKGD_SUPPORTED) || defined(PNG_READ_BACKGROUND_SUPPORTED)
-   /* The bKGD chunk gives the suggested image background color if the
-    * display program does not have its own background color and the image
-    * is needs to composited onto a background before display.  The colors
-    * in "background" are normally in the same color space/depth as the
-    * pixel data.  Data is valid if (valid & PNG_INFO_bKGD) is non-zero.
-    */
-   png_color_16 background;
-#endif
-
-#if defined(PNG_oFFs_SUPPORTED)
-   /* The oFFs chunk gives the offset in "offset_unit_type" units rightwards
-    * and downwards from the top-left corner of the display, page, or other
-    * application-specific co-ordinate space.  See the PNG_OFFSET_ defines
-    * below for the unit types.  Valid if (valid & PNG_INFO_oFFs) non-zero.
-    */
-   png_int_32 x_offset; /* x offset on page */
-   png_int_32 y_offset; /* y offset on page */
-   png_byte offset_unit_type; /* offset units type */
-#endif
-
-#if defined(PNG_pHYs_SUPPORTED)
-   /* The pHYs chunk gives the physical pixel density of the image for
-    * display or printing in "phys_unit_type" units (see PNG_RESOLUTION_
-    * defines below).  Data is valid if (valid & PNG_INFO_pHYs) is non-zero.
-    */
-   png_uint_32 x_pixels_per_unit; /* horizontal pixel density */
-   png_uint_32 y_pixels_per_unit; /* vertical pixel density */
-   png_byte phys_unit_type; /* resolution type (see PNG_RESOLUTION_ below) */
-#endif
-
-#if defined(PNG_hIST_SUPPORTED)
-   /* The hIST chunk contains the relative frequency or importance of the
-    * various palette entries, so that a viewer can intelligently select a
-    * reduced-color palette, if required.  Data is an array of "num_palette"
-    * values in the range [0,65535]. Data valid if (valid & PNG_INFO_hIST)
-    * is non-zero.
-    */
-   png_uint_16p hist;
-#endif
-
-#ifdef PNG_cHRM_SUPPORTED
-   /* The cHRM chunk describes the CIE color characteristics of the monitor
-    * on which the PNG was created.  This data allows the viewer to do gamut
-    * mapping of the input image to ensure that the viewer sees the same
-    * colors in the image as the creator.  Values are in the range
-    * [0.0, 0.8].  Data valid if (valid & PNG_INFO_cHRM) non-zero.
-    */
-#ifdef PNG_FLOATING_POINT_SUPPORTED
-   float x_white;
-   float y_white;
-   float x_red;
-   float y_red;
-   float x_green;
-   float y_green;
-   float x_blue;
-   float y_blue;
-#endif
-#endif
-
-#if defined(PNG_pCAL_SUPPORTED)
-   /* The pCAL chunk describes a transformation between the stored pixel
-    * values and original physical data values used to create the image.
-    * The integer range [0, 2^bit_depth - 1] maps to the floating-point
-    * range given by [pcal_X0, pcal_X1], and are further transformed by a
-    * (possibly non-linear) transformation function given by "pcal_type"
-    * and "pcal_params" into "pcal_units".  Please see the PNG_EQUATION_
-    * defines below, and the PNG-Group's PNG extensions document for a
-    * complete description of the transformations and how they should be
-    * implemented, and for a description of the ASCII parameter strings.
-    * Data values are valid if (valid & PNG_INFO_pCAL) non-zero.
-    */
-   png_charp pcal_purpose;  /* pCAL chunk description string */
-   png_int_32 pcal_X0;      /* minimum value */
-   png_int_32 pcal_X1;      /* maximum value */
-   png_charp pcal_units;    /* Latin-1 string giving physical units */
-   png_charpp pcal_params;  /* ASCII strings containing parameter values */
-   png_byte pcal_type;      /* equation type (see PNG_EQUATION_ below) */
-   png_byte pcal_nparams;   /* number of parameters given in pcal_params */
-#endif
-
-/* New members added in libpng-1.0.6 */
-#ifdef PNG_FREE_ME_SUPPORTED
-   png_uint_32 free_me;     /* flags items libpng is responsible for freeing */
-#endif
-
-#if defined(PNG_UNKNOWN_CHUNKS_SUPPORTED)
-   /* storage for unknown chunks that the library doesn't recognize. */
-   png_unknown_chunkp unknown_chunks;
-   png_size_t unknown_chunks_num;
-#endif
-
-#if defined(PNG_iCCP_SUPPORTED)
-   /* iCCP chunk data. */
-   png_charp iccp_name;     /* profile name */
-   png_charp iccp_profile;  /* International Color Consortium profile data */
-                            /* Note to maintainer: should be png_bytep */
-   png_uint_32 iccp_proflen;  /* ICC profile data length */
-   png_byte iccp_compression; /* Always zero */
-#endif
-
-#if defined(PNG_sPLT_SUPPORTED)
-   /* data on sPLT chunks (there may be more than one). */
-   png_sPLT_tp splt_palettes;
-   png_uint_32 splt_palettes_num;
-#endif
-
-#if defined(PNG_sCAL_SUPPORTED)
-   /* The sCAL chunk describes the actual physical dimensions of the
-    * subject matter of the graphic.  The chunk contains a unit specification
-    * a byte value, and two ASCII strings representing floating-point
-    * values.  The values are width and height corresponsing to one pixel
-    * in the image.  This external representation is converted to double
-    * here.  Data values are valid if (valid & PNG_INFO_sCAL) is non-zero.
-    */
-   png_byte scal_unit;         /* unit of physical scale */
-#ifdef PNG_FLOATING_POINT_SUPPORTED
-   double scal_pixel_width;    /* width of one pixel */
-   double scal_pixel_height;   /* height of one pixel */
-#endif
-#ifdef PNG_FIXED_POINT_SUPPORTED
-   png_charp scal_s_width;     /* string containing height */
-   png_charp scal_s_height;    /* string containing width */
-#endif
-#endif
-
-#if defined(PNG_INFO_IMAGE_SUPPORTED)
-   /* Memory has been allocated if (valid & PNG_ALLOCATED_INFO_ROWS) non-zero */
-   /* Data valid if (valid & PNG_INFO_IDAT) non-zero */
-   png_bytepp row_pointers;        /* the image bits */
-#endif
-
-#if defined(PNG_FIXED_POINT_SUPPORTED) && defined(PNG_gAMA_SUPPORTED)
-   png_fixed_point int_gamma; /* gamma of image, if (valid & PNG_INFO_gAMA) */
-#endif
-
-#if defined(PNG_cHRM_SUPPORTED) && defined(PNG_FIXED_POINT_SUPPORTED)
-   png_fixed_point int_x_white;
-   png_fixed_point int_y_white;
-   png_fixed_point int_x_red;
-   png_fixed_point int_y_red;
-   png_fixed_point int_x_green;
-   png_fixed_point int_y_green;
-   png_fixed_point int_x_blue;
-   png_fixed_point int_y_blue;
-#endif
-
-} png_info;
-
-typedef png_info FAR * png_infop;
-typedef png_info FAR * FAR * png_infopp;
-
-/* Maximum positive integer used in PNG is (2^31)-1 */
-#define PNG_UINT_31_MAX ((png_uint_32)0x7fffffffL)
-#define PNG_UINT_32_MAX ((png_uint_32)(-1))
-#define PNG_SIZE_MAX ((png_size_t)(-1))
-/* PNG_MAX_UINT is deprecated; use PNG_UINT_31_MAX instead. */
-#define PNG_MAX_UINT PNG_UINT_31_MAX
-
-/* These describe the color_type field in png_info. */
-/* color type masks */
-#define PNG_COLOR_MASK_PALETTE    1
-#define PNG_COLOR_MASK_COLOR      2
-#define PNG_COLOR_MASK_ALPHA      4
-
-/* color types.  Note that not all combinations are legal */
-#define PNG_COLOR_TYPE_GRAY 0
-#define PNG_COLOR_TYPE_PALETTE  (PNG_COLOR_MASK_COLOR | PNG_COLOR_MASK_PALETTE)
-#define PNG_COLOR_TYPE_RGB        (PNG_COLOR_MASK_COLOR)
-#define PNG_COLOR_TYPE_RGB_ALPHA  (PNG_COLOR_MASK_COLOR | PNG_COLOR_MASK_ALPHA)
-#define PNG_COLOR_TYPE_GRAY_ALPHA (PNG_COLOR_MASK_ALPHA)
-/* aliases */
-#define PNG_COLOR_TYPE_RGBA  PNG_COLOR_TYPE_RGB_ALPHA
-#define PNG_COLOR_TYPE_GA  PNG_COLOR_TYPE_GRAY_ALPHA
-
-/* This is for compression type. PNG 1.0-1.2 only define the single type. */
-#define PNG_COMPRESSION_TYPE_BASE 0 /* Deflate method 8, 32K window */
-#define PNG_COMPRESSION_TYPE_DEFAULT PNG_COMPRESSION_TYPE_BASE
-
-/* This is for filter type. PNG 1.0-1.2 only define the single type. */
-#define PNG_FILTER_TYPE_BASE      0 /* Single row per-byte filtering */
-#define PNG_INTRAPIXEL_DIFFERENCING 64 /* Used only in MNG datastreams */
-#define PNG_FILTER_TYPE_DEFAULT   PNG_FILTER_TYPE_BASE
-
-/* These are for the interlacing type.  These values should NOT be changed. */
-#define PNG_INTERLACE_NONE        0 /* Non-interlaced image */
-#define PNG_INTERLACE_ADAM7       1 /* Adam7 interlacing */
-#define PNG_INTERLACE_LAST        2 /* Not a valid value */
-
-/* These are for the oFFs chunk.  These values should NOT be changed. */
-#define PNG_OFFSET_PIXEL          0 /* Offset in pixels */
-#define PNG_OFFSET_MICROMETER     1 /* Offset in micrometers (1/10^6 meter) */
-#define PNG_OFFSET_LAST           2 /* Not a valid value */
-
-/* These are for the pCAL chunk.  These values should NOT be changed. */
-#define PNG_EQUATION_LINEAR       0 /* Linear transformation */
-#define PNG_EQUATION_BASE_E       1 /* Exponential base e transform */
-#define PNG_EQUATION_ARBITRARY    2 /* Arbitrary base exponential transform */
-#define PNG_EQUATION_HYPERBOLIC   3 /* Hyperbolic sine transformation */
-#define PNG_EQUATION_LAST         4 /* Not a valid value */
-
-/* These are for the sCAL chunk.  These values should NOT be changed. */
-#define PNG_SCALE_UNKNOWN         0 /* unknown unit (image scale) */
-#define PNG_SCALE_METER           1 /* meters per pixel */
-#define PNG_SCALE_RADIAN          2 /* radians per pixel */
-#define PNG_SCALE_LAST            3 /* Not a valid value */
-
-/* These are for the pHYs chunk.  These values should NOT be changed. */
-#define PNG_RESOLUTION_UNKNOWN    0 /* pixels/unknown unit (aspect ratio) */
-#define PNG_RESOLUTION_METER      1 /* pixels/meter */
-#define PNG_RESOLUTION_LAST       2 /* Not a valid value */
-
-/* These are for the sRGB chunk.  These values should NOT be changed. */
-#define PNG_sRGB_INTENT_PERCEPTUAL 0
-#define PNG_sRGB_INTENT_RELATIVE   1
-#define PNG_sRGB_INTENT_SATURATION 2
-#define PNG_sRGB_INTENT_ABSOLUTE   3
-#define PNG_sRGB_INTENT_LAST       4 /* Not a valid value */
-
-/* This is for text chunks */
-#define PNG_KEYWORD_MAX_LENGTH     79
-
-/* Maximum number of entries in PLTE/sPLT/tRNS arrays */
-#define PNG_MAX_PALETTE_LENGTH    256
-
-/* These determine if an ancillary chunk's data has been successfully read
- * from the PNG header, or if the application has filled in the corresponding
- * data in the info_struct to be written into the output file.  The values
- * of the PNG_INFO_<chunk> defines should NOT be changed.
- */
-#define PNG_INFO_gAMA 0x0001
-#define PNG_INFO_sBIT 0x0002
-#define PNG_INFO_cHRM 0x0004
-#define PNG_INFO_PLTE 0x0008
-#define PNG_INFO_tRNS 0x0010
-#define PNG_INFO_bKGD 0x0020
-#define PNG_INFO_hIST 0x0040
-#define PNG_INFO_pHYs 0x0080
-#define PNG_INFO_oFFs 0x0100
-#define PNG_INFO_tIME 0x0200
-#define PNG_INFO_pCAL 0x0400
-#define PNG_INFO_sRGB 0x0800   /* GR-P, 0.96a */
-#define PNG_INFO_iCCP 0x1000   /* ESR, 1.0.6 */
-#define PNG_INFO_sPLT 0x2000   /* ESR, 1.0.6 */
-#define PNG_INFO_sCAL 0x4000   /* ESR, 1.0.6 */
-#define PNG_INFO_IDAT 0x8000L  /* ESR, 1.0.6 */
-
-/* This is used for the transformation routines, as some of them
- * change these values for the row.  It also should enable using
- * the routines for other purposes.
- */
-typedef struct png_row_info_struct
-{
-   png_uint_32 width; /* width of row */
-   png_uint_32 rowbytes; /* number of bytes in row */
-   png_byte color_type; /* color type of row */
-   png_byte bit_depth; /* bit depth of row */
-   png_byte channels; /* number of channels (1, 2, 3, or 4) */
-   png_byte pixel_depth; /* bits per pixel (depth * channels) */
-} png_row_info;
-
-typedef png_row_info FAR * png_row_infop;
-typedef png_row_info FAR * FAR * png_row_infopp;
-
-/* These are the function types for the I/O functions and for the functions
- * that allow the user to override the default I/O functions with his or her
- * own.  The png_error_ptr type should match that of user-supplied warning
- * and error functions, while the png_rw_ptr type should match that of the
- * user read/write data functions.
- */
-typedef struct png_struct_def png_struct;
-typedef png_struct FAR * png_structp;
-
-typedef void (PNGAPI *png_error_ptr) PNGARG((png_structp, png_const_charp));
-typedef void (PNGAPI *png_rw_ptr) PNGARG((png_structp, png_bytep, png_size_t));
-typedef void (PNGAPI *png_flush_ptr) PNGARG((png_structp));
-typedef void (PNGAPI *png_read_status_ptr) PNGARG((png_structp, png_uint_32,
-   int));
-typedef void (PNGAPI *png_write_status_ptr) PNGARG((png_structp, png_uint_32,
-   int));
-
-#ifdef PNG_PROGRESSIVE_READ_SUPPORTED
-typedef void (PNGAPI *png_progressive_info_ptr) PNGARG((png_structp, png_infop));
-typedef void (PNGAPI *png_progressive_end_ptr) PNGARG((png_structp, png_infop));
-typedef void (PNGAPI *png_progressive_row_ptr) PNGARG((png_structp, png_bytep,
-   png_uint_32, int));
-#endif
-
-#if defined(PNG_READ_USER_TRANSFORM_SUPPORTED) || \
-    defined(PNG_WRITE_USER_TRANSFORM_SUPPORTED) || \
-    defined(PNG_LEGACY_SUPPORTED)
-typedef void (PNGAPI *png_user_transform_ptr) PNGARG((png_structp,
-    png_row_infop, png_bytep));
-#endif
-
-#if defined(PNG_USER_CHUNKS_SUPPORTED)
-typedef int (PNGAPI *png_user_chunk_ptr) PNGARG((png_structp, png_unknown_chunkp));
-#endif
-#if defined(PNG_UNKNOWN_CHUNKS_SUPPORTED)
-typedef void (PNGAPI *png_unknown_chunk_ptr) PNGARG((png_structp));
-#endif
-
-/* Transform masks for the high-level interface */
-#define PNG_TRANSFORM_IDENTITY       0x0000    /* read and write */
-#define PNG_TRANSFORM_STRIP_16       0x0001    /* read only */
-#define PNG_TRANSFORM_STRIP_ALPHA    0x0002    /* read only */
-#define PNG_TRANSFORM_PACKING        0x0004    /* read and write */
-#define PNG_TRANSFORM_PACKSWAP       0x0008    /* read and write */
-#define PNG_TRANSFORM_EXPAND         0x0010    /* read only */
-#define PNG_TRANSFORM_INVERT_MONO    0x0020    /* read and write */
-#define PNG_TRANSFORM_SHIFT          0x0040    /* read and write */
-#define PNG_TRANSFORM_BGR            0x0080    /* read and write */
-#define PNG_TRANSFORM_SWAP_ALPHA     0x0100    /* read and write */
-#define PNG_TRANSFORM_SWAP_ENDIAN    0x0200    /* read and write */
-#define PNG_TRANSFORM_INVERT_ALPHA   0x0400    /* read and write */
-#define PNG_TRANSFORM_STRIP_FILLER   0x0800    /* WRITE only */
-
-/* Flags for MNG supported features */
-#define PNG_FLAG_MNG_EMPTY_PLTE     0x01
-#define PNG_FLAG_MNG_FILTER_64      0x04
-#define PNG_ALL_MNG_FEATURES        0x05
-
-typedef png_voidp (*png_malloc_ptr) PNGARG((png_structp, png_size_t));
-typedef void (*png_free_ptr) PNGARG((png_structp, png_voidp));
-
-/* The structure that holds the information to read and write PNG files.
- * The only people who need to care about what is inside of this are the
- * people who will be modifying the library for their own special needs.
- * It should NOT be accessed directly by an application, except to store
- * the jmp_buf.
- */
-
-struct png_struct_def
-{
-#ifdef PNG_SETJMP_SUPPORTED
-   jmp_buf jmpbuf;            /* used in png_error */
-#endif
-   png_error_ptr error_fn;    /* function for printing errors and aborting */
-   png_error_ptr warning_fn;  /* function for printing warnings */
-   png_voidp error_ptr;       /* user supplied struct for error functions */
-   png_rw_ptr write_data_fn;  /* function for writing output data */
-   png_rw_ptr read_data_fn;   /* function for reading input data */
-   png_voidp io_ptr;          /* ptr to application struct for I/O functions */
-
-#if defined(PNG_READ_USER_TRANSFORM_SUPPORTED)
-   png_user_transform_ptr read_user_transform_fn; /* user read transform */
-#endif
-
-#if defined(PNG_WRITE_USER_TRANSFORM_SUPPORTED)
-   png_user_transform_ptr write_user_transform_fn; /* user write transform */
-#endif
-
-/* These were added in libpng-1.0.2 */
-#if defined(PNG_USER_TRANSFORM_PTR_SUPPORTED)
-#if defined(PNG_READ_USER_TRANSFORM_SUPPORTED) || \
-    defined(PNG_WRITE_USER_TRANSFORM_SUPPORTED)
-   png_voidp user_transform_ptr; /* user supplied struct for user transform */
-   png_byte user_transform_depth;    /* bit depth of user transformed pixels */
-   png_byte user_transform_channels; /* channels in user transformed pixels */
-#endif
-#endif
-
-   png_uint_32 mode;          /* tells us where we are in the PNG file */
-   png_uint_32 flags;         /* flags indicating various things to libpng */
-   png_uint_32 transformations; /* which transformations to perform */
-
-   z_stream zstream;          /* pointer to decompression structure (below) */
-   png_bytep zbuf;            /* buffer for zlib */
-   png_size_t zbuf_size;      /* size of zbuf */
-   int zlib_level;            /* holds zlib compression level */
-   int zlib_method;           /* holds zlib compression method */
-   int zlib_window_bits;      /* holds zlib compression window bits */
-   int zlib_mem_level;        /* holds zlib compression memory level */
-   int zlib_strategy;         /* holds zlib compression strategy */
-
-   png_uint_32 width;         /* width of image in pixels */
-   png_uint_32 height;        /* height of image in pixels */
-   png_uint_32 num_rows;      /* number of rows in current pass */
-   png_uint_32 usr_width;     /* width of row at start of write */
-   png_uint_32 rowbytes;      /* size of row in bytes */
-   png_uint_32 irowbytes;     /* size of current interlaced row in bytes */
-   png_uint_32 iwidth;        /* width of current interlaced row in pixels */
-   png_uint_32 row_number;    /* current row in interlace pass */
-   png_bytep prev_row;        /* buffer to save previous (unfiltered) row */
-   png_bytep row_buf;         /* buffer to save current (unfiltered) row */
-   png_bytep sub_row;         /* buffer to save "sub" row when filtering */
-   png_bytep up_row;          /* buffer to save "up" row when filtering */
-   png_bytep avg_row;         /* buffer to save "avg" row when filtering */
-   png_bytep paeth_row;       /* buffer to save "Paeth" row when filtering */
-   png_row_info row_info;     /* used for transformation routines */
-
-   png_uint_32 idat_size;     /* current IDAT size for read */
-   png_uint_32 crc;           /* current chunk CRC value */
-   png_colorp palette;        /* palette from the input file */
-   png_uint_16 num_palette;   /* number of color entries in palette */
-   png_uint_16 num_trans;     /* number of transparency values */
-   png_byte chunk_name[5];    /* null-terminated name of current chunk */
-   png_byte compression;      /* file compression type (always 0) */
-   png_byte filter;           /* file filter type (always 0) */
-   png_byte interlaced;       /* PNG_INTERLACE_NONE, PNG_INTERLACE_ADAM7 */
-   png_byte pass;             /* current interlace pass (0 - 6) */
-   png_byte do_filter;        /* row filter flags (see PNG_FILTER_ below ) */
-   png_byte color_type;       /* color type of file */
-   png_byte bit_depth;        /* bit depth of file */
-   png_byte usr_bit_depth;    /* bit depth of users row */
-   png_byte pixel_depth;      /* number of bits per pixel */
-   png_byte channels;         /* number of channels in file */
-   png_byte usr_channels;     /* channels at start of write */
-   png_byte sig_bytes;        /* magic bytes read/written from start of file */
-
-#if defined(PNG_READ_FILLER_SUPPORTED) || defined(PNG_WRITE_FILLER_SUPPORTED)
-#ifdef PNG_LEGACY_SUPPORTED
-   png_byte filler;           /* filler byte for pixel expansion */
-#else
-   png_uint_16 filler;           /* filler bytes for pixel expansion */
-#endif
-#endif
-
-#if defined(PNG_bKGD_SUPPORTED)
-   png_byte background_gamma_type;
-#  ifdef PNG_FLOATING_POINT_SUPPORTED
-   float background_gamma;
-#  endif
-   png_color_16 background;   /* background color in screen gamma space */
-#if defined(PNG_READ_GAMMA_SUPPORTED)
-   png_color_16 background_1; /* background normalized to gamma 1.0 */
-#endif
-#endif /* PNG_bKGD_SUPPORTED */
-
-#if defined(PNG_WRITE_FLUSH_SUPPORTED)
-   png_flush_ptr output_flush_fn;/* Function for flushing output */
-   png_uint_32 flush_dist;    /* how many rows apart to flush, 0 - no flush */
-   png_uint_32 flush_rows;    /* number of rows written since last flush */
-#endif
-
-#if defined(PNG_READ_GAMMA_SUPPORTED) || defined(PNG_READ_BACKGROUND_SUPPORTED)
-   int gamma_shift;      /* number of "insignificant" bits 16-bit gamma */
-#ifdef PNG_FLOATING_POINT_SUPPORTED
-   float gamma;          /* file gamma value */
-   float screen_gamma;   /* screen gamma value (display_exponent) */
-#endif
-#endif
-
-#if defined(PNG_READ_GAMMA_SUPPORTED) || defined(PNG_READ_BACKGROUND_SUPPORTED)
-   png_bytep gamma_table;     /* gamma table for 8-bit depth files */
-   png_bytep gamma_from_1;    /* converts from 1.0 to screen */
-   png_bytep gamma_to_1;      /* converts from file to 1.0 */
-   png_uint_16pp gamma_16_table; /* gamma table for 16-bit depth files */
-   png_uint_16pp gamma_16_from_1; /* converts from 1.0 to screen */
-   png_uint_16pp gamma_16_to_1; /* converts from file to 1.0 */
-#endif
-
-#if defined(PNG_READ_GAMMA_SUPPORTED) || defined(PNG_sBIT_SUPPORTED)
-   png_color_8 sig_bit;       /* significant bits in each available channel */
-#endif
-
-#if defined(PNG_READ_SHIFT_SUPPORTED) || defined(PNG_WRITE_SHIFT_SUPPORTED)
-   png_color_8 shift;         /* shift for significant bit tranformation */
-#endif
-
-#if defined(PNG_tRNS_SUPPORTED) || defined(PNG_READ_BACKGROUND_SUPPORTED) \
- || defined(PNG_READ_EXPAND_SUPPORTED) || defined(PNG_READ_BACKGROUND_SUPPORTED)
-   png_bytep trans;           /* transparency values for paletted files */
-   png_color_16 trans_values; /* transparency values for non-paletted files */
-#endif
-
-   png_read_status_ptr read_row_fn;   /* called after each row is decoded */
-   png_write_status_ptr write_row_fn; /* called after each row is encoded */
-#ifdef PNG_PROGRESSIVE_READ_SUPPORTED
-   png_progressive_info_ptr info_fn; /* called after header data fully read */
-   png_progressive_row_ptr row_fn;   /* called after each prog. row is decoded */
-   png_progressive_end_ptr end_fn;   /* called after image is complete */
-   png_bytep save_buffer_ptr;        /* current location in save_buffer */
-   png_bytep save_buffer;            /* buffer for previously read data */
-   png_bytep current_buffer_ptr;     /* current location in current_buffer */
-   png_bytep current_buffer;         /* buffer for recently used data */
-   png_uint_32 push_length;          /* size of current input chunk */
-   png_uint_32 skip_length;          /* bytes to skip in input data */
-   png_size_t save_buffer_size;      /* amount of data now in save_buffer */
-   png_size_t save_buffer_max;       /* total size of save_buffer */
-   png_size_t buffer_size;           /* total amount of available input data */
-   png_size_t current_buffer_size;   /* amount of data now in current_buffer */
-   int process_mode;                 /* what push library is currently doing */
-   int cur_palette;                  /* current push library palette index */
-
-#  if defined(PNG_TEXT_SUPPORTED)
-     png_size_t current_text_size;   /* current size of text input data */
-     png_size_t current_text_left;   /* how much text left to read in input */
-     png_charp current_text;         /* current text chunk buffer */
-     png_charp current_text_ptr;     /* current location in current_text */
-#  endif /* PNG_PROGRESSIVE_READ_SUPPORTED && PNG_TEXT_SUPPORTED */
-
-#endif /* PNG_PROGRESSIVE_READ_SUPPORTED */
-
-#if defined(__TURBOC__) && !defined(_Windows) && !defined(__FLAT__)
-/* for the Borland special 64K segment handler */
-   png_bytepp offset_table_ptr;
-   png_bytep offset_table;
-   png_uint_16 offset_table_number;
-   png_uint_16 offset_table_count;
-   png_uint_16 offset_table_count_free;
-#endif
-
-#if defined(PNG_READ_DITHER_SUPPORTED)
-   png_bytep palette_lookup;         /* lookup table for dithering */
-   png_bytep dither_index;           /* index translation for palette files */
-#endif
-
-#if defined(PNG_READ_DITHER_SUPPORTED) || defined(PNG_hIST_SUPPORTED)
-   png_uint_16p hist;                /* histogram */
-#endif
-
-#if defined(PNG_WRITE_WEIGHTED_FILTER_SUPPORTED)
-   png_byte heuristic_method;        /* heuristic for row filter selection */
-   png_byte num_prev_filters;        /* number of weights for previous rows */
-   png_bytep prev_filters;           /* filter type(s) of previous row(s) */
-   png_uint_16p filter_weights;      /* weight(s) for previous line(s) */
-   png_uint_16p inv_filter_weights;  /* 1/weight(s) for previous line(s) */
-   png_uint_16p filter_costs;        /* relative filter calculation cost */
-   png_uint_16p inv_filter_costs;    /* 1/relative filter calculation cost */
-#endif
-
-#if defined(PNG_TIME_RFC1123_SUPPORTED)
-   png_charp time_buffer;            /* String to hold RFC 1123 time text */
-#endif
-
-/* New members added in libpng-1.0.6 */
-
-#ifdef PNG_FREE_ME_SUPPORTED
-   png_uint_32 free_me;       /* flags items libpng is responsible for freeing */
-#endif
-
-#if defined(PNG_USER_CHUNKS_SUPPORTED)
-   png_voidp user_chunk_ptr;
-   png_user_chunk_ptr read_user_chunk_fn; /* user read chunk handler */
-#endif
-
-#if defined(PNG_UNKNOWN_CHUNKS_SUPPORTED)
-   int num_chunk_list;
-   png_bytep chunk_list;
-#endif
-
-/* New members added in libpng-1.0.3 */
-#if defined(PNG_READ_RGB_TO_GRAY_SUPPORTED)
-   png_byte rgb_to_gray_status;
-   /* These were changed from png_byte in libpng-1.0.6 */
-   png_uint_16 rgb_to_gray_red_coeff;
-   png_uint_16 rgb_to_gray_green_coeff;
-   png_uint_16 rgb_to_gray_blue_coeff;
-#endif
-
-/* New member added in libpng-1.0.4 (renamed in 1.0.9) */
-#if defined(PNG_MNG_FEATURES_SUPPORTED) || \
-    defined(PNG_READ_EMPTY_PLTE_SUPPORTED) || \
-    defined(PNG_WRITE_EMPTY_PLTE_SUPPORTED)
-/* changed from png_byte to png_uint_32 at version 1.2.0 */
-#ifdef PNG_1_0_X
-   png_byte mng_features_permitted;
-#else
-   png_uint_32 mng_features_permitted;
-#endif /* PNG_1_0_X */
-#endif
-
-/* New member added in libpng-1.0.7 */
-#if defined(PNG_READ_GAMMA_SUPPORTED) || defined(PNG_READ_BACKGROUND_SUPPORTED)
-   png_fixed_point int_gamma;
-#endif
-
-/* New member added in libpng-1.0.9, ifdef'ed out in 1.0.12, enabled in 1.2.0 */
-#if defined(PNG_MNG_FEATURES_SUPPORTED)
-   png_byte filter_type;
-#endif
-
-#if defined(PNG_1_0_X) || (defined(PNG_DEBUG) && defined(PNG_USE_PNGGCCRD))
-/* New member added in libpng-1.0.10, ifdef'ed out in 1.2.0 */
-   png_uint_32 row_buf_size;
-#endif
-
-/* New members added in libpng-1.2.0 */
-#if !defined(PNG_1_0_X) && defined(PNG_ASSEMBLER_CODE_SUPPORTED)
-   png_byte     mmx_bitdepth_threshold;
-   png_uint_32  mmx_rowbytes_threshold;
-   png_uint_32  asm_flags;
-#endif
-
-/* New members added in libpng-1.0.2 but first enabled by default in 1.2.0 */
-#ifdef PNG_USER_MEM_SUPPORTED
-   png_voidp mem_ptr;                /* user supplied struct for mem functions */
-   png_malloc_ptr malloc_fn;         /* function for allocating memory */
-   png_free_ptr free_fn;             /* function for freeing memory */
-#endif
-
-/* New member added in libpng-1.0.13 and 1.2.0 */
-   png_bytep big_row_buf;         /* buffer to save current (unfiltered) row */
-
-#if defined(PNG_READ_DITHER_SUPPORTED)
-/* The following three members were added at version 1.0.14 and 1.2.4 */
-   png_bytep dither_sort;            /* working sort array */
-   png_bytep index_to_palette;       /* where the original index currently is */
-                                     /* in the palette */
-   png_bytep palette_to_index;       /* which original index points to this */
-                                     /* palette color */
-#endif
-
-/* New members added in libpng-1.0.16 and 1.2.6 */
-   png_byte compression_type;
-
-#ifdef PNG_SET_USER_LIMITS_SUPPORTED
-   png_uint_32 user_width_max;
-   png_uint_32 user_height_max;
-#endif
-
-};
-
-
-/* This triggers a compiler error in png.c, if png.c and png.h
- * do not agree upon the version number.
- */
-typedef png_structp version_1_2_8;
-
-typedef png_struct FAR * FAR * png_structpp;
-
-/* Here are the function definitions most commonly used.  This is not
- * the place to find out how to use libpng.  See libpng.txt for the
- * full explanation, see example.c for the summary.  This just provides
- * a simple one line description of the use of each function.
- */
-
-/* Returns the version number of the library */
-extern PNG_EXPORT(png_uint_32,png_access_version_number) PNGARG((void));
-
-/* Tell lib we have already handled the first <num_bytes> magic bytes.
- * Handling more than 8 bytes from the beginning of the file is an error.
- */
-extern PNG_EXPORT(void,png_set_sig_bytes) PNGARG((png_structp png_ptr,
-   int num_bytes));
-
-/* Check sig[start] through sig[start + num_to_check - 1] to see if it's a
- * PNG file.  Returns zero if the supplied bytes match the 8-byte PNG
- * signature, and non-zero otherwise.  Having num_to_check == 0 or
- * start > 7 will always fail (ie return non-zero).
- */
-extern PNG_EXPORT(int,png_sig_cmp) PNGARG((png_bytep sig, png_size_t start,
-   png_size_t num_to_check));
-
-/* Simple signature checking function.  This is the same as calling
- * png_check_sig(sig, n) := !png_sig_cmp(sig, 0, n).
- */
-extern PNG_EXPORT(int,png_check_sig) PNGARG((png_bytep sig, int num));
-
-/* Allocate and initialize png_ptr struct for reading, and any other memory. */
-extern PNG_EXPORT(png_structp,png_create_read_struct)
-   PNGARG((png_const_charp user_png_ver, png_voidp error_ptr,
-   png_error_ptr error_fn, png_error_ptr warn_fn));
-
-/* Allocate and initialize png_ptr struct for writing, and any other memory */
-extern PNG_EXPORT(png_structp,png_create_write_struct)
-   PNGARG((png_const_charp user_png_ver, png_voidp error_ptr,
-   png_error_ptr error_fn, png_error_ptr warn_fn));
-
-#ifdef PNG_WRITE_SUPPORTED
-extern PNG_EXPORT(png_uint_32,png_get_compression_buffer_size)
-   PNGARG((png_structp png_ptr));
-#endif
-
-#ifdef PNG_WRITE_SUPPORTED
-extern PNG_EXPORT(void,png_set_compression_buffer_size)
-   PNGARG((png_structp png_ptr, png_uint_32 size));
-#endif
-
-/* Reset the compression stream */
-extern PNG_EXPORT(int,png_reset_zstream) PNGARG((png_structp png_ptr));
-
-/* New functions added in libpng-1.0.2 (not enabled by default until 1.2.0) */
-#ifdef PNG_USER_MEM_SUPPORTED
-extern PNG_EXPORT(png_structp,png_create_read_struct_2)
-   PNGARG((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));
-extern PNG_EXPORT(png_structp,png_create_write_struct_2)
-   PNGARG((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));
-#endif
-
-/* Write a PNG chunk - size, type, (optional) data, CRC. */
-extern PNG_EXPORT(void,png_write_chunk) PNGARG((png_structp png_ptr,
-   png_bytep chunk_name, png_bytep data, png_size_t length));
-
-/* Write the start of a PNG chunk - length and chunk name. */
-extern PNG_EXPORT(void,png_write_chunk_start) PNGARG((png_structp png_ptr,
-   png_bytep chunk_name, png_uint_32 length));
-
-/* Write the data of a PNG chunk started with png_write_chunk_start(). */
-extern PNG_EXPORT(void,png_write_chunk_data) PNGARG((png_structp png_ptr,
-   png_bytep data, png_size_t length));
-
-/* Finish a chunk started with png_write_chunk_start() (includes CRC). */
-extern PNG_EXPORT(void,png_write_chunk_end) PNGARG((png_structp png_ptr));
-
-/* Allocate and initialize the info structure */
-extern PNG_EXPORT(png_infop,png_create_info_struct)
-   PNGARG((png_structp png_ptr));
-
-/* Initialize the info structure (old interface - DEPRECATED) */
-extern PNG_EXPORT(void,png_info_init) PNGARG((png_infop info_ptr));
-#undef png_info_init
-#define png_info_init(info_ptr) png_info_init_3(&info_ptr,\
-    png_sizeof(png_info));
-extern PNG_EXPORT(void,png_info_init_3) PNGARG((png_infopp info_ptr,
-    png_size_t png_info_struct_size));
-
-/* Writes all the PNG information before the image. */
-extern PNG_EXPORT(void,png_write_info_before_PLTE) PNGARG((png_structp png_ptr,
-   png_infop info_ptr));
-extern PNG_EXPORT(void,png_write_info) PNGARG((png_structp png_ptr,
-   png_infop info_ptr));
-
-#ifndef PNG_NO_SEQUENTIAL_READ_SUPPORTED
-/* read the information before the actual image data. */
-extern PNG_EXPORT(void,png_read_info) PNGARG((png_structp png_ptr,
-   png_infop info_ptr));
-#endif
-
-#if defined(PNG_TIME_RFC1123_SUPPORTED)
-extern PNG_EXPORT(png_charp,png_convert_to_rfc1123)
-   PNGARG((png_structp png_ptr, png_timep ptime));
-#endif
-
-#if !defined(_WIN32_WCE)
-/* "time.h" functions are not supported on WindowsCE */
-#if defined(PNG_WRITE_tIME_SUPPORTED)
-/* convert from a struct tm to png_time */
-extern PNG_EXPORT(void,png_convert_from_struct_tm) PNGARG((png_timep ptime,
-   struct tm FAR * ttime));
-
-/* convert from time_t to png_time.  Uses gmtime() */
-extern PNG_EXPORT(void,png_convert_from_time_t) PNGARG((png_timep ptime,
-   time_t ttime));
-#endif /* PNG_WRITE_tIME_SUPPORTED */
-#endif /* _WIN32_WCE */
-
-#if defined(PNG_READ_EXPAND_SUPPORTED)
-/* Expand data to 24-bit RGB, or 8-bit grayscale, with alpha if available. */
-extern PNG_EXPORT(void,png_set_expand) PNGARG((png_structp png_ptr));
-extern PNG_EXPORT(void,png_set_gray_1_2_4_to_8) PNGARG((png_structp png_ptr));
-extern PNG_EXPORT(void,png_set_palette_to_rgb) PNGARG((png_structp png_ptr));
-extern PNG_EXPORT(void,png_set_tRNS_to_alpha) PNGARG((png_structp png_ptr));
-#endif
-
-#if defined(PNG_READ_BGR_SUPPORTED) || defined(PNG_WRITE_BGR_SUPPORTED)
-/* Use blue, green, red order for pixels. */
-extern PNG_EXPORT(void,png_set_bgr) PNGARG((png_structp png_ptr));
-#endif
-
-#if defined(PNG_READ_GRAY_TO_RGB_SUPPORTED)
-/* Expand the grayscale to 24-bit RGB if necessary. */
-extern PNG_EXPORT(void,png_set_gray_to_rgb) PNGARG((png_structp png_ptr));
-#endif
-
-#if defined(PNG_READ_RGB_TO_GRAY_SUPPORTED)
-/* Reduce RGB to grayscale. */
-#ifdef PNG_FLOATING_POINT_SUPPORTED
-extern PNG_EXPORT(void,png_set_rgb_to_gray) PNGARG((png_structp png_ptr,
-   int error_action, double red, double green ));
-#endif
-extern PNG_EXPORT(void,png_set_rgb_to_gray_fixed) PNGARG((png_structp png_ptr,
-   int error_action, png_fixed_point red, png_fixed_point green ));
-extern PNG_EXPORT(png_byte,png_get_rgb_to_gray_status) PNGARG((png_structp
-   png_ptr));
-#endif
-
-extern PNG_EXPORT(void,png_build_grayscale_palette) PNGARG((int bit_depth,
-   png_colorp palette));
-
-#if defined(PNG_READ_STRIP_ALPHA_SUPPORTED)
-extern PNG_EXPORT(void,png_set_strip_alpha) PNGARG((png_structp png_ptr));
-#endif
-
-#if defined(PNG_READ_SWAP_ALPHA_SUPPORTED) || \
-    defined(PNG_WRITE_SWAP_ALPHA_SUPPORTED)
-extern PNG_EXPORT(void,png_set_swap_alpha) PNGARG((png_structp png_ptr));
-#endif
-
-#if defined(PNG_READ_INVERT_ALPHA_SUPPORTED) || \
-    defined(PNG_WRITE_INVERT_ALPHA_SUPPORTED)
-extern PNG_EXPORT(void,png_set_invert_alpha) PNGARG((png_structp png_ptr));
-#endif
-
-#if defined(PNG_READ_FILLER_SUPPORTED) || defined(PNG_WRITE_FILLER_SUPPORTED)
-/* Add a filler byte to 8-bit Gray or 24-bit RGB images. */
-extern PNG_EXPORT(void,png_set_filler) PNGARG((png_structp png_ptr,
-   png_uint_32 filler, int flags));
-/* The values of the PNG_FILLER_ defines should NOT be changed */
-#define PNG_FILLER_BEFORE 0
-#define PNG_FILLER_AFTER 1
-/* Add an alpha byte to 8-bit Gray or 24-bit RGB images. */
-#if !defined(PNG_1_0_X)
-extern PNG_EXPORT(void,png_set_add_alpha) PNGARG((png_structp png_ptr,
-   png_uint_32 filler, int flags));
-#endif
-#endif /* PNG_READ_FILLER_SUPPORTED || PNG_WRITE_FILLER_SUPPORTED */
-
-#if defined(PNG_READ_SWAP_SUPPORTED) || defined(PNG_WRITE_SWAP_SUPPORTED)
-/* Swap bytes in 16-bit depth files. */
-extern PNG_EXPORT(void,png_set_swap) PNGARG((png_structp png_ptr));
-#endif
-
-#if defined(PNG_READ_PACK_SUPPORTED) || defined(PNG_WRITE_PACK_SUPPORTED)
-/* Use 1 byte per pixel in 1, 2, or 4-bit depth files. */
-extern PNG_EXPORT(void,png_set_packing) PNGARG((png_structp png_ptr));
-#endif
-
-#if defined(PNG_READ_PACKSWAP_SUPPORTED) || defined(PNG_WRITE_PACKSWAP_SUPPORTED)
-/* Swap packing order of pixels in bytes. */
-extern PNG_EXPORT(void,png_set_packswap) PNGARG((png_structp png_ptr));
-#endif
-
-#if defined(PNG_READ_SHIFT_SUPPORTED) || defined(PNG_WRITE_SHIFT_SUPPORTED)
-/* Converts files to legal bit depths. */
-extern PNG_EXPORT(void,png_set_shift) PNGARG((png_structp png_ptr,
-   png_color_8p true_bits));
-#endif
-
-#if defined(PNG_READ_INTERLACING_SUPPORTED) || \
-    defined(PNG_WRITE_INTERLACING_SUPPORTED)
-/* Have the code handle the interlacing.  Returns the number of passes. */
-extern PNG_EXPORT(int,png_set_interlace_handling) PNGARG((png_structp png_ptr));
-#endif
-
-#if defined(PNG_READ_INVERT_SUPPORTED) || defined(PNG_WRITE_INVERT_SUPPORTED)
-/* Invert monochrome files */
-extern PNG_EXPORT(void,png_set_invert_mono) PNGARG((png_structp png_ptr));
-#endif
-
-#if defined(PNG_READ_BACKGROUND_SUPPORTED)
-/* Handle alpha and tRNS by replacing with a background color. */
-#ifdef PNG_FLOATING_POINT_SUPPORTED
-extern PNG_EXPORT(void,png_set_background) PNGARG((png_structp png_ptr,
-   png_color_16p background_color, int background_gamma_code,
-   int need_expand, double background_gamma));
-#endif
-#define PNG_BACKGROUND_GAMMA_UNKNOWN 0
-#define PNG_BACKGROUND_GAMMA_SCREEN  1
-#define PNG_BACKGROUND_GAMMA_FILE    2
-#define PNG_BACKGROUND_GAMMA_UNIQUE  3
-#endif
-
-#if defined(PNG_READ_16_TO_8_SUPPORTED)
-/* strip the second byte of information from a 16-bit depth file. */
-extern PNG_EXPORT(void,png_set_strip_16) PNGARG((png_structp png_ptr));
-#endif
-
-#if defined(PNG_READ_DITHER_SUPPORTED)
-/* Turn on dithering, and reduce the palette to the number of colors available. */
-extern PNG_EXPORT(void,png_set_dither) PNGARG((png_structp png_ptr,
-   png_colorp palette, int num_palette, int maximum_colors,
-   png_uint_16p histogram, int full_dither));
-#endif
-
-#if defined(PNG_READ_GAMMA_SUPPORTED)
-/* Handle gamma correction. Screen_gamma=(display_exponent) */
-#ifdef PNG_FLOATING_POINT_SUPPORTED
-extern PNG_EXPORT(void,png_set_gamma) PNGARG((png_structp png_ptr,
-   double screen_gamma, double default_file_gamma));
-#endif
-#endif
-
-#if defined(PNG_READ_EMPTY_PLTE_SUPPORTED) || \
-    defined(PNG_WRITE_EMPTY_PLTE_SUPPORTED)
-/* Permit or disallow empty PLTE (0: not permitted, 1: permitted) */
-/* Deprecated and will be removed.  Use png_permit_mng_features() instead. */
-extern PNG_EXPORT(void,png_permit_empty_plte) PNGARG((png_structp png_ptr,
-   int empty_plte_permitted));
-#endif
-
-#if defined(PNG_WRITE_FLUSH_SUPPORTED)
-/* Set how many lines between output flushes - 0 for no flushing */
-extern PNG_EXPORT(void,png_set_flush) PNGARG((png_structp png_ptr, int nrows));
-/* Flush the current PNG output buffer */
-extern PNG_EXPORT(void,png_write_flush) PNGARG((png_structp png_ptr));
-#endif
-
-/* optional update palette with requested transformations */
-extern PNG_EXPORT(void,png_start_read_image) PNGARG((png_structp png_ptr));
-
-/* optional call to update the users info structure */
-extern PNG_EXPORT(void,png_read_update_info) PNGARG((png_structp png_ptr,
-   png_infop info_ptr));
-
-#ifndef PNG_NO_SEQUENTIAL_READ_SUPPORTED
-/* read one or more rows of image data. */
-extern PNG_EXPORT(void,png_read_rows) PNGARG((png_structp png_ptr,
-   png_bytepp row, png_bytepp display_row, png_uint_32 num_rows));
-#endif
-
-#ifndef PNG_NO_SEQUENTIAL_READ_SUPPORTED
-/* read a row of data. */
-extern PNG_EXPORT(void,png_read_row) PNGARG((png_structp png_ptr,
-   png_bytep row,
-   png_bytep display_row));
-#endif
-
-#ifndef PNG_NO_SEQUENTIAL_READ_SUPPORTED
-/* read the whole image into memory at once. */
-extern PNG_EXPORT(void,png_read_image) PNGARG((png_structp png_ptr,
-   png_bytepp image));
-#endif
-
-/* write a row of image data */
-extern PNG_EXPORT(void,png_write_row) PNGARG((png_structp png_ptr,
-   png_bytep row));
-
-/* write a few rows of image data */
-extern PNG_EXPORT(void,png_write_rows) PNGARG((png_structp png_ptr,
-   png_bytepp row, png_uint_32 num_rows));
-
-/* write the image data */
-extern PNG_EXPORT(void,png_write_image) PNGARG((png_structp png_ptr,
-   png_bytepp image));
-
-/* writes the end of the PNG file. */
-extern PNG_EXPORT(void,png_write_end) PNGARG((png_structp png_ptr,
-   png_infop info_ptr));
-
-#ifndef PNG_NO_SEQUENTIAL_READ_SUPPORTED
-/* read the end of the PNG file. */
-extern PNG_EXPORT(void,png_read_end) PNGARG((png_structp png_ptr,
-   png_infop info_ptr));
-#endif
-
-/* free any memory associated with the png_info_struct */
-extern PNG_EXPORT(void,png_destroy_info_struct) PNGARG((png_structp png_ptr,
-   png_infopp info_ptr_ptr));
-
-/* free any memory associated with the png_struct and the png_info_structs */
-extern PNG_EXPORT(void,png_destroy_read_struct) PNGARG((png_structpp
-   png_ptr_ptr, png_infopp info_ptr_ptr, png_infopp end_info_ptr_ptr));
-
-/* free all memory used by the read (old method - NOT DLL EXPORTED) */
-extern void png_read_destroy PNGARG((png_structp png_ptr, png_infop info_ptr,
-   png_infop end_info_ptr));
-
-/* free any memory associated with the png_struct and the png_info_structs */
-extern PNG_EXPORT(void,png_destroy_write_struct)
-   PNGARG((png_structpp png_ptr_ptr, png_infopp info_ptr_ptr));
-
-/* free any memory used in png_ptr struct (old method - NOT DLL EXPORTED) */
-extern void png_write_destroy PNGARG((png_structp png_ptr));
-
-/* set the libpng method of handling chunk CRC errors */
-extern PNG_EXPORT(void,png_set_crc_action) PNGARG((png_structp png_ptr,
-   int crit_action, int ancil_action));
-
-/* Values for png_set_crc_action() to say how to handle CRC errors in
- * ancillary and critical chunks, and whether to use the data contained
- * therein.  Note that it is impossible to "discard" data in a critical
- * chunk.  For versions prior to 0.90, the action was always error/quit,
- * whereas in version 0.90 and later, the action for CRC errors in ancillary
- * chunks is warn/discard.  These values should NOT be changed.
- *
- *      value                       action:critical     action:ancillary
- */
-#define PNG_CRC_DEFAULT       0  /* error/quit          warn/discard data */
-#define PNG_CRC_ERROR_QUIT    1  /* error/quit          error/quit        */
-#define PNG_CRC_WARN_DISCARD  2  /* (INVALID)           warn/discard data */
-#define PNG_CRC_WARN_USE      3  /* warn/use data       warn/use data     */
-#define PNG_CRC_QUIET_USE     4  /* quiet/use data      quiet/use data    */
-#define PNG_CRC_NO_CHANGE     5  /* use current value   use current value */
-
-/* These functions give the user control over the scan-line filtering in
- * libpng and the compression methods used by zlib.  These functions are
- * mainly useful for testing, as the defaults should work with most users.
- * Those users who are tight on memory or want faster performance at the
- * expense of compression can modify them.  See the compression library
- * header file (zlib.h) for an explination of the compression functions.
- */
-
-/* set the filtering method(s) used by libpng.  Currently, the only valid
- * value for "method" is 0.
- */
-extern PNG_EXPORT(void,png_set_filter) PNGARG((png_structp png_ptr, int method,
-   int filters));
-
-/* Flags for png_set_filter() to say which filters to use.  The flags
- * are chosen so that they don't conflict with real filter types
- * below, in case they are supplied instead of the #defined constants.
- * These values should NOT be changed.
- */
-#define PNG_NO_FILTERS     0x00
-#define PNG_FILTER_NONE    0x08
-#define PNG_FILTER_SUB     0x10
-#define PNG_FILTER_UP      0x20
-#define PNG_FILTER_AVG     0x40
-#define PNG_FILTER_PAETH   0x80
-#define PNG_ALL_FILTERS (PNG_FILTER_NONE | PNG_FILTER_SUB | PNG_FILTER_UP | \
-                         PNG_FILTER_AVG | PNG_FILTER_PAETH)
-
-/* Filter values (not flags) - used in pngwrite.c, pngwutil.c for now.
- * These defines should NOT be changed.
- */
-#define PNG_FILTER_VALUE_NONE  0
-#define PNG_FILTER_VALUE_SUB   1
-#define PNG_FILTER_VALUE_UP    2
-#define PNG_FILTER_VALUE_AVG   3
-#define PNG_FILTER_VALUE_PAETH 4
-#define PNG_FILTER_VALUE_LAST  5
-
-#if defined(PNG_WRITE_WEIGHTED_FILTER_SUPPORTED) /* EXPERIMENTAL */
-/* The "heuristic_method" is given by one of the PNG_FILTER_HEURISTIC_
- * defines, either the default (minimum-sum-of-absolute-differences), or
- * the experimental method (weighted-minimum-sum-of-absolute-differences).
- *
- * Weights are factors >= 1.0, indicating how important it is to keep the
- * filter type consistent between rows.  Larger numbers mean the current
- * filter is that many times as likely to be the same as the "num_weights"
- * previous filters.  This is cumulative for each previous row with a weight.
- * There needs to be "num_weights" values in "filter_weights", or it can be
- * NULL if the weights aren't being specified.  Weights have no influence on
- * the selection of the first row filter.  Well chosen weights can (in theory)
- * improve the compression for a given image.
- *
- * Costs are factors >= 1.0 indicating the relative decoding costs of a
- * filter type.  Higher costs indicate more decoding expense, and are
- * therefore less likely to be selected over a filter with lower computational
- * costs.  There needs to be a value in "filter_costs" for each valid filter
- * type (given by PNG_FILTER_VALUE_LAST), or it can be NULL if you aren't
- * setting the costs.  Costs try to improve the speed of decompression without
- * unduly increasing the compressed image size.
- *
- * A negative weight or cost indicates the default value is to be used, and
- * values in the range [0.0, 1.0) indicate the value is to remain unchanged.
- * The default values for both weights and costs are currently 1.0, but may
- * change if good general weighting/cost heuristics can be found.  If both
- * the weights and costs are set to 1.0, this degenerates the WEIGHTED method
- * to the UNWEIGHTED method, but with added encoding time/computation.
- */
-#ifdef PNG_FLOATING_POINT_SUPPORTED
-extern PNG_EXPORT(void,png_set_filter_heuristics) PNGARG((png_structp png_ptr,
-   int heuristic_method, int num_weights, png_doublep filter_weights,
-   png_doublep filter_costs));
-#endif
-#endif /*  PNG_WRITE_WEIGHTED_FILTER_SUPPORTED */
-
-/* Heuristic used for row filter selection.  These defines should NOT be
- * changed.
- */
-#define PNG_FILTER_HEURISTIC_DEFAULT    0  /* Currently "UNWEIGHTED" */
-#define PNG_FILTER_HEURISTIC_UNWEIGHTED 1  /* Used by libpng < 0.95 */
-#define PNG_FILTER_HEURISTIC_WEIGHTED   2  /* Experimental feature */
-#define PNG_FILTER_HEURISTIC_LAST       3  /* Not a valid value */
-
-/* Set the library compression level.  Currently, valid values range from
- * 0 - 9, corresponding directly to the zlib compression levels 0 - 9
- * (0 - no compression, 9 - "maximal" compression).  Note that tests have
- * shown that zlib compression levels 3-6 usually perform as well as level 9
- * for PNG images, and do considerably fewer caclulations.  In the future,
- * these values may not correspond directly to the zlib compression levels.
- */
-extern PNG_EXPORT(void,png_set_compression_level) PNGARG((png_structp png_ptr,
-   int level));
-
-extern PNG_EXPORT(void,png_set_compression_mem_level)
-   PNGARG((png_structp png_ptr, int mem_level));
-
-extern PNG_EXPORT(void,png_set_compression_strategy)
-   PNGARG((png_structp png_ptr, int strategy));
-
-extern PNG_EXPORT(void,png_set_compression_window_bits)
-   PNGARG((png_structp png_ptr, int window_bits));
-
-extern PNG_EXPORT(void,png_set_compression_method) PNGARG((png_structp png_ptr,
-   int method));
-
-/* These next functions are called for input/output, memory, and error
- * handling.  They are in the file pngrio.c, pngwio.c, and pngerror.c,
- * and call standard C I/O routines such as fread(), fwrite(), and
- * fprintf().  These functions can be made to use other I/O routines
- * at run time for those applications that need to handle I/O in a
- * different manner by calling png_set_???_fn().  See libpng.txt for
- * more information.
- */
-
-#if !defined(PNG_NO_STDIO)
-/* Initialize the input/output for the PNG file to the default functions. */
-extern PNG_EXPORT(void,png_init_io) PNGARG((png_structp png_ptr, png_FILE_p fp));
-#endif
-
-/* Replace the (error and abort), and warning functions with user
- * supplied functions.  If no messages are to be printed you must still
- * write and use replacement functions. The replacement error_fn should
- * still do a longjmp to the last setjmp location if you are using this
- * method of error handling.  If error_fn or warning_fn is NULL, the
- * default function will be used.
- */
-
-extern PNG_EXPORT(void,png_set_error_fn) PNGARG((png_structp png_ptr,
-   png_voidp error_ptr, png_error_ptr error_fn, png_error_ptr warning_fn));
-
-/* Return the user pointer associated with the error functions */
-extern PNG_EXPORT(png_voidp,png_get_error_ptr) PNGARG((png_structp png_ptr));
-
-/* Replace the default data output functions with a user supplied one(s).
- * If buffered output is not used, then output_flush_fn can be set to NULL.
- * If PNG_WRITE_FLUSH_SUPPORTED is not defined at libpng compile time
- * output_flush_fn will be ignored (and thus can be NULL).
- */
-extern PNG_EXPORT(void,png_set_write_fn) PNGARG((png_structp png_ptr,
-   png_voidp io_ptr, png_rw_ptr write_data_fn, png_flush_ptr output_flush_fn));
-
-/* Replace the default data input function with a user supplied one. */
-extern PNG_EXPORT(void,png_set_read_fn) PNGARG((png_structp png_ptr,
-   png_voidp io_ptr, png_rw_ptr read_data_fn));
-
-/* Return the user pointer associated with the I/O functions */
-extern PNG_EXPORT(png_voidp,png_get_io_ptr) PNGARG((png_structp png_ptr));
-
-extern PNG_EXPORT(void,png_set_read_status_fn) PNGARG((png_structp png_ptr,
-   png_read_status_ptr read_row_fn));
-
-extern PNG_EXPORT(void,png_set_write_status_fn) PNGARG((png_structp png_ptr,
-   png_write_status_ptr write_row_fn));
-
-#ifdef PNG_USER_MEM_SUPPORTED
-/* Replace the default memory allocation functions with user supplied one(s). */
-extern PNG_EXPORT(void,png_set_mem_fn) PNGARG((png_structp png_ptr,
-   png_voidp mem_ptr, png_malloc_ptr malloc_fn, png_free_ptr free_fn));
-/* Return the user pointer associated with the memory functions */
-extern PNG_EXPORT(png_voidp,png_get_mem_ptr) PNGARG((png_structp png_ptr));
-#endif
-
-#if defined(PNG_READ_USER_TRANSFORM_SUPPORTED) || \
-    defined(PNG_LEGACY_SUPPORTED)
-extern PNG_EXPORT(void,png_set_read_user_transform_fn) PNGARG((png_structp
-   png_ptr, png_user_transform_ptr read_user_transform_fn));
-#endif
-
-#if defined(PNG_WRITE_USER_TRANSFORM_SUPPORTED) || \
-    defined(PNG_LEGACY_SUPPORTED)
-extern PNG_EXPORT(void,png_set_write_user_transform_fn) PNGARG((png_structp
-   png_ptr, png_user_transform_ptr write_user_transform_fn));
-#endif
-
-#if defined(PNG_READ_USER_TRANSFORM_SUPPORTED) || \
-    defined(PNG_WRITE_USER_TRANSFORM_SUPPORTED) || \
-    defined(PNG_LEGACY_SUPPORTED)
-extern PNG_EXPORT(void,png_set_user_transform_info) PNGARG((png_structp
-   png_ptr, png_voidp user_transform_ptr, int user_transform_depth,
-   int user_transform_channels));
-/* Return the user pointer associated with the user transform functions */
-extern PNG_EXPORT(png_voidp,png_get_user_transform_ptr)
-   PNGARG((png_structp png_ptr));
-#endif
-
-#ifdef PNG_USER_CHUNKS_SUPPORTED
-extern PNG_EXPORT(void,png_set_read_user_chunk_fn) PNGARG((png_structp png_ptr,
-   png_voidp user_chunk_ptr, png_user_chunk_ptr read_user_chunk_fn));
-extern PNG_EXPORT(png_voidp,png_get_user_chunk_ptr) PNGARG((png_structp
-   png_ptr));
-#endif
-
-#ifdef PNG_PROGRESSIVE_READ_SUPPORTED
-/* Sets the function callbacks for the push reader, and a pointer to a
- * user-defined structure available to the callback functions.
- */
-extern PNG_EXPORT(void,png_set_progressive_read_fn) PNGARG((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));
-
-/* returns the user pointer associated with the push read functions */
-extern PNG_EXPORT(png_voidp,png_get_progressive_ptr)
-   PNGARG((png_structp png_ptr));
-
-/* function to be called when data becomes available */
-extern PNG_EXPORT(void,png_process_data) PNGARG((png_structp png_ptr,
-   png_infop info_ptr, png_bytep buffer, png_size_t buffer_size));
-
-/* function that combines rows.  Not very much different than the
- * png_combine_row() call.  Is this even used?????
- */
-extern PNG_EXPORT(void,png_progressive_combine_row) PNGARG((png_structp png_ptr,
-   png_bytep old_row, png_bytep new_row));
-#endif /* PNG_PROGRESSIVE_READ_SUPPORTED */
-
-extern PNG_EXPORT(png_voidp,png_malloc) PNGARG((png_structp png_ptr,
-   png_uint_32 size));
-
-#if defined(PNG_1_0_X)
-#  define png_malloc_warn png_malloc
-#else
-/* Added at libpng version 1.2.4 */
-extern PNG_EXPORT(png_voidp,png_malloc_warn) PNGARG((png_structp png_ptr,
-   png_uint_32 size));
-#endif
-
-/* frees a pointer allocated by png_malloc() */
-extern PNG_EXPORT(void,png_free) PNGARG((png_structp png_ptr, png_voidp ptr));
-
-#if defined(PNG_1_0_X)
-/* Function to allocate memory for zlib. */
-extern PNG_EXPORT(voidpf,png_zalloc) PNGARG((voidpf png_ptr, uInt items,
-   uInt size));
-
-/* Function to free memory for zlib */
-extern PNG_EXPORT(void,png_zfree) PNGARG((voidpf png_ptr, voidpf ptr));
-#endif
-
-/* Free data that was allocated internally */
-extern PNG_EXPORT(void,png_free_data) PNGARG((png_structp png_ptr,
-   png_infop info_ptr, png_uint_32 free_me, int num));
-#ifdef PNG_FREE_ME_SUPPORTED
-/* Reassign responsibility for freeing existing data, whether allocated
- * by libpng or by the application */
-extern PNG_EXPORT(void,png_data_freer) PNGARG((png_structp png_ptr,
-   png_infop info_ptr, int freer, png_uint_32 mask));
-#endif
-/* assignments for png_data_freer */
-#define PNG_DESTROY_WILL_FREE_DATA 1
-#define PNG_SET_WILL_FREE_DATA 1
-#define PNG_USER_WILL_FREE_DATA 2
-/* Flags for png_ptr->free_me and info_ptr->free_me */
-#define PNG_FREE_HIST 0x0008
-#define PNG_FREE_ICCP 0x0010
-#define PNG_FREE_SPLT 0x0020
-#define PNG_FREE_ROWS 0x0040
-#define PNG_FREE_PCAL 0x0080
-#define PNG_FREE_SCAL 0x0100
-#define PNG_FREE_UNKN 0x0200
-#define PNG_FREE_LIST 0x0400
-#define PNG_FREE_PLTE 0x1000
-#define PNG_FREE_TRNS 0x2000
-#define PNG_FREE_TEXT 0x4000
-#define PNG_FREE_ALL  0x7fff
-#define PNG_FREE_MUL  0x4220 /* PNG_FREE_SPLT|PNG_FREE_TEXT|PNG_FREE_UNKN */
-
-#ifdef PNG_USER_MEM_SUPPORTED
-extern PNG_EXPORT(png_voidp,png_malloc_default) PNGARG((png_structp png_ptr,
-   png_uint_32 size));
-extern PNG_EXPORT(void,png_free_default) PNGARG((png_structp png_ptr,
-   png_voidp ptr));
-#endif
-
-extern PNG_EXPORT(png_voidp,png_memcpy_check) PNGARG((png_structp png_ptr,
-   png_voidp s1, png_voidp s2, png_uint_32 size));
-
-extern PNG_EXPORT(png_voidp,png_memset_check) PNGARG((png_structp png_ptr,
-   png_voidp s1, int value, png_uint_32 size));
-
-#if defined(USE_FAR_KEYWORD)  /* memory model conversion function */
-extern void *png_far_to_near PNGARG((png_structp png_ptr,png_voidp ptr,
-   int check));
-#endif /* USE_FAR_KEYWORD */
-
-/* Fatal error in PNG image of libpng - can't continue */
-extern PNG_EXPORT(void,png_error) PNGARG((png_structp png_ptr,
-   png_const_charp error_message));
-
-/* The same, but the chunk name is prepended to the error string. */
-extern PNG_EXPORT(void,png_chunk_error) PNGARG((png_structp png_ptr,
-   png_const_charp error_message));
-
-/* Non-fatal error in libpng.  Can continue, but may have a problem. */
-extern PNG_EXPORT(void,png_warning) PNGARG((png_structp png_ptr,
-   png_const_charp warning_message));
-
-/* Non-fatal error in libpng, chunk name is prepended to message. */
-extern PNG_EXPORT(void,png_chunk_warning) PNGARG((png_structp png_ptr,
-   png_const_charp warning_message));
-
-/* The png_set_<chunk> functions are for storing values in the png_info_struct.
- * Similarly, the png_get_<chunk> calls are used to read values from the
- * png_info_struct, either storing the parameters in the passed variables, or
- * setting pointers into the png_info_struct where the data is stored.  The
- * png_get_<chunk> functions return a non-zero value if the data was available
- * in info_ptr, or return zero and do not change any of the parameters if the
- * data was not available.
- *
- * These functions should be used instead of directly accessing png_info
- * to avoid problems with future changes in the size and internal layout of
- * png_info_struct.
- */
-/* Returns "flag" if chunk data is valid in info_ptr. */
-extern PNG_EXPORT(png_uint_32,png_get_valid) PNGARG((png_structp png_ptr,
-png_infop info_ptr, png_uint_32 flag));
-
-/* Returns number of bytes needed to hold a transformed row. */
-extern PNG_EXPORT(png_uint_32,png_get_rowbytes) PNGARG((png_structp png_ptr,
-png_infop info_ptr));
-
-#if defined(PNG_INFO_IMAGE_SUPPORTED)
-/* Returns row_pointers, which is an array of pointers to scanlines that was
-returned from png_read_png(). */
-extern PNG_EXPORT(png_bytepp,png_get_rows) PNGARG((png_structp png_ptr,
-png_infop info_ptr));
-/* Set row_pointers, which is an array of pointers to scanlines for use
-by png_write_png(). */
-extern PNG_EXPORT(void,png_set_rows) PNGARG((png_structp png_ptr,
-   png_infop info_ptr, png_bytepp row_pointers));
-#endif
-
-/* Returns number of color channels in image. */
-extern PNG_EXPORT(png_byte,png_get_channels) PNGARG((png_structp png_ptr,
-png_infop info_ptr));
-
-#ifdef PNG_EASY_ACCESS_SUPPORTED
-/* Returns image width in pixels. */
-extern PNG_EXPORT(png_uint_32, png_get_image_width) PNGARG((png_structp
-png_ptr, png_infop info_ptr));
-
-/* Returns image height in pixels. */
-extern PNG_EXPORT(png_uint_32, png_get_image_height) PNGARG((png_structp
-png_ptr, png_infop info_ptr));
-
-/* Returns image bit_depth. */
-extern PNG_EXPORT(png_byte, png_get_bit_depth) PNGARG((png_structp
-png_ptr, png_infop info_ptr));
-
-/* Returns image color_type. */
-extern PNG_EXPORT(png_byte, png_get_color_type) PNGARG((png_structp
-png_ptr, png_infop info_ptr));
-
-/* Returns image filter_type. */
-extern PNG_EXPORT(png_byte, png_get_filter_type) PNGARG((png_structp
-png_ptr, png_infop info_ptr));
-
-/* Returns image interlace_type. */
-extern PNG_EXPORT(png_byte, png_get_interlace_type) PNGARG((png_structp
-png_ptr, png_infop info_ptr));
-
-/* Returns image compression_type. */
-extern PNG_EXPORT(png_byte, png_get_compression_type) PNGARG((png_structp
-png_ptr, png_infop info_ptr));
-
-/* Returns image resolution in pixels per meter, from pHYs chunk data. */
-extern PNG_EXPORT(png_uint_32, png_get_pixels_per_meter) PNGARG((png_structp
-png_ptr, png_infop info_ptr));
-extern PNG_EXPORT(png_uint_32, png_get_x_pixels_per_meter) PNGARG((png_structp
-png_ptr, png_infop info_ptr));
-extern PNG_EXPORT(png_uint_32, png_get_y_pixels_per_meter) PNGARG((png_structp
-png_ptr, png_infop info_ptr));
-
-/* Returns pixel aspect ratio, computed from pHYs chunk data.  */
-#ifdef PNG_FLOATING_POINT_SUPPORTED
-extern PNG_EXPORT(float, png_get_pixel_aspect_ratio) PNGARG((png_structp
-png_ptr, png_infop info_ptr));
-#endif
-
-/* Returns image x, y offset in pixels or microns, from oFFs chunk data. */
-extern PNG_EXPORT(png_int_32, png_get_x_offset_pixels) PNGARG((png_structp
-png_ptr, png_infop info_ptr));
-extern PNG_EXPORT(png_int_32, png_get_y_offset_pixels) PNGARG((png_structp
-png_ptr, png_infop info_ptr));
-extern PNG_EXPORT(png_int_32, png_get_x_offset_microns) PNGARG((png_structp
-png_ptr, png_infop info_ptr));
-extern PNG_EXPORT(png_int_32, png_get_y_offset_microns) PNGARG((png_structp
-png_ptr, png_infop info_ptr));
-
-#endif /* PNG_EASY_ACCESS_SUPPORTED */
-
-/* Returns pointer to signature string read from PNG header */
-extern PNG_EXPORT(png_bytep,png_get_signature) PNGARG((png_structp png_ptr,
-png_infop info_ptr));
-
-#if defined(PNG_bKGD_SUPPORTED)
-extern PNG_EXPORT(png_uint_32,png_get_bKGD) PNGARG((png_structp png_ptr,
-   png_infop info_ptr, png_color_16p *background));
-#endif
-
-#if defined(PNG_bKGD_SUPPORTED)
-extern PNG_EXPORT(void,png_set_bKGD) PNGARG((png_structp png_ptr,
-   png_infop info_ptr, png_color_16p background));
-#endif
-
-#if defined(PNG_cHRM_SUPPORTED)
-#ifdef PNG_FLOATING_POINT_SUPPORTED
-extern PNG_EXPORT(png_uint_32,png_get_cHRM) PNGARG((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));
-#endif
-#ifdef PNG_FIXED_POINT_SUPPORTED
-extern PNG_EXPORT(png_uint_32,png_get_cHRM_fixed) PNGARG((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));
-#endif
-#endif
-
-#if defined(PNG_cHRM_SUPPORTED)
-#ifdef PNG_FLOATING_POINT_SUPPORTED
-extern PNG_EXPORT(void,png_set_cHRM) PNGARG((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));
-#endif
-#ifdef PNG_FIXED_POINT_SUPPORTED
-extern PNG_EXPORT(void,png_set_cHRM_fixed) PNGARG((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));
-#endif
-#endif
-
-#if defined(PNG_gAMA_SUPPORTED)
-#ifdef PNG_FLOATING_POINT_SUPPORTED
-extern PNG_EXPORT(png_uint_32,png_get_gAMA) PNGARG((png_structp png_ptr,
-   png_infop info_ptr, double *file_gamma));
-#endif
-extern PNG_EXPORT(png_uint_32,png_get_gAMA_fixed) PNGARG((png_structp png_ptr,
-   png_infop info_ptr, png_fixed_point *int_file_gamma));
-#endif
-
-#if defined(PNG_gAMA_SUPPORTED)
-#ifdef PNG_FLOATING_POINT_SUPPORTED
-extern PNG_EXPORT(void,png_set_gAMA) PNGARG((png_structp png_ptr,
-   png_infop info_ptr, double file_gamma));
-#endif
-extern PNG_EXPORT(void,png_set_gAMA_fixed) PNGARG((png_structp png_ptr,
-   png_infop info_ptr, png_fixed_point int_file_gamma));
-#endif
-
-#if defined(PNG_hIST_SUPPORTED)
-extern PNG_EXPORT(png_uint_32,png_get_hIST) PNGARG((png_structp png_ptr,
-   png_infop info_ptr, png_uint_16p *hist));
-#endif
-
-#if defined(PNG_hIST_SUPPORTED)
-extern PNG_EXPORT(void,png_set_hIST) PNGARG((png_structp png_ptr,
-   png_infop info_ptr, png_uint_16p hist));
-#endif
-
-extern PNG_EXPORT(png_uint_32,png_get_IHDR) PNGARG((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));
-
-extern PNG_EXPORT(void,png_set_IHDR) PNGARG((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));
-
-#if defined(PNG_oFFs_SUPPORTED)
-extern PNG_EXPORT(png_uint_32,png_get_oFFs) PNGARG((png_structp png_ptr,
-   png_infop info_ptr, png_int_32 *offset_x, png_int_32 *offset_y,
-   int *unit_type));
-#endif
-
-#if defined(PNG_oFFs_SUPPORTED)
-extern PNG_EXPORT(void,png_set_oFFs) PNGARG((png_structp png_ptr,
-   png_infop info_ptr, png_int_32 offset_x, png_int_32 offset_y,
-   int unit_type));
-#endif
-
-#if defined(PNG_pCAL_SUPPORTED)
-extern PNG_EXPORT(png_uint_32,png_get_pCAL) PNGARG((png_structp png_ptr,
-   png_infop info_ptr, png_charp *purpose, png_int_32 *X0, png_int_32 *X1,
-   int *type, int *nparams, png_charp *units, png_charpp *params));
-#endif
-
-#if defined(PNG_pCAL_SUPPORTED)
-extern PNG_EXPORT(void,png_set_pCAL) PNGARG((png_structp png_ptr,
-   png_infop info_ptr, png_charp purpose, png_int_32 X0, png_int_32 X1,
-   int type, int nparams, png_charp units, png_charpp params));
-#endif
-
-#if defined(PNG_pHYs_SUPPORTED)
-extern PNG_EXPORT(png_uint_32,png_get_pHYs) PNGARG((png_structp png_ptr,
-   png_infop info_ptr, png_uint_32 *res_x, png_uint_32 *res_y, int *unit_type));
-#endif
-
-#if defined(PNG_pHYs_SUPPORTED)
-extern PNG_EXPORT(void,png_set_pHYs) PNGARG((png_structp png_ptr,
-   png_infop info_ptr, png_uint_32 res_x, png_uint_32 res_y, int unit_type));
-#endif
-
-extern PNG_EXPORT(png_uint_32,png_get_PLTE) PNGARG((png_structp png_ptr,
-   png_infop info_ptr, png_colorp *palette, int *num_palette));
-
-extern PNG_EXPORT(void,png_set_PLTE) PNGARG((png_structp png_ptr,
-   png_infop info_ptr, png_colorp palette, int num_palette));
-
-#if defined(PNG_sBIT_SUPPORTED)
-extern PNG_EXPORT(png_uint_32,png_get_sBIT) PNGARG((png_structp png_ptr,
-   png_infop info_ptr, png_color_8p *sig_bit));
-#endif
-
-#if defined(PNG_sBIT_SUPPORTED)
-extern PNG_EXPORT(void,png_set_sBIT) PNGARG((png_structp png_ptr,
-   png_infop info_ptr, png_color_8p sig_bit));
-#endif
-
-#if defined(PNG_sRGB_SUPPORTED)
-extern PNG_EXPORT(png_uint_32,png_get_sRGB) PNGARG((png_structp png_ptr,
-   png_infop info_ptr, int *intent));
-#endif
-
-#if defined(PNG_sRGB_SUPPORTED)
-extern PNG_EXPORT(void,png_set_sRGB) PNGARG((png_structp png_ptr,
-   png_infop info_ptr, int intent));
-extern PNG_EXPORT(void,png_set_sRGB_gAMA_and_cHRM) PNGARG((png_structp png_ptr,
-   png_infop info_ptr, int intent));
-#endif
-
-#if defined(PNG_iCCP_SUPPORTED)
-extern PNG_EXPORT(png_uint_32,png_get_iCCP) PNGARG((png_structp png_ptr,
-   png_infop info_ptr, png_charpp name, int *compression_type,
-   png_charpp profile, png_uint_32 *proflen));
-   /* Note to maintainer: profile should be png_bytepp */
-#endif
-
-#if defined(PNG_iCCP_SUPPORTED)
-extern PNG_EXPORT(void,png_set_iCCP) PNGARG((png_structp png_ptr,
-   png_infop info_ptr, png_charp name, int compression_type,
-   png_charp profile, png_uint_32 proflen));
-   /* Note to maintainer: profile should be png_bytep */
-#endif
-
-#if defined(PNG_sPLT_SUPPORTED)
-extern PNG_EXPORT(png_uint_32,png_get_sPLT) PNGARG((png_structp png_ptr,
-   png_infop info_ptr, png_sPLT_tpp entries));
-#endif
-
-#if defined(PNG_sPLT_SUPPORTED)
-extern PNG_EXPORT(void,png_set_sPLT) PNGARG((png_structp png_ptr,
-   png_infop info_ptr, png_sPLT_tp entries, int nentries));
-#endif
-
-#if defined(PNG_TEXT_SUPPORTED)