1
0
mirror of synced 2024-12-14 16:52:53 +01:00
ImHex/lib/libimhex/include/hex/helpers/magic.hpp

30 lines
1.1 KiB
C++
Raw Normal View History

2021-09-06 16:15:05 +02:00
#pragma once
#include <hex.hpp>
#include <hex/helpers/literals.hpp>
#include <string>
#include <vector>
namespace hex::prv {
class Provider;
}
2021-09-06 16:15:05 +02:00
namespace hex::magic {
using namespace hex::literals;
bool compile();
std::string getDescription(const std::vector<u8> &data, bool firstEntryOnly = false);
std::string getDescription(prv::Provider *provider, size_t size = 100_KiB, bool firstEntryOnly = false);
std::string getMIMEType(const std::vector<u8> &data, bool firstEntryOnly = false);
std::string getMIMEType(prv::Provider *provider, size_t size = 100_KiB, bool firstEntryOnly = false);
std::string getExtensions(const std::vector<u8> &data, bool firstEntryOnly = false);
std::string getExtensions(prv::Provider *provider, size_t size = 100_KiB, bool firstEntryOnly = false);
std::string getAppleCreatorType(const std::vector<u8> &data, bool firstEntryOnly = false);
std::string getAppleCreatorType(prv::Provider *provider, size_t size = 100_KiB, bool firstEntryOnly = false);
2021-09-06 16:15:05 +02:00
bool isValidMIMEType(const std::string &mimeType);
2021-09-06 16:15:05 +02:00
}