|
libimobiledevice
1.3.0
|
Service to 'preboard' a device, which allows to ask for passcode during firmware updates. More...
Macros | |
| #define | PREBOARD_SERVICE_NAME "com.apple.preboardservice_v2" |
Typedefs | |
| typedef struct preboard_client_private | preboard_client_private |
| typedef preboard_client_private * | preboard_client_t |
| The client handle. | |
| typedef void(* | preboard_status_cb_t) (plist_t message, void *user_data) |
| Reports the status response of the given command. | |
Enumerations | |
| enum | preboard_error_t { PREBOARD_E_SUCCESS = 0, PREBOARD_E_INVALID_ARG = -1, PREBOARD_E_PLIST_ERROR = -2, PREBOARD_E_MUX_ERROR = -3, PREBOARD_E_SSL_ERROR = -4, PREBOARD_E_NOT_ENOUGH_DATA = -5, PREBOARD_E_TIMEOUT = -6, PREBOARD_E_OP_IN_PROGRESS = -10, PREBOARD_E_UNKNOWN_ERROR = -256 } |
| Error Codes. | |
Functions | |
| preboard_error_t | preboard_client_new (idevice_t device, lockdownd_service_descriptor_t service, preboard_client_t *client) |
| Connects to the preboard service on the specified device. More... | |
| preboard_error_t | preboard_client_start_service (idevice_t device, preboard_client_t *client, const char *label) |
| Starts a new preboard service on the specified device and connects to it. More... | |
| preboard_error_t | preboard_client_free (preboard_client_t client) |
| Disconnects a preboard client from the device and frees up the preboard client data. More... | |
| preboard_error_t | preboard_send (preboard_client_t client, plist_t plist) |
| Sends a plist to the service. More... | |
| preboard_error_t | preboard_receive (preboard_client_t client, plist_t *plist) |
| Receives a plist from the service. More... | |
| preboard_error_t | preboard_receive_with_timeout (preboard_client_t client, plist_t *plist, uint32_t timeout_ms) |
| Receives a plist from the service with the specified timeout. More... | |
| preboard_error_t | preboard_create_stashbag (preboard_client_t client, plist_t manifest, preboard_status_cb_t status_cb, void *user_data) |
| Tells the preboard service to create a stashbag. More... | |
| preboard_error_t | preboard_commit_stashbag (preboard_client_t client, plist_t manifest, preboard_status_cb_t status_cb, void *user_data) |
| Instructs the preboard service to commit a previously created stashbag. More... | |
Service to 'preboard' a device, which allows to ask for passcode during firmware updates.
| preboard_error_t preboard_client_free | ( | preboard_client_t | client | ) |
Disconnects a preboard client from the device and frees up the preboard client data.
| client | The preboard client to disconnect and free. |
| preboard_error_t preboard_client_new | ( | idevice_t | device, |
| lockdownd_service_descriptor_t | service, | ||
| preboard_client_t * | client | ||
| ) |
Connects to the preboard service on the specified device.
| device | The device to connect to. |
| service | The service descriptor returned by lockdownd_start_service. |
| client | Pointer that will point to a newly allocated preboard_client_t upon successful return. Must be freed using preboard_client_free() after use. |
| preboard_error_t preboard_client_start_service | ( | idevice_t | device, |
| preboard_client_t * | client, | ||
| const char * | label | ||
| ) |
Starts a new preboard service on the specified device and connects to it.
| device | The device to connect to. |
| client | Pointer that will point to a newly allocated preboard_client_t upon successful return. Must be freed using preboard_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. |
| preboard_error_t preboard_commit_stashbag | ( | preboard_client_t | client, |
| plist_t | manifest, | ||
| preboard_status_cb_t | status_cb, | ||
| void * | user_data | ||
| ) |
Instructs the preboard service to commit a previously created stashbag.
| client | The preboard client to use for receiving |
| manifest | An optional manifest |
| status_cb | Callback function that will receive status and error messages Can be NULL if you want to handle receiving messages in your own code. |
| user_data | User data for callback function or NULL. |
The callback or following preboard_receive* invocations will usually receive a dictionary with: { StashbagCommitComplete: true } or in case of an error: { StashbagCommitComplete: 0, Error: 1, <optional> ErrorString: <error string>=""> }
| preboard_error_t preboard_create_stashbag | ( | preboard_client_t | client, |
| plist_t | manifest, | ||
| preboard_status_cb_t | status_cb, | ||
| void * | user_data | ||
| ) |
Tells the preboard service to create a stashbag.
This will make the device show a passcode entry so it can generate and store a token that is later used during restore.
| client | The preboard client |
| manifest | An optional manifest |
| status_cb | Callback function that will receive status and error messages. Can be NULL if you want to handle receiving messages in your own code. |
| user_data | User data for callback function or NULL. |
The callback or following preboard_receive* invocations will usually receive a dictionary with: { ShowDialog: true } If the user does not enter a passcode, after 2 minutes a timeout is reached and the device sends a dictionary with: { Timeout: true } followed by { HideDialog: true } If the user aborts the passcode entry, the device sends a dictionary: { Error: 1, ErrorString: <error string>=""> } followed by { HideDialog: true }
| preboard_error_t preboard_receive | ( | preboard_client_t | client, |
| plist_t * | plist | ||
| ) |
Receives a plist from the service.
| client | The preboard client |
| plist | Pointer to a plist_t what will be set to the received plist |
| preboard_error_t preboard_receive_with_timeout | ( | preboard_client_t | client, |
| plist_t * | plist, | ||
| uint32_t | timeout_ms | ||
| ) |
Receives a plist from the service with the specified timeout.
| client | The preboard client |
| plist | Pointer to a plist_t what will be set to the received plist |
| preboard_error_t preboard_send | ( | preboard_client_t | client, |
| plist_t | plist | ||
| ) |
Sends a plist to the service.
| client | The preboard client |
| plist | The plist to send |
1.8.16