# 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.