42#if defined(__cplusplus) && __cplusplus >= 201703L
43#define FALLTHROUGH [[fallthrough]]
158#define EOCD_SIGNATURE 0x06054b50
159#define DIR_SIGNATURE 0x02014b50
160#define DATA_SIGNATURE 0x08074b50
161#define FILE_SIGNATURE 0x04034b50
162#define EOCD64_LOCATOR_SIGNATURE 0x07064b50
163#define EOCD64_SIGNATURE 0x06064b50
191 int get_file_buff(std::string filename, std::shared_ptr<FileBuffer>p);
192 int Open(std::string filename);
size_t m_filesize
Definition zip.h:178
Zip_file_Info()
Definition zip.cpp:215
friend Zip
Definition zip.h:183
~Zip_file_Info()
Definition zip.cpp:220
z_stream m_strm
Definition zip.h:181
size_t m_compressedsize
Definition zip.h:179
uint32_t m_timestamp
Definition zip.h:177
size_t m_offset
Definition zip.h:180
std::string m_filename
Definition zip.h:176
int decompress(Zip *pZip, std::shared_ptr< FileBuffer > p)
Definition zip.cpp:225
int Open(std::string filename)
Definition zip.cpp:209
int BuildDirInfo()
Definition zip.cpp:42
bool check_file_exist(std::string filename)
Definition zip.cpp:176
std::map< std::string, Zip_file_Info > m_filemap
Definition zip.h:194
int get_file_buff(std::string filename, std::shared_ptr< FileBuffer >p)
Definition zip.cpp:190
uint16_t flags
Definition zip.h:101
uint16_t last_modify_date
Definition zip.h:104
uint8_t filename[0]
Definition zip.h:115
uint16_t version_mini_extract
Definition zip.h:100
uint16_t internal_file_attr
Definition zip.h:112
uint16_t version
Definition zip.h:99
uint16_t file_comment_length
Definition zip.h:110
uint16_t extrafield_length
Definition zip.h:109
uint16_t last_modify_time
Definition zip.h:103
uint32_t external_file_attr
Definition zip.h:113
uint16_t disk_number
Definition zip.h:111
uint32_t compressed_size
Definition zip.h:106
uint32_t offset
Definition zip.h:114
uint32_t crc
Definition zip.h:105
uint32_t sign
Definition zip.h:98
uint32_t uncompressed_size
Definition zip.h:107
uint16_t file_name_length
Definition zip.h:108
uint16_t compress_method
Definition zip.h:102
uint32_t total_num_disks
Definition zip.h:135
uint64_t offset_of_eocd
Definition zip.h:134
uint32_t num_of_thisdisk
Definition zip.h:133
uint32_t sign
Definition zip.h:132
uint16_t version
Definition zip.h:142
uint16_t version_mini_extract
Definition zip.h:143
uint64_t total
Definition zip.h:147
uint64_t size
Definition zip.h:148
uint64_t total_ondisk
Definition zip.h:146
uint32_t num_of_dir_ondisk
Definition zip.h:144
uint64_t size_of_eocd
Definition zip.h:141
uint64_t offset
Definition zip.h:149
uint32_t sign
Definition zip.h:140
uint32_t num_of_disk
Definition zip.h:145
uint16_t file_comment_length
Definition zip.h:88
uint16_t flags
Definition zip.h:79
uint32_t uncompressed_size
Definition zip.h:85
uint16_t disk_number
Definition zip.h:89
uint32_t compressed_size
Definition zip.h:84
uint32_t sign
Definition zip.h:76
uint16_t file_name_length
Definition zip.h:86
uint16_t version_mini_extract
Definition zip.h:78
uint16_t internal_file_attr
Definition zip.h:90
uint16_t extrafield_length
Definition zip.h:87
uint32_t offset
Definition zip.h:92
uint16_t compress_method
Definition zip.h:80
uint8_t filename[0]
Definition zip.h:93
uint16_t last_modify_date
Definition zip.h:82
uint32_t crc
Definition zip.h:83
uint32_t external_file_attr
Definition zip.h:91
uint16_t version
Definition zip.h:77
uint16_t last_modify_time
Definition zip.h:81
uint32_t uncompressed_size
Definition zip.h:56
uint32_t crc
Definition zip.h:54
uint32_t sign
Definition zip.h:53
uint32_t compressed_size
Definition zip.h:55
uint32_t offset_of_central_dir
Definition zip.h:125
uint16_t num_of_dir_ondisk
Definition zip.h:122
uint16_t num_of_thisdisk
Definition zip.h:120
uint16_t length_of_comment
Definition zip.h:126
uint8_t comment[0]
Definition zip.h:127
uint16_t start_disk_of_dir
Definition zip.h:121
uint16_t num_of_dir
Definition zip.h:123
uint32_t sign
Definition zip.h:119
uint32_t size_of_central_dir
Definition zip.h:124
uint16_t tag
Definition zip.h:154
uint16_t size
Definition zip.h:155
uint16_t version_mini_extract
Definition zip.h:62
uint16_t flags
Definition zip.h:63
uint32_t uncompressed_size
Definition zip.h:69
uint32_t compressed_size
Definition zip.h:68
uint8_t filename[0]
Definition zip.h:72
uint16_t file_name_length
Definition zip.h:70
uint32_t sign
Definition zip.h:61
uint16_t compress_method
Definition zip.h:64
uint16_t last_modify_date
Definition zip.h:66
uint16_t last_modify_time
Definition zip.h:65
uint16_t extrafield_length
Definition zip.h:71
uint32_t crc
Definition zip.h:67