Cada arquivo no manifesto contém as seguintes informações:
Tamanho em bytes | Descrição |
---|---|
4 bytes | Comprimento do nome do arquivo em bytes |
?? | Nome do arquivo (comprimento especificado anteriormente) |
4 bytes | Tamanho do arquivo não compactado em bytes |
4 bytes | Timestamp Unix do arquivo |
4 bytes | Tamanho do arquivo compactado em bytes |
4 bytes | Soma de verificação CRC32 do conteúdo do arquivo não compactado |
4 bytes | Sinalizadores específicos de arquivo mapeados em bits |
4 bytes | Comprimento de metadados de arquivo serializado (0 para nenhum) |
?? | Metadados de arquivo serializados, armazenados no formato serialize() |
Observe que, a partir da versão 1.1.1 da API, diretórios vazios são armazenados como nomes de arquivos
com uma barra final como meu/diretorio/
.
Os valores reconhecidos de mapa de bits específicos para arquivo são:
Valor | Descrição |
---|---|
0x000001FF |
Esses bits são reservados para definir permissões específicas de um arquivo. As permissões são usadas para fstat() e podem ser usadas para recriar as permissões desejadas na extração. |
0x00001000 |
Se definido, este arquivo será compactado com DEFLATE zlib. |
0x00002000 |
Se definido, este arquivo será compactado com bzip2. |