Chaque fichier du manifeste contient les informations suivantes :
Taille en octets | Description |
---|---|
4 octets | Longueur du nom de fichier en octets |
?? | Nom de fichier (longueur basée sur la valeur précédente) |
4 octets | Taille du fichier décompressé en octets |
4 octets | Timestamp Unix du fichier |
4 octets | Taille du fichier compressé en octets |
4 octets | Somme de contrôle CRC32 du contenu décompressé du fichier |
4 octets | Drapeaux bitmappés spécifiques au fichier |
4 octets | Longueur des métadonnées du fichier sérialisées (0 si aucune) |
?? | métadonnées du fichier sérialisées, stockées dans un format serialize() |
A noter qu'à partir de l'API 1.1.1, les répertoires vides sont stockés comme des noms de fichier
avec un slash final comme mon/repertoire/
Les valeurs reconnues de drapeaux bitmappés spécifiques au fichier sont :
Valeur | Description |
---|---|
0x000001FF |
Ces bits sont réservés pour définir des permissions spécifiques au fichier. Celles-ci sont utilisées pour fstat() et peuvent être utilisées pour recréer les permissions souhaitées en cas d'extraction. |
0x00001000 |
Si présent, le fichier est compressé grâce à zlib DEFLATE |
0x00002000 |
Si présent, le fichier est compressé grâce à bzip2 |