libimobiledevice  1.2.0
Macros | Typedefs | Enumerations | Functions
diagnostics_relay.h File Reference

Request iOS diagnostic information from device. More...

Macros

#define DIAGNOSTICS_RELAY_SERVICE_NAME   "com.apple.mobile.diagnostics_relay"
 
#define DIAGNOSTICS_RELAY_ACTION_FLAG_WAIT_FOR_DISCONNECT   (1 << 1)
 
#define DIAGNOSTICS_RELAY_ACTION_FLAG_DISPLAY_PASS   (1 << 2)
 
#define DIAGNOSTICS_RELAY_ACTION_FLAG_DISPLAY_FAIL   (1 << 3)
 
#define DIAGNOSTICS_RELAY_REQUEST_TYPE_ALL   "All"
 
#define DIAGNOSTICS_RELAY_REQUEST_TYPE_WIFI   "WiFi"
 
#define DIAGNOSTICS_RELAY_REQUEST_TYPE_GAS_GAUGE   "GasGauge"
 
#define DIAGNOSTICS_RELAY_REQUEST_TYPE_NAND   "NAND"
 

Typedefs

typedef struct
diagnostics_relay_client_private 
diagnostics_relay_client_private
 
typedef
diagnostics_relay_client_private * 
diagnostics_relay_client_t
 The client handle. More...
 

Enumerations

enum  diagnostics_relay_error_t {
  DIAGNOSTICS_RELAY_E_SUCCESS = 0,
  DIAGNOSTICS_RELAY_E_INVALID_ARG = -1,
  DIAGNOSTICS_RELAY_E_PLIST_ERROR = -2,
  DIAGNOSTICS_RELAY_E_MUX_ERROR = -3,
  DIAGNOSTICS_RELAY_E_UNKNOWN_REQUEST = -4,
  DIAGNOSTICS_RELAY_E_UNKNOWN_ERROR = -256
}
 Error Codes.
 

Functions

diagnostics_relay_error_t diagnostics_relay_client_new (idevice_t device, lockdownd_service_descriptor_t service, diagnostics_relay_client_t *client)
 Connects to the diagnostics_relay service on the specified device. More...
 
diagnostics_relay_error_t diagnostics_relay_client_start_service (idevice_t device, diagnostics_relay_client_t *client, const char *label)
 Starts a new diagnostics_relay service on the specified device and connects to it. More...
 
diagnostics_relay_error_t diagnostics_relay_client_free (diagnostics_relay_client_t client)
 Disconnects a diagnostics_relay client from the device and frees up the diagnostics_relay client data. More...
 
diagnostics_relay_error_t diagnostics_relay_goodbye (diagnostics_relay_client_t client)
 Sends the Goodbye request signaling the end of communication. More...
 
diagnostics_relay_error_t diagnostics_relay_sleep (diagnostics_relay_client_t client)
 Puts the device into deep sleep mode and disconnects from host. More...
 
diagnostics_relay_error_t diagnostics_relay_restart (diagnostics_relay_client_t client, int flags)
 Restart the device and optionally show a user notification. More...
 
diagnostics_relay_error_t diagnostics_relay_shutdown (diagnostics_relay_client_t client, int flags)
 Shutdown of the device and optionally show a user notification. More...
 
diagnostics_relay_error_t diagnostics_relay_request_diagnostics (diagnostics_relay_client_t client, const char *type, plist_t *diagnostics)
 Shutdown of the device and optionally show a user notification. More...
 
diagnostics_relay_error_t diagnostics_relay_query_mobilegestalt (diagnostics_relay_client_t client, plist_t keys, plist_t *result)
 
diagnostics_relay_error_t diagnostics_relay_query_ioregistry_entry (diagnostics_relay_client_t client, const char *name, const char *class, plist_t *result)
 
diagnostics_relay_error_t diagnostics_relay_query_ioregistry_plane (diagnostics_relay_client_t client, const char *plane, plist_t *result)
 

Detailed Description

Request iOS diagnostic information from device.

Typedef Documentation

typedef diagnostics_relay_client_private* diagnostics_relay_client_t

The client handle.

Function Documentation

diagnostics_relay_error_t diagnostics_relay_client_free ( diagnostics_relay_client_t  client)

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

Parameters
clientThe diagnostics_relay client to disconnect and free.
Returns
DIAGNOSTICS_RELAY_E_SUCCESS on success, DIAGNOSTICS_RELAY_E_INVALID_ARG when one of client or client->parent is invalid, or DIAGNOSTICS_RELAY_E_UNKNOWN_ERROR when the was an error freeing the parent property_list_service client.
diagnostics_relay_error_t diagnostics_relay_client_new ( idevice_t  device,
lockdownd_service_descriptor_t  service,
diagnostics_relay_client_t client 
)

Connects to the diagnostics_relay service on the specified device.

