summaryrefslogtreecommitdiffstats
path: root/src/common.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/common.h')
-rw-r--r--src/common.h22
1 files changed, 20 insertions, 2 deletions
diff --git a/src/common.h b/src/common.h
index 6c839ce..9b3c1e3 100644
--- a/src/common.h
+++ b/src/common.h
@@ -47,6 +47,7 @@ extern "C" {
#define _MODE_RECOVERY 3
#define _MODE_RESTORE 4
#define _MODE_NORMAL 5
+#define _MODE_PORTDFU 6
#define MODE_UNKNOWN &idevicerestore_modes[_MODE_UNKNOWN]
#define MODE_WTF &idevicerestore_modes[_MODE_WTF]
@@ -54,6 +55,7 @@ extern "C" {
#define MODE_RECOVERY &idevicerestore_modes[_MODE_RECOVERY]
#define MODE_RESTORE &idevicerestore_modes[_MODE_RESTORE]
#define MODE_NORMAL &idevicerestore_modes[_MODE_NORMAL]
+#define MODE_PORTDFU &idevicerestore_modes[_MODE_PORTDFU]
#define FLAG_QUIT 1
@@ -70,6 +72,9 @@ struct dfu_client_t;
struct normal_client_t;
struct restore_client_t;
struct recovery_client_t;
+struct ipsw_archive;
+
+typedef struct ipsw_archive* ipsw_archive_t;
struct idevicerestore_mode_t {
int index;
@@ -88,6 +93,7 @@ struct idevicerestore_entry_t {
struct idevicerestore_client_t {
int flags;
+ int debug_level;
plist_t tss;
plist_t tss_localpolicy;
plist_t tss_recoveryos_root_ticket;
@@ -101,8 +107,7 @@ struct idevicerestore_client_t {
plist_t preflight_info;
char* udid;
char* srnm;
- char* ipsw;
- const char* filesystem;
+ ipsw_archive_t ipsw;
struct dfu_client_t* dfu;
struct restore_client_t* restore;
struct recovery_client_t* recovery;
@@ -111,6 +116,8 @@ struct idevicerestore_client_t {
struct idevicerestore_mode_t* mode;
char* version;
char* build;
+ char* device_version;
+ char* device_build;
int build_major;
char* restore_boot_args;
char* cache_dir;
@@ -123,6 +130,10 @@ struct idevicerestore_client_t {
mutex_t device_event_mutex;
cond_t device_event_cond;
int ignore_device_add_events;
+ plist_t macos_variant;
+ char* restore_variant;
+ char* filesystem;
+ int delete_fs;
};
extern struct idevicerestore_mode_t idevicerestore_modes[];
@@ -182,6 +193,13 @@ void get_user_input(char *buf, int maxlen, int secure);
uint8_t _plist_dict_get_bool(plist_t dict, const char *key);
uint64_t _plist_dict_get_uint(plist_t dict, const char *key);
+int _plist_dict_copy_uint(plist_t target_dict, plist_t source_dict, const char *key, const char *alt_source_key);
+int _plist_dict_copy_bool(plist_t target_dict, plist_t source_dict, const char *key, const char *alt_source_key);
+int _plist_dict_copy_data(plist_t target_dict, plist_t source_dict, const char *key, const char *alt_source_key);
+int _plist_dict_copy_string(plist_t target_dict, plist_t source_dict, const char *key, const char *alt_source_key);
+int _plist_dict_copy_item(plist_t target_dict, plist_t source_dict, const char *key, const char *alt_source_key);
+
+const char* path_get_basename(const char* path);
#ifdef __cplusplus
}