mirror of
https://github.com/topjohnwu/Magisk.git
synced 2025-11-10 01:53:07 +00:00
Modernize compress and decompress
This commit is contained in:
@@ -1,26 +1,32 @@
|
||||
#ifndef _FORMAT_H_
|
||||
#define _FORMAT_H_
|
||||
|
||||
#include <map>
|
||||
#include <string_view>
|
||||
|
||||
typedef enum {
|
||||
UNKNOWN,
|
||||
/* Boot formats */
|
||||
CHROMEOS,
|
||||
AOSP,
|
||||
ELF32,
|
||||
ELF64,
|
||||
DHTB,
|
||||
BLOB,
|
||||
/* Compression formats */
|
||||
GZIP,
|
||||
LZOP,
|
||||
XZ,
|
||||
LZMA,
|
||||
BZIP2,
|
||||
LZ4,
|
||||
LZ4_LEGACY,
|
||||
/* Misc */
|
||||
LZOP,
|
||||
MTK,
|
||||
DTB,
|
||||
DHTB,
|
||||
BLOB
|
||||
} format_t;
|
||||
|
||||
#define COMPRESSED(fmt) (fmt >= GZIP && fmt <= LZ4_LEGACY)
|
||||
#define COMPRESSED(fmt) ((fmt) >= GZIP && (fmt) <= LZ4_LEGACY)
|
||||
|
||||
#define BOOT_MAGIC "ANDROID!"
|
||||
#define CHROMEOS_MAGIC "CHROMEOS"
|
||||
@@ -47,7 +53,20 @@ typedef enum {
|
||||
#define SUP_LIST ((const char *[]) { "gzip", "xz", "lzma", "bzip2", "lz4", "lz4_legacy", NULL })
|
||||
#define SUP_EXT_LIST ((const char *[]) { "gz", "xz", "lzma", "bz2", "lz4", "lz4", NULL })
|
||||
|
||||
class Fmt2Name {
|
||||
public:
|
||||
const char *operator[](format_t fmt);
|
||||
};
|
||||
|
||||
class Fmt2Ext {
|
||||
public:
|
||||
const char *operator[](format_t fmt);
|
||||
};
|
||||
|
||||
format_t check_fmt(const void *buf, size_t len);
|
||||
void get_fmt_name(format_t fmt, char *name);
|
||||
|
||||
extern std::map<std::string_view, format_t> name2fmt;
|
||||
extern Fmt2Name fmt2name;
|
||||
extern Fmt2Ext fmt2ext;
|
||||
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user