libimobiledevice  1.3.0
API Documentation - Return to Homepage
Structs | Typedefs | Enumerations | Functions
lockdown.h File Reference

Description

Manage device preferences, start services, pairing and activation.

Structs

struct  lockdownd_pair_record_t
 A pair record holding device, host and root certificates along the host_id. More...
 
struct  lockdownd_service_descriptor_t
 

Typedefs

typedef struct lockdownd_client_private lockdownd_client_private
 
typedef lockdownd_client_private * lockdownd_client_t
 The client handle.
 

Enumerations

enum  lockdownd_error_t {
  LOCKDOWN_E_SUCCESS = 0,
  LOCKDOWN_E_INVALID_ARG = -1,
  LOCKDOWN_E_INVALID_CONF = -2,
  LOCKDOWN_E_PLIST_ERROR = -3,
  LOCKDOWN_E_PAIRING_FAILED = -4,
  LOCKDOWN_E_SSL_ERROR = -5,
  LOCKDOWN_E_DICT_ERROR = -6,
  LOCKDOWN_E_RECEIVE_TIMEOUT = -7,
  LOCKDOWN_E_MUX_ERROR = -8,
  LOCKDOWN_E_NO_RUNNING_SESSION = -9,
  LOCKDOWN_E_INVALID_RESPONSE = -10,
  LOCKDOWN_E_MISSING_KEY = -11,
  LOCKDOWN_E_MISSING_VALUE = -12,
  LOCKDOWN_E_GET_PROHIBITED = -13,
  LOCKDOWN_E_SET_PROHIBITED = -14,
  LOCKDOWN_E_REMOVE_PROHIBITED = -15,
  LOCKDOWN_E_IMMUTABLE_VALUE = -16,
  LOCKDOWN_E_PASSWORD_PROTECTED = -17,
  LOCKDOWN_E_USER_DENIED_PAIRING = -18,
  LOCKDOWN_E_PAIRING_DIALOG_RESPONSE_PENDING = -19,
  LOCKDOWN_E_MISSING_HOST_ID = -20,
  LOCKDOWN_E_INVALID_HOST_ID = -21,
  LOCKDOWN_E_SESSION_ACTIVE = -22,
  LOCKDOWN_E_SESSION_INACTIVE = -23,
  LOCKDOWN_E_MISSING_SESSION_ID = -24,
  LOCKDOWN_E_INVALID_SESSION_ID = -25,
  LOCKDOWN_E_MISSING_SERVICE = -26,
  LOCKDOWN_E_INVALID_SERVICE = -27,
  LOCKDOWN_E_SERVICE_LIMIT = -28,
  LOCKDOWN_E_MISSING_PAIR_RECORD = -29,
  LOCKDOWN_E_SAVE_PAIR_RECORD_FAILED = -30,
  LOCKDOWN_E_INVALID_PAIR_RECORD = -31,
  LOCKDOWN_E_INVALID_ACTIVATION_RECORD = -32,
  LOCKDOWN_E_MISSING_ACTIVATION_RECORD = -33,
  LOCKDOWN_E_SERVICE_PROHIBITED = -34,
  LOCKDOWN_E_ESCROW_LOCKED = -35,
  LOCKDOWN_E_PAIRING_PROHIBITED_OVER_THIS_CONNECTION = -36,
  LOCKDOWN_E_FMIP_PROTECTED = -37,
  LOCKDOWN_E_MC_PROTECTED = -38,
  LOCKDOWN_E_MC_CHALLENGE_REQUIRED = -39,
  LOCKDOWN_E_UNKNOWN_ERROR = -256
}
 Error Codes.
 

Functions

lockdownd_error_t lockdownd_client_new (idevice_t device, lockdownd_client_t *client, const char *label)
 Creates a new lockdownd client for the device. More...
 
lockdownd_error_t lockdownd_client_new_with_handshake (idevice_t device, lockdownd_client_t *client, const char *label)
 Creates a new lockdownd client for the device and starts initial handshake. More...
 
lockdownd_error_t lockdownd_client_free (lockdownd_client_t client)
 Closes the lockdownd client session if one is running and frees up the lockdownd_client struct. More...
 
lockdownd_error_t lockdownd_query_type (lockdownd_client_t client, char **type)
 Query the type of the service daemon. More...
 
