diff options
Diffstat (limited to 'include/filetype.h')
-rw-r--r-- | include/filetype.h | 36 |
1 files changed, 32 insertions, 4 deletions
diff --git a/include/filetype.h b/include/filetype.h index 3019dda6ed..6425c9c8c5 100644 --- a/include/filetype.h +++ b/include/filetype.h @@ -28,6 +28,7 @@ enum filetype { filetype_mbr, filetype_bmp, filetype_png, + filetype_qoi, filetype_ext, filetype_gpt, filetype_ubifs, @@ -43,31 +44,58 @@ enum filetype { filetype_kwbimage_v1, filetype_android_sparse, filetype_arm64_linux_image, + filetype_arm64_efi_linux_image, + filetype_riscv_linux_image, + filetype_riscv_efi_linux_image, + filetype_riscv_barebox_image, filetype_elf, filetype_imx_image_v1, filetype_imx_image_v2, filetype_layerscape_image, filetype_layerscape_qspi_image, filetype_ubootvar, - filetype_stm32_image_v1, + filetype_stm32_image_fsbl_v1, + filetype_stm32_image_ssbl_v1, filetype_zynq_image, filetype_mxs_sd_image, + filetype_rockchip_rkns_image, + filetype_fip, + filetype_qemu_fw_cfg, + filetype_nxp_fspi_image, + filetype_zstd_compressed, filetype_max, }; #define FILE_TYPE_SAFE_BUFSIZE 2048 +struct cdev; + const char *file_type_to_string(enum filetype f); const char *file_type_to_short_string(enum filetype f); enum filetype file_detect_partition_table(const void *_buf, size_t bufsize); enum filetype file_detect_type(const void *_buf, size_t bufsize); -enum filetype file_name_detect_type(const char *filename); -enum filetype file_name_detect_type_offset(const char *filename, loff_t pos); -enum filetype cdev_detect_type(const char *name); +int file_name_detect_type(const char *filename, enum filetype *type); +int file_name_detect_type_offset(const char *filename, loff_t pos, enum filetype *type); +int cdev_detect_type(struct cdev *cdev, enum filetype *type); enum filetype is_fat_or_mbr(const unsigned char *sector, unsigned long *bootsec); int is_fat_boot_sector(const void *_buf); bool filetype_is_barebox_image(enum filetype ft); +static inline bool file_is_compressed_file(enum filetype ft) +{ + switch (ft) { + case filetype_lzo_compressed: + case filetype_lz4_compressed: + case filetype_gzip: + case filetype_bzip2: + case filetype_xz_compressed: + case filetype_zstd_compressed: + return true; + default: + return false; + } +} + #define ARM_HEAD_SIZE 0x30 #define ARM_HEAD_MAGICWORD_OFFSET 0x20 #define ARM_HEAD_SIZE_OFFSET 0x2C |