PROXY  WHOIS  RQUOTE  TEXTS  SOFT  FOREX  BBOARD
 Music  Philosophy  Code  Literature  Russian

= ROOT|Technical|Code_Examples|Java|launcher|manifest_info.h =

page 1 of 2



/*
 * @(#)manifest_info.h	1.14 05/12/05
 *
 * Copyright 2006 Sun Microsystems, Inc. All rights reserved.
 * SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
 */

#ifndef _MANIFEST_INFO_H
#define	_MANIFEST_INFO_H

#include <sys/types.h>

/*
 * Zip file header signatures
 */
#define	SIGSIZ 4		    /* size of all header signatures */
#define	LOCSIG 0x04034b50L	    /* "PK\003\004" */
#define	EXTSIG 0x08074b50L	    /* "PK\007\008" */
#define	CENSIG 0x02014b50L	    /* "PK\001\002" */
#define	ENDSIG 0x06054b50L	    /* "PK\005\006" */

/*
 * Header sizes including signatures
 */
#define	LOCHDR 30
#define	EXTHDR 16
#define	CENHDR 46
#define	ENDHDR 22

/*
 * Header field access macros
 */
#define	CH(b, n) (((unsigned char *)(b))[n])
#define	SH(b, n) (CH(b, n) | (CH(b, n+1) << 8))
#define	LG(b, n) (SH(b, n) | (SH(b, n+2) << 16))
#define	GETSIG(b) LG(b, 0)

/*
 * Macros for getting local file (LOC) header fields
 */
#define	LOCVER(b) SH(b, 4)	    /* version needed to extract */
#define	LOCFLG(b) SH(b, 6)	    /* general purpose bit flags */
#define	LOCHOW(b) SH(b, 8)	    /* compression method */
#define	LOCTIM(b) LG(b, 10)	    /* modification time */
#define	LOCCRC(b) LG(b, 14)	    /* crc of uncompressed data */
#define	LOCSIZ(b) LG(b, 18)	    /* compressed data size */
#define	LOCLEN(b) LG(b, 22)	    /* uncompressed data size */
#define	LOCNAM(b) SH(b, 26)	    /* filename length */
#define	LOCEXT(b) SH(b, 28)	    /* extra field length */

/*
 * Macros for getting extra local (EXT) header fields
 */
#define	EXTCRC(b) LG(b, 4)	    /* crc of uncompressed data */
#define	EXTSIZ(b) LG(b, 8)	    /* compressed size */
#define	EXTLEN(b) LG(b, 12)	    /* uncompressed size */

/*
 * Macros for getting central directory header (CEN) fields
 */
#define	CENVEM(b) SH(b, 4)	    /* version made by */
#define	CENVER(b) SH(b, 6)	    /* version needed to extract */
#define	CENFLG(b) SH(b, 8)	    /* general purpose bit flags */
#define	CENHOW(b) SH(b, 10)	    /* compression method */
#define	CENTIM(b) LG(b, 12)	    /* modification time */
#define	CENCRC(b) LG(b, 16)	    /* crc of uncompressed data */
#define	CENSIZ(b) LG(b, 20)	    /* compressed size */
#define	CENLEN(b) LG(b, 24)	    /* uncompressed size */
#define	CENNAM(b) SH(b, 28)	    /* length of filename */
#define	CENEXT(b) SH(b, 30)	    /* length of extra field */
#define	CENCOM(b) SH(b, 32)	    /* file comment length */
#define	CENDSK(b) SH(b, 34)	    /* disk number start */
#define	CENATT(b) SH(b, 36)	    /* internal file attributes */
#define	CENATX(b) LG(b, 38)	    /* external file attributes */
#define	CENOFF(b) LG(b, 42)	    /* offset of local header */

/*
 * Macros for getting end of central directory header (END) fields
 */
#define	ENDSUB(b) SH(b, 8)	    /* number of entries on this disk */
#define	ENDTOT(b) SH(b, 10)	    /* total number of entries */
#define	ENDSIZ(b) LG(b, 12)	    /* central directory size */
#define	ENDOFF(b) LG(b, 16)	    /* central directory offset */
#define	ENDCOM(b) SH(b, 20)	    /* size of zip file comment */

/*
 * A comment of maximum length of 64kb can follow the END record. This
 * is the furthest the END record can be from the end of the file.
 */
#define	END_MAXLEN	(0xFFFF + ENDHDR)

/*
 * Supported compression methods.
 */
#define	STORED	    0
#define	DEFLATED    8

/*
 * Information from the CEN entry to inflate a file.
 */
=1=

= PAGE 1 = NEXT > |2

UP TO ROOT | UP TO DIR

Google
 


E-mail Facebook Google Digg del.icio.us BlinkList Fark Furl Ma.gnolia Netscape NewsVine Reddit Slashdot Spurl StumbleUpon Technorati YahooMyWeb LiveJournal Blogmarks TwitThis Live News2.ru BobrDobr.ru Memori.ru MoeMesto.ru

0.0145428 wallclock secs ( 0.01 usr + 0.00 sys = 0.01 CPU)