Parameters
deviceThe device to connect to.
serviceThe service descriptor returned by lockdownd_start_service.
clientReference that will point to a newly allocated diagnostics_relay_client_t upon successful return.
Returns
DIAGNOSTICS_RELAY_E_SUCCESS on success, DIAGNOSTICS_RELAY_E_INVALID_ARG when one of the parameters is invalid, or DIAGNOSTICS_RELAY_E_MUX_ERROR when the connection failed.
diagnostics_relay_error_t diagnostics_relay_client_start_service ( idevice_t  device,
diagnostics_relay_client_t client,
const char *  label 
)

Starts a new diagnostics_relay service on the specified device and connects to it.

Parameters
deviceThe device to connect to.
clientPointer that will point to a newly allocated diagnostics_relay_client_t upon successful return. Must be freed using diagnostics_relay_client_free() after use.
labelThe label to use for communication. Usually the program name. Pass NULL to disable sending the label in requests to lockdownd.
Returns
DIAGNOSTICS_RELAY_E_SUCCESS on success, or an DIAGNOSTICS_RELAY_E_* error code otherwise.
diagnostics_relay_error_t diagnostics_relay_goodbye ( diagnostics_relay_client_t  client)

Sends the Goodbye request signaling the end of communication.

Parameters
clientThe diagnostics_relay client
Returns
DIAGNOSTICS_RELAY_E_SUCCESS on success, DIAGNOSTICS_RELAY_E_INVALID_ARG when client is NULL, DIAGNOSTICS_RELAY_E_PLIST_ERROR if the device did not acknowledge the request
diagnostics_relay_error_t diagnostics_relay_request_diagnostics ( diagnostics_relay_client_t  client,
const char *  type,
plist_t *  diagnostics 
)

Shutdown of the device and optionally show a user notification.

Parameters
clientThe diagnostics_relay client
flagsA binary flag combination of DIAGNOSTICS_RELAY_ACTION_FLAG_WAIT_FOR_DISCONNECT to wait until diagnostics_relay_client_free() disconnects before execution and DIAGNOSTICS_RELAY_ACTION_FLAG_DISPLAY_FAIL to show a "FAIL" dialog or DIAGNOSTICS_RELAY_ACTION_FLAG_DISPLAY_PASS to show an "OK" dialog
Returns
DIAGNOSTICS_RELAY_E_SUCCESS on success, DIAGNOSTICS_RELAY_E_INVALID_ARG when client is NULL, DIAGNOSTICS_RELAY_E_PLIST_ERROR if the device did not acknowledge the request
diagnostics_relay_error_t diagnostics_relay_restart ( diagnostics_relay_client_t  client,
int  flags 
)

Restart the device and optionally show a user notification.

Parameters
clientThe diagnostics_relay client
flagsA binary flag combination of DIAGNOSTICS_RELAY_ACTION_FLAG_WAIT_FOR_DISCONNECT to wait until diagnostics_relay_client_free() disconnects before execution and DIAGNOSTICS_RELAY_ACTION_FLAG_DISPLAY_FAIL to show a "FAIL" dialog or DIAGNOSTICS_RELAY_ACTION_FLAG_DISPLAY_PASS to show an "OK" dialog
Returns
DIAGNOSTICS_RELAY_E_SUCCESS on success, DIAGNOSTICS_RELAY_E_INVALID_ARG when client is NULL, DIAGNOSTICS_RELAY_E_PLIST_ERROR if the device did not acknowledge the request
diagnostics_relay_error_t diagnostics_relay_shutdown ( diagnostics_relay_client_t  client,
int  flags 
)

Shutdown of the device and optionally show a user notification.

Parameters
clientThe diagnostics_relay client
flagsA binary flag combination of DIAGNOSTICS_RELAY_ACTION_FLAG_WAIT_FOR_DISCONNECT to wait until diagnostics_relay_client_free() disconnects before execution and DIAGNOSTICS_RELAY_ACTION_FLAG_DISPLAY_FAIL to show a "FAIL" dialog or DIAGNOSTICS_RELAY_ACTION_FLAG_DISPLAY_PASS to show an "OK" dialog
Returns
DIAGNOSTICS_RELAY_E_SUCCESS on success, DIAGNOSTICS_RELAY_E_INVALID_ARG when client is NULL, DIAGNOSTICS_RELAY_E_PLIST_ERROR if the device did not acknowledge the request
diagnostics_relay_error_t diagnostics_relay_sleep ( diagnostics_relay_client_t  client)

Puts the device into deep sleep mode and disconnects from host.

Parameters
clientThe diagnostics_relay client
Returns
DIAGNOSTICS_RELAY_E_SUCCESS on success, DIAGNOSTICS_RELAY_E_INVALID_ARG when client is NULL, DIAGNOSTICS_RELAY_E_PLIST_ERROR if the device did not acknowledge the request