1#ifndef FILETYPE_TYPES_ARCHIVE_HPP
2#define FILETYPE_TYPES_ARCHIVE_HPP
6#include "filetype/type.hpp"
11using Type = ::filetype::Type;
19inline const std::array<uint8_t, 4> ZIP_MAGIC = {0x50, 0x4B, 0x03, 0x04};
20inline const Type TYPE_ZIP{
"application/zip",
"zip"};
24inline const std::array<uint8_t, 7> RAR_MAGIC = {0x52, 0x61, 0x72, 0x21, 0x1A, 0x07, 0x00};
25inline const Type TYPE_RAR{
"application/x-rar-compressed",
"rar"};
29inline const std::array<uint8_t, 5> TAR_MAGIC = {0x75, 0x73, 0x74, 0x61, 0x72};
30inline const Type TYPE_TAR{
"application/x-tar",
"tar"};
34inline const std::array<uint8_t, 6> SEVEN_Z_MAGIC = {0x37, 0x7A, 0xBC, 0xAF, 0x27, 0x1C};
35inline const Type TYPE_7Z{
"application/x-7z-compressed",
"7z"};
39inline const std::array<uint8_t, 3> GZ_MAGIC = {0x1F, 0x8B, 0x08};
40inline const Type TYPE_GZ{
"application/gzip",
"gz"};
41inline const Type TYPE_GZIP{
"application/gzip",
"gzip"};
45inline const std::array<uint8_t, 3> BZ2_MAGIC = {0x42, 0x5A, 0x68};
46inline const Type TYPE_BZ2{
"application/x-bzip2",
"bz2"};
47inline const Type TYPE_BZIP2{
"application/x-bzip2",
"bzip2"};
51inline const std::array<uint8_t, 6> XZ_MAGIC = {0xFD, 0x37, 0x7A, 0x58, 0x5A, 0x00};
52inline const Type TYPE_XZ{
"application/x-xz",
"xz"};
56inline const std::array<uint8_t, 2> Z_MAGIC = {0x1F, 0x9D};
57inline const Type TYPE_Z{
"application/x-compress",
"Z"};
61inline const std::array<uint8_t, 4> LZ_MAGIC = {0x4C, 0x5A, 0x49, 0x50};
62inline const Type TYPE_LZ{
"application/x-lzip",
"lz"};