| /* 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]; |
| }; |