X-Git-Url: http://git.sourceforge.jp/view?a=blobdiff_plain;f=gcc%2Fjava%2Fzipfile.h;h=d78226a495cbf83c27e2cdfa956e5005044a325a;hb=f31d5206a713e983c4600384e642d69efeffa085;hp=66aa1d8a348b76d04f0c6771ad2a4178fcbd7fba;hpb=fa334f7d14c2fb90bbef3116bf16a0d14d67a2ba;p=pf3gnuchains%2Fgcc-fork.git diff --git a/gcc/java/zipfile.h b/gcc/java/zipfile.h index 66aa1d8a348..d78226a495c 100644 --- a/gcc/java/zipfile.h +++ b/gcc/java/zipfile.h @@ -1,32 +1,37 @@ /* Definitions for using a zipped' archive. + Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2007 + Free Software Foundation, Inc. - Copyright (C) 1996, 97-99, 2000 Free Software Foundation, Inc. +This file is part of GCC. -This program is free software; you can redistribute it and/or modify +GCC 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, or (at your option) +the Free Software Foundation; either version 3, or (at your option) any later version. -This program is distributed in the hope that it will be useful, +GCC 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 GNU CC; see the file COPYING. If not, write to -the Free Software Foundation, 59 Temple Place - Suite 330, -Boston, MA 02111-1307, USA. +along with GCC; see the file COPYING3. If not see +. Java and all Java-based marks are trademarks or registered trademarks of Sun Microsystems, Inc. in the United States and other countries. The Free Software Foundation is independent of Sun Microsystems, Inc. */ struct ZipFile { + char *name; int fd; long size; long count; long dir_size; char *central_directory; + + /* Chain together in SeenZipFiles. */ + struct ZipFile *next; }; typedef struct ZipFile ZipFile; @@ -34,9 +39,12 @@ typedef struct ZipFile ZipFile; struct ZipDirectory { int direntry_size; int filename_offset; - long size; /* length of file */ - long filestart; /* start of file in archive */ - long filename_length; + int compression_method; + unsigned size; /* length of file */ + unsigned uncompressed_size; /* length of uncompressed data */ + unsigned filestart; /* start of file in archive */ + ZipFile *zipf; + int filename_length; /* char mid_padding[...]; */ /* char filename[filename_length]; */ /* char end_padding[...]; */ @@ -44,22 +52,17 @@ struct ZipDirectory { typedef struct ZipDirectory ZipDirectory; -struct ZipFileCache { - struct ZipFile z; - struct ZipFileCache *next; - char *name; -}; - -extern struct ZipFileCache *SeenZipFiles; +extern struct ZipFile *SeenZipFiles; #define ZIPDIR_FILENAME(ZIPD) ((char*)(ZIPD)+(ZIPD)->filename_offset) #define ZIPDIR_NEXT(ZIPD) \ ((ZipDirectory*)((char*)(ZIPD)+(ZIPD)->direntry_size)) #define ZIPMAGIC 0x504b0304 +#define ZIPEMPTYMAGIC 0x504b0506 -extern ZipFile * opendir_in_zip PARAMS ((const char *, int)); -extern int read_zip_archive PARAMS ((ZipFile *)); -#ifdef JCF_ZIP -extern int open_in_zip PARAMS ((struct JCF *, const char *, - const char *, int)); +extern ZipFile * opendir_in_zip (const char *, int); +extern int read_zip_archive (ZipFile *); +#ifdef GCC_JCF_H +extern int read_zip_member (JCF*, ZipDirectory*, ZipFile *); +extern int open_in_zip (struct JCF *, const char *, const char *, int); #endif