mobilesync.h File Reference

## Description

Synchronize data classes with a device and computer.

## Structs

struct | mobilesync_anchors
| Anchors used by the device and computer (structure). More...

## Macros

#define | MOBILESYNC_SERVICE_NAME "com.apple.mobilesync"
| Service identifier passed to lockdownd_start_service() to start the mobilesync service.

## Typedefs

typedef mobilesync_client_private * | mobilesync_client_t
| The client handle.
typedef mobilesync_anchors * | mobilesync_anchors_t
| Anchors used by the device and computer.

## Enumerations

enum

mobilesync_error_t {
MOBILESYNC_E_SUCCESS = 0 ,
MOBILESYNC_E_INVALID_ARG = -1 ,
MOBILESYNC_E_PLIST_ERROR = -2 ,
MOBILESYNC_E_MUX_ERROR = -3 ,
MOBILESYNC_E_SSL_ERROR = -4 ,
MOBILESYNC_E_RECEIVE_TIMEOUT = -5 ,
MOBILESYNC_E_BAD_VERSION = -6 ,
MOBILESYNC_E_SYNC_REFUSED = -7 ,
MOBILESYNC_E_CANCELLED = -8 ,
MOBILESYNC_E_WRONG_DIRECTION = -9 ,
MOBILESYNC_E_NOT_READY = -10 ,
MOBILESYNC_E_UNKNOWN_ERROR = -256
}

| Error Codes.
enum | mobilesync_sync_type_t { MOBILESYNC_SYNC_TYPE_FAST , MOBILESYNC_SYNC_TYPE_SLOW , MOBILESYNC_SYNC_TYPE_RESET }
| The sync type of the current sync session. More...

## Functions

LIBIMOBILEDEVICE_API mobilesync_error_t | mobilesync_client_new (idevice_t device, lockdownd_service_descriptor_t service, mobilesync_client_t *client)
| Connects to the mobilesync service on the specified device.
LIBIMOBILEDEVICE_API mobilesync_error_t | mobilesync_client_start_service (idevice_t device, mobilesync_client_t *client, const char *label)
| Starts a new mobilesync service on the specified device and connects to it.
LIBIMOBILEDEVICE_API mobilesync_error_t | mobilesync_client_free (mobilesync_client_t client)
| Disconnects a mobilesync client from the device and frees up the mobilesync client data.
LIBIMOBILEDEVICE_API mobilesync_error_t | mobilesync_receive (mobilesync_client_t client, plist_t *plist)
| Polls the device for mobilesync data.
LIBIMOBILEDEVICE_API mobilesync_error_t | mobilesync_send (mobilesync_client_t client, plist_t plist)
| Sends mobilesync data to the device.
LIBIMOBILEDEVICE_API mobilesync_error_t | mobilesync_start (mobilesync_client_t client, const char *data_class, mobilesync_anchors_t anchors, uint64_t computer_data_class_version, mobilesync_sync_type_t *sync_type, uint64_t *device_data_class_version, char **error_description)
| Requests starting synchronization of a data class with the device.
LIBIMOBILEDEVICE_API mobilesync_error_t | mobilesync_cancel (mobilesync_client_t client, const char *reason)
| Cancels a running synchronization session with a device at any time.
LIBIMOBILEDEVICE_API mobilesync_error_t | mobilesync_finish (mobilesync_client_t client)
| Finish a synchronization session of a data class on the device.
LIBIMOBILEDEVICE_API mobilesync_error_t | mobilesync_get_all_records_from_device (mobilesync_client_t client)
| Requests to receive all records of the currently set data class from the device.
LIBIMOBILEDEVICE_API mobilesync_error_t | mobilesync_get_changes_from_device (mobilesync_client_t client)
| Requests to receive only changed records of the currently set data class from the device.
LIBIMOBILEDEVICE_API mobilesync_error_t | mobilesync_clear_all_records_on_device (mobilesync_client_t client)
| Requests the device to delete all records of the current data class.
LIBIMOBILEDEVICE_API mobilesync_error_t | mobilesync_receive_changes (mobilesync_client_t client, plist_t *entities, uint8_t *is_last_record, plist_t *actions)
| Receives changed entitites of the currently set data class from the device.
LIBIMOBILEDEVICE_API mobilesync_error_t | mobilesync_acknowledge_changes_from_device (mobilesync_client_t client)
| Acknowledges to the device that the changes have been merged on the computer.
LIBIMOBILEDEVICE_API mobilesync_error_t | mobilesync_ready_to_send_changes_from_computer (mobilesync_client_t client)
| Verifies if the device is ready to receive changes from the computer.
LIBIMOBILEDEVICE_API mobilesync_error_t | mobilesync_send_changes (mobilesync_client_t client, plist_t entities, uint8_t is_last_record, plist_t actions)
| Sends changed entities of the currently set data class to the device.
LIBIMOBILEDEVICE_API mobilesync_error_t | mobilesync_remap_identifiers (mobilesync_client_t client, plist_t *mapping)
| Receives any remapped identifiers reported after the device merged submitted changes.
LIBIMOBILEDEVICE_API mobilesync_anchors_t | mobilesync_anchors_new (const char *device_anchor, const char *computer_anchor)
| Allocates memory for a new anchors struct initialized with the passed anchors.
LIBIMOBILEDEVICE_API void | mobilesync_anchors_free (mobilesync_anchors_t anchors)
| Free memory used by anchors.
LIBIMOBILEDEVICE_API plist_t | mobilesync_actions_new (void)
| Create a new actions plist to use in mobilesync_send_changes().
LIBIMOBILEDEVICE_API void | mobilesync_actions_add (plist_t actions,...)
| Add one or more new key:value pairs to the given actions plist.
LIBIMOBILEDEVICE_API void | mobilesync_actions_free (plist_t actions)
| Free actions plist.