8#include "format/arch.h"
20 std::shared_ptr<Linker::Format> (* produce)();
21 std::string documentation;
25extern const size_t formats_size;
61 FORMAT_MACHO_MULTIPLE,
102 std::string description;
103 bool (* special_parse)(
const std::shared_ptr<Linker::Reader>& in,
format_description& description);
104 format_priority priority;
118std::shared_ptr<Linker::Format> FetchFormat(std::string text);
123void DetermineFormat(std::vector<format_description>& descriptions,
const std::shared_ptr<Linker::Reader>& rd, uint32_t offset = 0);
125std::shared_ptr<Linker::Contents> ReadArchiveFile(
const std::shared_ptr<Linker::Reader>& rd, offset_t size);
126std::shared_ptr<Linker::Contents> ReadLibraryFile(
const std::shared_ptr<Linker::Reader>& rd, offset_t size);
135std::shared_ptr<Linker::Format> CreateFormat(
const std::shared_ptr<Linker::Reader>& rd,
format_description& file_format, Archive::ArchiveFormat::file_reader_type * file_reader = ReadArchiveFile);