libimobiledevice  1.2.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. More...
 

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_BAD_VERSION = -4,
  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.

Typedef Documentation

typedef screenshotr_client_private* screenshotr_client_t

The client handle.

Function Documentation

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
clientThe screenshotr client to disconnect and free.
Returns
SCREENSHOTR_E_SUCCESS on success, or SCREENSHOTR_E_INVALID_ARG if client is NULL.
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
deviceThe device to connect to.
serviceThe service descriptor returned by lockdownd_start_service.
clientPointer 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_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
deviceThe device to connect to.
clientPointer that will point to a newly allocated screenshotr_client_t upon successful return. Must be freed using screenshotr_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
SCREENSHOTR_E_SUCCESS on success, or an SCREENSHOTR_E_* error code otherwise.
screenshotr_error_t screenshotr_take_screenshot ( screenshotr_client_t  client,
char **  imgdata,
uint64_t *  imgsize 
)

Get a screen shot from the connected device.

Parameters
clientThe connection screenshotr service client.
imgdataPointer 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.
imgsizePointer 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 occured.