libimobiledevice 1.3.0

Macros | Typedefs | Enumerations | Functions
screenshotr.h File Reference

Retrieve a screenshot from device. More...

## Macros
#define | SCREENSHOTR_SERVICE_NAME "com.apple.mobile.screenshotr"

## Typedefs
typedef struct screenshotr_client_private | screenshotr_client_private
typedef screenshotr_client_private * | screenshotr_client_t
| The client handle.

## Enumerations
enum | screenshotr_error_t { SCREENSHOTR_E_SUCCESS = 0, SCREENSHOTR_E_INVALID_ARG = -1, SCREENSHOTR_E_PLIST_ERROR = -2, SCREENSHOTR_E_MUX_ERROR = -3, SCREENSHOTR_E_SSL_ERROR = -4, SCREENSHOTR_E_RECEIVE_TIMEOUT = -5, SCREENSHOTR_E_BAD_VERSION = -6, SCREENSHOTR_E_UNKNOWN_ERROR = -256 }
| Error Codes.

## Functions
screenshotr_error_t | screenshotr_client_new (idevice_t device, lockdownd_service_descriptor_t service, screenshotr_client_t *client)
| Connects to the screenshotr service on the specified device. More...
screenshotr_error_t | screenshotr_client_start_service (idevice_t device, screenshotr_client_t *client, const char *label)
| Starts a new screenshotr service on the specified device and connects to it. More...
screenshotr_error_t | screenshotr_client_free (screenshotr_client_t client)
| Disconnects a screenshotr client from the device and frees up the screenshotr client data. More...
screenshotr_error_t | screenshotr_take_screenshot (screenshotr_client_t client, char **imgdata, uint64_t *imgsize)
| Get a screen shot from the connected device. More...

## Detailed Description

Retrieve a screenshot from device.

Note
  Requires a mounted developer image.

## Function Documentation

## ◆ screenshotr_client_free()

screenshotr_error_t screenshotr_client_free | ( | screenshotr_client_t | client | ) |

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

Parameters

  client | The screenshotr client to disconnect and free.

Returns
  SCREENSHOTR_E_SUCCESS on success, or SCREENSHOTR_E_INVALID_ARG if client is NULL.

## ◆ screenshotr_client_new()

screenshotr_error_t screenshotr_client_new | ( | idevice_t | device,
|  | lockdownd_service_descriptor_t | service,
|  | screenshotr_client_t * | client
| ) |  |

Connects to the screenshotr service on the specified device.

Parameters

  device | The device to connect to.
  service | The service descriptor returned by lockdownd_start_service.
  client | Pointer that will be set to a newly allocated screenshotr_client_t upon successful return.

Note
  This service is only available if a developer disk image has been mounted.

Returns
  SCREENSHOTR_E_SUCCESS on success, SCREENSHOTR_E_INVALID ARG if one or more parameters are invalid, or SCREENSHOTR_E_CONN_FAILED if the connection to the device could not be established.

## ◆ screenshotr_client_start_service()

screenshotr_error_t screenshotr_client_start_service | ( | idevice_t | device,
|  | screenshotr_client_t * | client,
|  | const char * | label
| ) |  |

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

Parameters

  device | The device to connect to.
  client | Pointer that will point to a newly allocated screenshotr_client_t upon successful return. Must be freed using screenshotr_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.

Returns
  SCREENSHOTR_E_SUCCESS on success, or an SCREENSHOTR_E_* error code otherwise.

## ◆ screenshotr_take_screenshot()

screenshotr_error_t screenshotr_take_screenshot | ( | screenshotr_client_t | client,
|  | char ** | imgdata,
|  | uint64_t * | imgsize
| ) |  |

Get a screen shot from the connected device.

Parameters

  client | The connection screenshotr service client.
  imgdata | Pointer that will point to a newly allocated buffer containing TIFF image data upon successful return. It is up to the caller to free the memory.
  imgsize | Pointer to a uint64_t that will be set to the size of the buffer imgdata points to upon successful return.

Returns
  SCREENSHOTR_E_SUCCESS on success, SCREENSHOTR_E_INVALID_ARG if one or more parameters are invalid, or another error code if an error occurred.