IDA C++ SDK 9.2
|
Data compression functions. More...
Go to the source code of this file.
Functions | |
idaman THREAD_SAFE int ida_export | zip_deflate (void *ud, ssize_t(idaapi *file_reader)(void *ud, void *buf, size_t size), ssize_t(idaapi *file_writer)(void *ud, const void *buf, size_t size)) |
Compress data. | |
idaman THREAD_SAFE int ida_export | zip_inflate (void *ud, ssize_t(idaapi *file_reader)(void *ud, void *buf, size_t size), ssize_t(idaapi *file_writer)(void *ud, const void *buf, size_t size)) |
Uncompress data. | |
idaman THREAD_SAFE int ida_export | process_zipfile (const char *zipfile, int(idaapi *callback)(void *ud, qoff64_t offset, int method, uint64 csize, uint64 ucsize, uint32 attributes, const char *filename), void *ud=nullptr) |
Process zip file and enumerate all files stored in it. | |
idaman THREAD_SAFE int ida_export | process_zip_linput (linput_t *li, int(idaapi *callback)(void *ud, qoff64_t offset, int method, uint64 csize, uint64 ucsize, uint32 attributes, const char *filename), void *ud=nullptr) |
Process zip file and enumerate all files stored in it. | |
idaman THREAD_SAFE int ida_export | process_zipfile_entry (const char *zipfile, const char *entry, int(idaapi *callback)(void *ud, qoff64_t offset, int method, uint64 csize, uint64 ucsize, uint32 attributes, const char *filename), void *ud=nullptr, bool case_sensitive=true) |
Search for specified entry in zip file, and calls the callback with it, if found. | |
idaman THREAD_SAFE linput_t *ida_export | create_zip_linput (linput_t *in, ssize_t insize=-1, linput_close_code_t loc=LOC_CLOSE) |
Create a linput to read a compressed input stream. |
Variables | |
bool | legacy_idb |
for old idb files |
Data compression functions.
idaman THREAD_SAFE int ida_export zip_deflate | ( | void * | ud, |
ssize_t(idaapi *file_reader)(void *ud, void *buf, size_t size) | , | ||
ssize_t(idaapi *file_writer)(void *ud, const void *buf, size_t size) | ) |
Compress data.
This function depends on the value of legacy_idb, so it is not completely thread safe. However, legacy_idb does not change its value.
idaman THREAD_SAFE int ida_export zip_inflate | ( | void * | ud, |
ssize_t(idaapi *file_reader)(void *ud, void *buf, size_t size) | , | ||
ssize_t(idaapi *file_writer)(void *ud, const void *buf, size_t size) | ) |
Uncompress data.
This function depends on the value of legacy_idb, so it is not completely thread safe. However, legacy_idb does not change its value.
idaman THREAD_SAFE int ida_export process_zipfile | ( | const char * | zipfile, |
int(idaapi *callback)(void *ud, qoff64_t offset, int method, uint64 csize, uint64 ucsize, uint32 attributes, const char *filename) | , | ||
void * | ud = nullptr ) |
Process zip file and enumerate all files stored in it.
zipfile | name of zip file |
callback | callback for each file. params:
|
ud | user data |
idaman THREAD_SAFE int ida_export process_zip_linput | ( | linput_t * | li, |
int(idaapi *callback)(void *ud, qoff64_t offset, int method, uint64 csize, uint64 ucsize, uint32 attributes, const char *filename) | , | ||
void * | ud = nullptr ) |
Process zip file and enumerate all files stored in it.
li | input file |
callback | callback for each file. params:
|
ud | user data |
idaman THREAD_SAFE int ida_export process_zipfile_entry | ( | const char * | zipfile, |
const char * | entry, | ||
int(idaapi *callback)(void *ud, qoff64_t offset, int method, uint64 csize, uint64 ucsize, uint32 attributes, const char *filename) | , | ||
void * | ud = nullptr, | ||
bool | case_sensitive = true ) |
Search for specified entry in zip file, and calls the callback with it, if found.
zipfile | name of zip file |
entry | entry in zip file. E.g., "path/to/entry.dat" |
callback | callback for each file. params:
|
ud | user data |
case_sensitive | should the search be case sensitive? |
idaman THREAD_SAFE linput_t *ida_export create_zip_linput | ( | linput_t * | in, |
ssize_t | insize = -1, | ||
linput_close_code_t | loc = LOC_CLOSE ) |
Create a linput to read a compressed input stream.
in | linput with compressed data, seeked to the stream beginning |
insize | size of compressed data. -1 - unknown |
loc | what to do upon closing the resulting linput |
|
extern |
for old idb files