lockdownd_error_t lockdownd_get_value (lockdownd_client_t client, const char *domain, const char *key, plist_t *value)
 Retrieves a preferences plist using an optional domain and/or key name. More...
 
lockdownd_error_t lockdownd_set_value (lockdownd_client_t client, const char *domain, const char *key, plist_t value)
 Sets a preferences value using a plist and optional by domain and/or key name. More...
 
lockdownd_error_t lockdownd_remove_value (lockdownd_client_t client, const char *domain, const char *key)
 Removes a preference node by domain and/or key name. More...
 
lockdownd_error_t lockdownd_start_service (lockdownd_client_t client, const char *identifier, lockdownd_service_descriptor_t *service)
 Requests to start a service and retrieve it's port on success. More...
 
lockdownd_error_t lockdownd_start_service_with_escrow_bag (lockdownd_client_t client, const char *identifier, lockdownd_service_descriptor_t *service)
 Requests to start a service and retrieve it's port on success. More...
 
lockdownd_error_t lockdownd_start_session (lockdownd_client_t client, const char *host_id, char **session_id, int *ssl_enabled)
 Opens a session with lockdownd and switches to SSL mode if device wants it. More...
 
lockdownd_error_t lockdownd_stop_session (lockdownd_client_t client, const char *session_id)
 Closes the lockdownd session by sending the StopSession request. More...
 
lockdownd_error_t lockdownd_send (lockdownd_client_t client, plist_t plist)
 Sends a plist to lockdownd. More...
 
lockdownd_error_t lockdownd_receive (lockdownd_client_t client, plist_t *plist)
 Receives a plist from lockdownd. More...
 
lockdownd_error_t lockdownd_pair (lockdownd_client_t client, lockdownd_pair_record_t pair_record)
 Pairs the device using the supplied pair record. More...
 
lockdownd_error_t lockdownd_pair_with_options (lockdownd_client_t client, lockdownd_pair_record_t pair_record, plist_t options, plist_t *response)
 Pairs the device using the supplied pair record and passing the given options. More...
 
lockdownd_error_t lockdownd_validate_pair (lockdownd_client_t client, lockdownd_pair_record_t pair_record)
 Validates if the device is paired with the given HostID. More...
 
lockdownd_error_t lockdownd_unpair (lockdownd_client_t client, lockdownd_pair_record_t pair_record)
 Unpairs the device with the given HostID and removes the pairing records from the device and host if the internal pairing record management is used. More...
 
lockdownd_error_t lockdownd_activate (lockdownd_client_t client, plist_t activation_record)
 Activates the device. More...
 
lockdownd_error_t lockdownd_deactivate (lockdownd_client_t client)
 Deactivates the device, returning it to the locked “Activate with iTunes” screen. More...
 
lockdownd_error_t lockdownd_enter_recovery (lockdownd_client_t client)
 Tells the device to immediately enter recovery mode. More...
 
lockdownd_error_t lockdownd_goodbye (lockdownd_client_t client)
 Sends the Goodbye request to lockdownd signaling the end of communication. More...
 
void lockdownd_client_set_label (lockdownd_client_t client, const char *label)
 Sets the label to send for requests to lockdownd. More...
 
lockdownd_error_t lockdownd_get_device_udid (lockdownd_client_t client, char **udid)
 Returns the unique id of the device from lockdownd. More...
 
lockdownd_error_t lockdownd_get_device_name (lockdownd_client_t client, char **device_name)
 Retrieves the name of the device from lockdownd set by the user. More...
 
lockdownd_error_t lockdownd_get_sync_data_classes (lockdownd_client_t client, char ***classes, int *count)
 Calculates and returns the data classes the device supports from lockdownd. More...
 
lockdownd_error_t lockdownd_data_classes_free (char **classes)
 Frees memory of an allocated array of data classes as returned by lockdownd_get_sync_data_classes() More...
 
lockdownd_error_t lockdownd_service_descriptor_free (lockdownd_service_descriptor_t service)
 Frees memory of a service descriptor as returned by lockdownd_start_service() More...
 
const char * lockdownd_strerror (lockdownd_error_t err)
 Gets a readable error string for a given lockdown error code. More...