libimobiledevice
1.2.0
|
Backup and restore of all device data (mobilebackup2, iOS4+ only) More...
Macros | |
#define | MOBILEBACKUP2_SERVICE_NAME "com.apple.mobilebackup2" |
Typedefs | |
typedef struct mobilebackup2_client_private | mobilebackup2_client_private |
typedef mobilebackup2_client_private * | mobilebackup2_client_t |
The client handle. More... | |
Enumerations | |
enum | mobilebackup2_error_t { MOBILEBACKUP2_E_SUCCESS = 0, MOBILEBACKUP2_E_INVALID_ARG = -1, MOBILEBACKUP2_E_PLIST_ERROR = -2, MOBILEBACKUP2_E_MUX_ERROR = -3, MOBILEBACKUP2_E_BAD_VERSION = -4, MOBILEBACKUP2_E_REPLY_NOT_OK = -5, MOBILEBACKUP2_E_NO_COMMON_VERSION = -6, MOBILEBACKUP2_E_UNKNOWN_ERROR = -256 } |
Error Codes. | |
Functions | |
mobilebackup2_error_t | mobilebackup2_client_new (idevice_t device, lockdownd_service_descriptor_t service, mobilebackup2_client_t *client) |
Connects to the mobilebackup2 service on the specified device. More... | |
mobilebackup2_error_t | mobilebackup2_client_start_service (idevice_t device, mobilebackup2_client_t *client, const char *label) |
Starts a new mobilebackup2 service on the specified device and connects to it. More... | |
mobilebackup2_error_t | mobilebackup2_client_free (mobilebackup2_client_t client) |
Disconnects a mobilebackup2 client from the device and frees up the mobilebackup2 client data. More... | |
mobilebackup2_error_t | mobilebackup2_send_message (mobilebackup2_client_t client, const char *message, plist_t options) |
Sends a backup message plist. More... | |
mobilebackup2_error_t | mobilebackup2_receive_message (mobilebackup2_client_t client, plist_t *msg_plist, char **dlmessage) |
Receives a DL* message plist from the device. More... | |
mobilebackup2_error_t | mobilebackup2_send_raw (mobilebackup2_client_t client, const char *data, uint32_t length, uint32_t *bytes) |
Send binary data to the device. More... | |
mobilebackup2_error_t | mobilebackup2_receive_raw (mobilebackup2_client_t client, char *data, uint32_t length, uint32_t *bytes) |
Receive binary from the device. More... | |
mobilebackup2_error_t | mobilebackup2_version_exchange (mobilebackup2_client_t client, double local_versions[], char count, double *remote_version) |
Performs the mobilebackup2 protocol version exchange. More... | |
mobilebackup2_error_t | mobilebackup2_send_request (mobilebackup2_client_t client, const char *request, const char *target_identifier, const char *source_identifier, plist_t options) |
Send a request to the connected mobilebackup2 service. More... | |
mobilebackup2_error_t | mobilebackup2_send_status_response (mobilebackup2_client_t client, int status_code, const char *status1, plist_t status2) |
Sends a DLMessageStatusResponse to the device. More... | |
Backup and restore of all device data (mobilebackup2, iOS4+ only)
typedef mobilebackup2_client_private* mobilebackup2_client_t |
The client handle.
mobilebackup2_error_t mobilebackup2_client_free | ( | mobilebackup2_client_t | client | ) |
Disconnects a mobilebackup2 client from the device and frees up the mobilebackup2 client data.
client | The mobilebackup2 client to disconnect and free. |
mobilebackup2_error_t mobilebackup2_client_new | ( | idevice_t | device, |
lockdownd_service_descriptor_t | service, | ||
mobilebackup2_client_t * | client | ||
) |
Connects to the mobilebackup2 service on the specified device.
device | The device to connect to. |
service | The service descriptor returned by lockdownd_start_service. |
client | Pointer that will be set to a newly allocated mobilebackup2_client_t upon successful return. |
mobilebackup2_error_t mobilebackup2_client_start_service | ( | idevice_t | device, |
mobilebackup2_client_t * | client, | ||
const char * | label | ||
) |
Starts a new mobilebackup2 service on the specified device and connects to it.
device | The device to connect to. |
client | Pointer that will point to a newly allocated mobilebackup2_client_t upon successful return. Must be freed using mobilebackup2_client_free() after use. |
label | The label to use for communication. Usually the program name. Pass NULL to disable sending the label in requests to lockdownd. |
mobilebackup2_error_t mobilebackup2_receive_message | ( | mobilebackup2_client_t | client, |
plist_t * | msg_plist, | ||
char ** | dlmessage | ||
) |
Receives a DL* message plist from the device.
This function is a wrapper around device_link_service_receive_message.
client | The connected MobileBackup client to use. |
msg_plist | Pointer to a plist that will be set to the contents of the message plist upon successful return. |
dlmessage | A pointer that will be set to a newly allocated char* containing the DL* string from the given plist. It is up to the caller to free the allocated memory. If this parameter is NULL it will be ignored. |
mobilebackup2_error_t mobilebackup2_receive_raw | ( | mobilebackup2_client_t | client, |
char * | data, | ||
uint32_t | length, | ||
uint32_t * | bytes | ||
) |
Receive binary from the device.
client | The MobileBackup client to receive from. |
data | Pointer to a buffer that will be filled with the received data. |
length | Number of bytes to receive. The data buffer needs to be large enough to store this amount of data. bytes Number of bytes actually received. |
mobilebackup2_error_t mobilebackup2_send_message | ( | mobilebackup2_client_t | client, |
const char * | message, | ||
plist_t | options | ||
) |
Sends a backup message plist.
client | The connected MobileBackup client to use. |
message | The message to send. This will be inserted into the request plist as value for MessageName. If this parameter is NULL, the plist passed in the options parameter will be sent directly. |
options | Additional options as PLIST_DICT to add to the request. The MessageName key with the value passed in the message parameter will be inserted into this plist before sending it. This parameter can be NULL if message is not NULL. |
mobilebackup2_error_t mobilebackup2_send_raw | ( | mobilebackup2_client_t | client, |
const char * | data, | ||
uint32_t | length, | ||
uint32_t * | bytes | ||
) |
Send binary data to the device.
client | The MobileBackup client to send to. |
data | Pointer to the data to send |
length | Number of bytes to send |
bytes | Number of bytes actually sent |
mobilebackup2_error_t mobilebackup2_send_request | ( | mobilebackup2_client_t | client, |
const char * | request, | ||
const char * | target_identifier, | ||
const char * | source_identifier, | ||
plist_t | options | ||
) |
Send a request to the connected mobilebackup2 service.
client | |
request | The request to send to the backup service. Currently, this is one of "Backup", "Restore", "Info", or "List". |
target_identifier | UDID of the target device. |
source_identifier | UDID of backup data? |
options | Additional options in a plist of type PLIST_DICT. |
mobilebackup2_error_t mobilebackup2_send_status_response | ( | mobilebackup2_client_t | client, |
int | status_code, | ||
const char * | status1, | ||
plist_t | status2 | ||
) |
Sends a DLMessageStatusResponse to the device.
client | The MobileBackup client to use. |
status_code | The status code to send. |
status1 | A status message to send. Can be NULL if not required. |
status2 | An additional status plist to attach to the response. Can be NULL if not required. |
mobilebackup2_error_t mobilebackup2_version_exchange | ( | mobilebackup2_client_t | client, |
double | local_versions[], | ||
char | count, | ||
double * | remote_version | ||
) |
Performs the mobilebackup2 protocol version exchange.
client | The MobileBackup client to use. |
local_versions | An array of supported versions to send to the remote. |
count | The number of items in local_versions. |
remote_version | Holds the protocol version of the remote on success. |