1 /* $Id: jartool.h,v 1.1.1.1 2006/04/17 18:44:37 tromey Exp $ 2 3 $Log: jartool.h,v $ 4 Revision 1.1.1.1 2006/04/17 18:44:37 tromey 5 Imported fastjar 6 7 Revision 1.4 2000/08/24 15:23:35 cory 8 Set version number since I think we can let this one out. 9 10 Revision 1.3 2000/08/23 19:42:17 cory 11 Added support for more Unix platforms. The following code has been hacked 12 to work on AIX, Solaris, True 64, and HP-UX. 13 Added bigendian check. Probably works on most big and little endian platforms 14 now. 15 16 Revision 1.2 1999/12/06 03:47:20 toast 17 fixing version string 18 19 Revision 1.1.1.1 1999/12/06 03:08:24 toast 20 initial checkin.. 21 22 23 24 Revision 1.6 1999/05/10 09:16:08 burnsbr 25 *** empty log message *** 26 27 Revision 1.5 1999/04/27 10:04:20 burnsbr 28 configure support 29 30 Revision 1.4 1999/04/26 02:36:15 burnsbr 31 changed RDSZ to 4096 from 512 32 33 Revision 1.3 1999/04/23 12:00:29 burnsbr 34 modified zipentry struct 35 36 37 */ 38 39 /* 40 jartool.h - generic defines, struct defs etc. 41 Copyright (C) 1999, 2005 Bryan Burns 42 43 This program is free software; you can redistribute it and/or 44 modify it under the terms of the GNU General Public License 45 as published by the Free Software Foundation; either version 2 46 of the License, or (at your option) any later version. 47 48 This program is distributed in the hope that it will be useful, 49 but WITHOUT ANY WARRANTY; without even the implied warranty of 50 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 51 GNU General Public License for more details. 52 53 You should have received a copy of the GNU General Public License 54 along with this program; if not, write to the Free Software 55 Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 56 */ 57 58 #ifndef __FASTJAR_JARTOOL_H__ 59 #define __FASTJAR_JARTOOL_H__ 60 61 #include <sys/types.h> 62 #include "config.h" 63 64 #define ACTION_NONE 0 65 #define ACTION_CREATE 1 66 #define ACTION_EXTRACT 2 67 #define ACTION_UPDATE 3 68 #define ACTION_LIST 4 69 #define ACTION_INDEX 5 70 71 #define TRUE 1 72 #define FALSE 0 73 74 /* Amount of bytes to read at a time. You can change this to optimize for 75 your system */ 76 #define RDSZ 4096 77 78 /* Change these to match your system: 79 ub1 == unsigned 1 byte word 80 ub2 == unsigned 2 byte word 81 ub4 == unsigned 4 byte word 82 */ 83 #if SIZEOF_CHAR == 1 84 typedef unsigned char ub1; 85 #else 86 typedef u_int8_t ub1; 87 #endif 88 89 #if SIZEOF_SHORT == 2 90 typedef unsigned short ub2; 91 #elif SIZEOF_INT == 2 92 typedef unsigned int ub2; 93 #else 94 typedef u_int16_t ub2; 95 #endif 96 97 #if SIZEOF_INT == 4 98 typedef unsigned int ub4; 99 #elif SIZEOF_LONG == 4 100 typedef unsigned long ub4; 101 #elif defined(HAVE_LONG_LONG) && SIZEOF_LONG_LONG == 4 102 typedef unsigned long long ub4; 103 #else 104 typedef u_int32_t ub4; 105 #endif 106 107 struct zipentry { 108 ub2 mod_time; 109 ub2 mod_date; 110 ub4 crc; 111 ub4 csize; 112 ub4 usize; 113 ub4 offset; 114 ub1 compressed; 115 ub2 flags; 116 char *filename; 117 118 struct zipentry *next_entry; 119 }; 120 121 typedef struct zipentry zipentry; 122 123 #ifndef __GNUC__ 124 #define __attribute__() 125 #endif 126 127 #endif /* __FASTJAR_JARTOOL_H__ */ 128