1#ifndef FILETYPE_TYPES_DOCUMENT_HPP
2#define FILETYPE_TYPES_DOCUMENT_HPP
6#include "filetype/type.hpp"
11using Type = ::filetype::Type;
19inline const std::array<uint8_t, 4> PDF_MAGIC = {0x25, 0x50, 0x44, 0x46};
20inline const Type TYPE_PDF{
"application/pdf",
"pdf"};
24inline const std::array<uint8_t, 8> DOC_MAGIC = {0xD0, 0xCF, 0x11, 0xE0, 0xA1, 0xB1, 0x1A, 0xE1};
25inline const Type TYPE_DOC{
"application/msword",
"doc"};
30inline const std::array<uint8_t, 4> DOCX_MAGIC = {0x50, 0x4B, 0x03, 0x04};
31inline const Type TYPE_DOCX{
32 "application/vnd.openxmlformats-officedocument.wordprocessingml.document",
"docx"};
36inline const std::array<uint8_t, 8> XLS_MAGIC = {0xD0, 0xCF, 0x11, 0xE0, 0xA1, 0xB1, 0x1A, 0xE1};
37inline const Type TYPE_XLS{
"application/vnd.ms-excel",
"xls"};
42inline const std::array<uint8_t, 4> XLSX_MAGIC = {0x50, 0x4B, 0x03, 0x04};
43inline const Type TYPE_XLSX{
"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
48inline const std::array<uint8_t, 8> PPT_MAGIC = {0xD0, 0xCF, 0x11, 0xE0, 0xA1, 0xB1, 0x1A, 0xE1};
49inline const Type TYPE_PPT{
"application/vnd.ms-powerpoint",
"ppt"};
54inline const std::array<uint8_t, 4> PPTX_MAGIC = {0x50, 0x4B, 0x03, 0x04};
55inline const Type TYPE_PPTX{
56 "application/vnd.openxmlformats-officedocument.presentationml.presentation",
"pptx"};
61inline const std::array<uint8_t, 4> ODT_MAGIC = {0x50, 0x4B, 0x03, 0x04};
62inline const Type TYPE_ODT{
"application/vnd.oasis.opendocument.text",
"odt"};
67inline const std::array<uint8_t, 4> ODS_MAGIC = {0x50, 0x4B, 0x03, 0x04};
68inline const Type TYPE_ODS{
"application/vnd.oasis.opendocument.spreadsheet",
"ods"};
73inline const std::array<uint8_t, 4> ODP_MAGIC = {0x50, 0x4B, 0x03, 0x04};
74inline const Type TYPE_ODP{
"application/vnd.oasis.opendocument.presentation",
"odp"};
78inline const std::array<uint8_t, 5> RTF_MAGIC = {0x7B, 0x5C, 0x72, 0x74, 0x66};
79inline const Type TYPE_RTF{
"application/rtf",
"rtf"};
84inline const std::array<uint8_t, 4> EPUB_MAGIC = {0x50, 0x4B, 0x03, 0x04};
85inline const Type TYPE_EPUB{
"application/epub+zip",
"epub"};