mobile_image_mounter.h File Reference

## Description

Mount developer/debug disk images on the device.

## Macros

#define | MOBILE_IMAGE_MOUNTER_SERVICE_NAME "com.apple.mobile.mobile_image_mounter"
| Service identifier passed to lockdownd_start_service() to start the mobile image mounter service.

## Typedefs

typedef mobile_image_mounter_client_private * | mobile_image_mounter_client_t
| The client handle.
typedef ssize_t(* | mobile_image_mounter_upload_cb_t) (void *buffer, size_t length, void *user_data)
| callback for image upload

## Enumerations

enum | mobile_image_mounter_error_t { MOBILE_IMAGE_MOUNTER_E_SUCCESS = 0 , MOBILE_IMAGE_MOUNTER_E_INVALID_ARG = -1 , MOBILE_IMAGE_MOUNTER_E_PLIST_ERROR = -2 , MOBILE_IMAGE_MOUNTER_E_CONN_FAILED = -3 , MOBILE_IMAGE_MOUNTER_E_COMMAND_FAILED = -4 , MOBILE_IMAGE_MOUNTER_E_DEVICE_LOCKED = -5 , MOBILE_IMAGE_MOUNTER_E_NOT_SUPPORTED = -6 , MOBILE_IMAGE_MOUNTER_E_UNKNOWN_ERROR = -256 }
| Error Codes.

## Functions

LIBIMOBILEDEVICE_API mobile_image_mounter_error_t | mobile_image_mounter_new (idevice_t device, lockdownd_service_descriptor_t service, mobile_image_mounter_client_t *client)
| Connects to the mobile_image_mounter service on the specified device.
LIBIMOBILEDEVICE_API mobile_image_mounter_error_t | mobile_image_mounter_start_service (idevice_t device, mobile_image_mounter_client_t *client, const char *label)
| Starts a new mobile_image_mounter service on the specified device and connects to it.
LIBIMOBILEDEVICE_API mobile_image_mounter_error_t | mobile_image_mounter_free (mobile_image_mounter_client_t client)
| Disconnects a mobile_image_mounter client from the device and frees up the mobile_image_mounter client data.
LIBIMOBILEDEVICE_API mobile_image_mounter_error_t | mobile_image_mounter_lookup_image (mobile_image_mounter_client_t client, const char *image_type, plist_t *result)
| Tells if the image of ImageType is already mounted.
LIBIMOBILEDEVICE_API mobile_image_mounter_error_t | mobile_image_mounter_upload_image (mobile_image_mounter_client_t client, const char *image_type, size_t image_size, const unsigned char *signature, unsigned int signature_size, mobile_image_mounter_upload_cb_t upload_cb, void *userdata)
| Uploads an image with an optional signature to the device.
LIBIMOBILEDEVICE_API mobile_image_mounter_error_t | mobile_image_mounter_mount_image_with_options (mobile_image_mounter_client_t client, const char *image_path, const unsigned char *signature, unsigned int signature_size, const char *image_type, plist_t options, plist_t *result)
| Mounts an image on the device.
LIBIMOBILEDEVICE_API mobile_image_mounter_error_t | mobile_image_mounter_mount_image (mobile_image_mounter_client_t client, const char *image_path, const unsigned char *signature, unsigned int signature_size, const char *image_type, plist_t *result)
| Mounts an image on the device.
LIBIMOBILEDEVICE_API mobile_image_mounter_error_t | mobile_image_mounter_unmount_image (mobile_image_mounter_client_t client, const char *mount_path)
| Unmount a mounted image at given path on the device.
LIBIMOBILEDEVICE_API mobile_image_mounter_error_t | mobile_image_mounter_hangup (mobile_image_mounter_client_t client)
| Hangs up the connection to the mobile_image_mounter service.
LIBIMOBILEDEVICE_API mobile_image_mounter_error_t | mobile_image_mounter_query_developer_mode_status (mobile_image_mounter_client_t client, plist_t *result)
| Query the developer mode status of the given device.
LIBIMOBILEDEVICE_API mobile_image_mounter_error_t | mobile_image_mounter_query_nonce (mobile_image_mounter_client_t client, const char *image_type, unsigned char **nonce, unsigned int *nonce_size)
| Query a personalization nonce for the given image type, used for personalized disk images (iOS 17+).
LIBIMOBILEDEVICE_API mobile_image_mounter_error_t | mobile_image_mounter_query_personalization_identifiers (mobile_image_mounter_client_t client, const char *image_type, plist_t *result)
| Query personalization identitifers for the given image_type.
LIBIMOBILEDEVICE_API mobile_image_mounter_error_t | mobile_image_mounter_query_personalization_manifest (mobile_image_mounter_client_t client, const char *image_type, const unsigned char *signature, unsigned int signature_size, unsigned char **manifest, unsigned int *manifest_size)
LIBIMOBILEDEVICE_API mobile_image_mounter_error_t | mobile_image_mounter_roll_personalization_nonce (mobile_image_mounter_client_t client)
| Roll the personalization nonce.
LIBIMOBILEDEVICE_API mobile_image_mounter_error_t | mobile_image_mounter_roll_cryptex_nonce (mobile_image_mounter_client_t client)
| Roll the Cryptex nonce.