Proyectos de Subversion Moodle

Rev

| Ultima modificación | Ver Log |

Rev Autor Línea Nro. Línea
1 efrain 1
<?php
2
 
3
declare(strict_types=1);
4
 
5
namespace ZipStream\Zip64;
6
 
7
use ZipStream\PackField;
8
 
9
/**
10
 * @internal
11
 */
12
abstract class DataDescriptor
13
{
14
    private const SIGNATURE = 0x08074b50;
15
 
16
    public static function generate(
17
        int $crc32UncompressedData,
18
        int $compressedSize,
19
        int $uncompressedSize,
20
    ): string {
21
        return PackField::pack(
22
            new PackField(format: 'V', value: self::SIGNATURE),
23
            new PackField(format: 'V', value: $crc32UncompressedData),
24
            new PackField(format: 'P', value: $compressedSize),
25
            new PackField(format: 'P', value: $uncompressedSize),
26
        );
27
    }
28
}