libimobiledevice/mobilebackup.h File Reference

MobileBackup Implementation. More...


Typedefs

typedef int16_t mobilebackup_error_t
 Represents an error code.
typedef
mobilebackup_client_private * 
mobilebackup_client_t
 The client handle.

Functions

mobilebackup_error_t mobilebackup_client_new (idevice_t device, uint16_t port, mobilebackup_client_t *client)
 Connects to the mobilebackup service on the specified device.
mobilebackup_error_t mobilebackup_client_free (mobilebackup_client_t client)
 Disconnects a mobilebackup client from the device and frees up the mobilebackup client data.
mobilebackup_error_t mobilebackup_receive (mobilebackup_client_t client, plist_t *plist)
 Polls the device for mobilebackup data.
mobilebackup_error_t mobilebackup_send (mobilebackup_client_t client, plist_t plist)
 Sends mobilebackup data to the device.
mobilebackup_error_t mobilebackup_request_backup (mobilebackup_client_t client, plist_t backup_manifest, const char *base_path, const char *proto_version)
 Request a backup from the connected device.
mobilebackup_error_t mobilebackup_send_backup_file_received (mobilebackup_client_t client)
 Sends a confirmation to the device that a backup file has been received.
mobilebackup_error_t mobilebackup_send_error (mobilebackup_client_t client, const char *reason)
 Sends a backup error message to the device.

Error Codes

#define MOBILEBACKUP_E_SUCCESS   0
#define MOBILEBACKUP_E_INVALID_ARG   -1
#define MOBILEBACKUP_E_PLIST_ERROR   -2
#define MOBILEBACKUP_E_MUX_ERROR   -3
#define MOBILEBACKUP_E_BAD_VERSION   -4
#define MOBILEBACKUP_E_REPLY_NOT_OK   -5
#define MOBILEBACKUP_E_UNKNOWN_ERROR   -256


Detailed Description

MobileBackup Implementation.


Typedef Documentation

typedef mobilebackup_client_private* mobilebackup_client_t

The client handle.

typedef int16_t mobilebackup_error_t

Represents an error code.


Function Documentation

mobilebackup_error_t mobilebackup_client_free ( mobilebackup_client_t  client  ) 

Disconnects a mobilebackup client from the device and frees up the mobilebackup client data.

Parameters:
client The mobilebackup client to disconnect and free.
Returns:
MOBILEBACKUP_E_SUCCESS on success, or MOBILEBACKUP_E_INVALID_ARG if client is NULL.

mobilebackup_error_t mobilebackup_client_new ( idevice_t  device,
uint16_t  port,
mobilebackup_client_t client 
)

Connects to the mobilebackup service on the specified device.

Parameters:
device The device to connect to.
port Destination port (usually given by lockdownd_start_service).
client Pointer that will be set to a newly allocated mobilebackup_client_t upon successful return.
Returns:
MOBILEBACKUP_E_SUCCESS on success, MOBILEBACKUP_E_INVALID ARG if one or more parameters are invalid, or DEVICE_LINK_SERVICE_E_BAD_VERSION if the mobilebackup version on the device is newer.

mobilebackup_error_t mobilebackup_receive ( mobilebackup_client_t  client,
plist_t *  plist 
)

Polls the device for mobilebackup data.

Parameters:
client The mobilebackup client
plist A pointer to the location where the plist should be stored
Returns:
an error code

mobilebackup_error_t mobilebackup_request_backup ( mobilebackup_client_t  client,
plist_t  backup_manifest,
const char *  base_path,
const char *  proto_version 
)

Request a backup from the connected device.

Parameters:
client The connected MobileBackup client to use.
backup_manifest The backup manifest, a plist_t of type PLIST_DICT containing the backup state of the last backup. For a first-time backup set this parameter to NULL.
base_path The base path on the device to use for the backup operation, usually "/".
proto_version A string denoting the version of the backup protocol to use. Latest known version is "1.6"
Returns:
MOBILEBACKUP_E_SUCCESS on success, MOBILEBACKUP_E_INVALID_ARG if one of the parameters is invalid, MOBILEBACKUP_E_PLIST_ERROR if backup_manifest is not of type PLIST_DICT, MOBILEBACKUP_E_MUX_ERROR if a communication error occurs, MOBILEBACKUP_E_REPLY_NOT_OK

mobilebackup_error_t mobilebackup_send ( mobilebackup_client_t  client,
plist_t  plist 
)

Sends mobilebackup data to the device.

Note:
This function is low-level and should only be used if you need to send a new type of message.
Parameters:
client The mobilebackup client
plist The location of the plist to send
Returns:
an error code

mobilebackup_error_t mobilebackup_send_backup_file_received ( mobilebackup_client_t  client  ) 

Sends a confirmation to the device that a backup file has been received.

Parameters:
client The connected MobileBackup client to use.
Returns:
MOBILEBACKUP_E_SUCCESS on success, MOBILEBACKUP_E_INVALID_ARG if client is invalid, or MOBILEBACKUP_E_MUX_ERROR if a communication error occurs.

mobilebackup_error_t mobilebackup_send_error ( mobilebackup_client_t  client,
const char *  reason 
)

Sends a backup error message to the device.

Parameters:
client The connected MobileBackup client to use.
reason A string describing the reason for the error message.
Returns:
MOBILEBACKUP_E_SUCCESS on success, MOBILEBACKUP_E_INVALID_ARG if one of the parameters is invalid, or MOBILEBACKUP_E_MUX_ERROR if a communication error occurs.


doxygen