summaryrefslogtreecommitdiffstats
path: root/src/ipsw.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/ipsw.h')
-rw-r--r--src/ipsw.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/ipsw.h b/src/ipsw.h
index 5c75699..3b5da80 100644
--- a/src/ipsw.h
+++ b/src/ipsw.h
@@ -30,9 +30,12 @@ extern "C" {
#include <stdint.h>
#include <plist/plist.h>
+#include <sys/stat.h>
int ipsw_print_info(const char* ipsw);
+typedef int (*ipsw_list_cb)(void *ctx, const char* ipsw, const char *name, struct stat *stat);
+
int ipsw_is_directory(const char* ipsw);
int ipsw_file_exists(const char* ipsw, const char* infile);
int ipsw_get_file_size(const char* ipsw, const char* infile, uint64_t* size);
@@ -41,6 +44,7 @@ int ipsw_extract_to_file_with_progress(const char* ipsw, const char* infile, con
int ipsw_extract_to_memory(const char* ipsw, const char* infile, unsigned char** pbuffer, unsigned int* psize);
int ipsw_extract_build_manifest(const char* ipsw, plist_t* buildmanifest, int *tss_enabled);
int ipsw_extract_restore_plist(const char* ipsw, plist_t* restore_plist);
+int ipsw_list_contents(const char* ipsw, ipsw_list_cb cb, void *ctx);
int ipsw_get_signed_firmwares(const char* product, plist_t* firmwares);
int ipsw_download_fw(const char *fwurl, unsigned char* isha1, const char* todir, char** ipswfile);