|
|
- # Cuper
- ## RIZ file header
- ```plain
- 32 bits
- <---------------------------------------------->
- 16 bits 8 bits
- <----------------------> <---------->
- +----------------------------------------------+ <----------------------+
- 0 | IDENTIFICATOR | |
- +----------------------------------------------+ |
- 1 | ARCH | OS | |
- +----------------------------------------------+ |
- 2 | TIME | |
- +----------------------------------------------+ |
- 3 | TYPE | PROT. | VER | Base informations. |
- +----------------------------------------------+ Frame 0-9 |
- 4 | HL | MDL | + OPTIONS. |
- +----------------------------------------------+ |
- 5-9 | RESERVED | |
- +----------------------------------------------+ |
- | OPTIONS | <----------------------+
- +----------------------------------------------+ <----------------------+
- | METADATA | |
- +----------------------------------------------+ Contents. |
- | PAYLOAD | Frame post-OPTIONS-n. |
- +----------------------------------------------+ <----------------------+
- ```
-
- **Description**
-
- | Nom du champ | Position | Longeur (bits) | Valeur(s) |
- |:-------------|:--------:|:--------------:|:----------|
- | **Identificator** | 0 | 32 | `0x7f 0x52 0x49 0x5a` |
- | **Arch** | 4 | 16 | `0x0000` = no arch |
- |||| `0x0001` = i386 |
- |||| `0x0002` = x86_64 |
- | **OS** | 6 | 16 | `0x0000` = no OS |
- |||| `0x0001` = Linux |
- | **Time** | 8 | 32 | *current timestamp* |
- | **Type** | 12 | 16 | `0x0000` = container |
- |||| `0x0001` = meta container |
- | **Protected** | 14 | 8 | `0x00` = unprotected |
- |||| `0x01` = AES-128 |
- |||| `0x02` = AES-192 |
- |||| `0x04` = AES-256 |
- | **Version** | 15 | 8 | `0x00` = first (current) |
- | **HL** | 16 | 16 | `0x000a` = no options |
- | **MDL** | 18 | 16 | `0x0000` = no metadata |
- | **RESERVED** | 20 | 120 | `0x0000` = not used |
-
- * **ARCH**: l'identifiant de la machine cible (architecture du processeur).
- * **OS**: l'identifiant de la machine cible (environnement d'execution).
- * **TIME**: le timestamp de compilation.
- * **TYPE**: le type de conteneur, ex: conteneur, méta-conteneur, etc...
- * **VER**: la version de l'entête.
- * **HL**: la taille de l'entête en **mot de 32 bits**.
- * **MDL**: la taille des méta-données en **mot de 32 bits**.
- * **RESERVED**: 20 octets réservés.
- * **OPTIONS**: des données optionnels.
- * **METADATA**: les informations du contenu (see Cupfile).
- * **PAYLOAD**: le contenu.
-
- > **NOTE**:
- * Si `HL` == `10d` (`000ah`, frame 0 to 9), alors il n'y à pas d'options.
- * Si `MDL` == `0d` (`0000h`), alors il n'y à pas de méta-données.
|