diff options
Diffstat (limited to 'security/nss/lib/jar/jarfile.h')
-rw-r--r-- | security/nss/lib/jar/jarfile.h | 76 |
1 files changed, 76 insertions, 0 deletions
diff --git a/security/nss/lib/jar/jarfile.h b/security/nss/lib/jar/jarfile.h new file mode 100644 index 000000000..52d4f1fc7 --- /dev/null +++ b/security/nss/lib/jar/jarfile.h @@ -0,0 +1,76 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + +/* + * JARFILE.H + * + * Certain constants and structures for the archive format. + * + */ + +/* ZIP */ +struct ZipLocal { /* 30 bytes */ + char signature[4]; + char word[2]; + char bitflag[2]; + char method[2]; + char time[2]; + char date[2]; + char crc32[4]; + char size[4]; + char orglen[4]; + char filename_len[2]; + char extrafield_len[2]; +}; + +struct ZipCentral { /* 46 bytes */ + char signature[4]; + char version_made_by[2]; + char version[2]; + char bitflag[2]; + char method[2]; + char time[2]; + char date[2]; + char crc32[4]; + char size[4]; + char orglen[4]; + char filename_len[2]; + char extrafield_len[2]; + char commentfield_len[2]; + char diskstart_number[2]; + char internal_attributes[2]; + char external_attributes[4]; + char localhdr_offset[4]; +}; + +struct ZipEnd { /* 22 bytes */ + char signature[4]; + char disk_nr[2]; + char start_central_dir[2]; + char total_entries_disk[2]; + char total_entries_archive[2]; + char central_dir_size[4]; + char offset_central_dir[4]; + char commentfield_len[2]; +}; + +#define LSIG 0x04034B50l +#define CSIG 0x02014B50l +#define ESIG 0x06054B50l + +/* TAR */ +union TarEntry { /* 512 bytes */ + struct header { /* 257 bytes */ + char filename[100]; + char mode[8]; + char uid[8]; + char gid[8]; + char size[12]; + char time[12]; + char checksum[8]; + char linkflag; + char linkname[100]; + } val; + char buffer[512]; +}; |