libimobiledevice
1.1.6
|
Generic basic service implementation to inherit. More...
Macros | |
#define | SERVICE_CONSTRUCTOR(x) (int16_t (*)(idevice_t, lockdownd_service_descriptor_t, void**))(x) |
Typedefs | |
typedef int16_t | service_error_t |
Represents an error code. More... | |
typedef service_client_private * | service_client_t |
The client handle. More... | |
Functions | |
service_error_t | service_client_new (idevice_t device, lockdownd_service_descriptor_t service, service_client_t *client) |
Creates a new service for the specified service descriptor. More... | |
service_error_t | service_client_factory_start_service (idevice_t device, const char *service_name, void **client, const char *label, int16_t(*constructor_func)(idevice_t, lockdownd_service_descriptor_t, void **), int16_t *error_code) |
Starts a new service on the specified device with given name and connects to it. More... | |
service_error_t | service_client_free (service_client_t client) |
Frees a service instance. More... | |
service_error_t | service_send (service_client_t client, const char *data, uint32_t size, uint32_t *sent) |
Sends data using the given service client. More... | |
service_error_t | service_receive_with_timeout (service_client_t client, char *data, uint32_t size, uint32_t *received, unsigned int timeout) |
Receives data using the given service client with specified timeout. More... | |
service_error_t | service_receive (service_client_t client, char *data, uint32_t size, uint32_t *received) |
Receives data using the given service client. More... | |
service_error_t | service_enable_ssl (service_client_t client) |
Enable SSL for the given service client. More... | |
service_error_t | service_disable_ssl (service_client_t client) |
Disable SSL for the given service client. More... | |
Generic basic service implementation to inherit.
typedef service_client_private* service_client_t |
The client handle.
typedef int16_t service_error_t |
Represents an error code.
service_error_t service_client_factory_start_service | ( | idevice_t | device, |
const char * | service_name, | ||
void ** | client, | ||
const char * | label, | ||
int16_t(*)(idevice_t, lockdownd_service_descriptor_t, void **) | constructor_func, | ||
int16_t * | error_code | ||
) |
Starts a new service on the specified device with given name and connects to it.
device | The device to connect to. |
service_name | The name of the service to start. |
client | Pointer that will point to a newly allocated service_client_t upon successful return. Must be freed using service_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. |
References lockdownd_client_free(), lockdownd_client_new_with_handshake(), lockdownd_service_descriptor_free(), lockdownd_start_service(), and service_client_new().
Referenced by afc_client_start_service(), diagnostics_relay_client_start_service(), file_relay_client_start_service(), heartbeat_client_start_service(), house_arrest_client_start_service(), instproxy_client_start_service(), misagent_client_start_service(), mobile_image_mounter_start_service(), mobilebackup2_client_start_service(), mobilebackup_client_start_service(), mobilesync_client_start_service(), np_client_start_service(), sbservices_client_start_service(), screenshotr_client_start_service(), syslog_relay_client_start_service(), and webinspector_client_start_service().
service_error_t service_client_free | ( | service_client_t | client | ) |
Frees a service instance.
client | The service instance to free. |
References idevice_disconnect().
Referenced by afc_client_free(), afc_client_new(), and syslog_relay_client_free().
service_error_t service_client_new | ( | idevice_t | device, |
lockdownd_service_descriptor_t | service, | ||
service_client_t * | client | ||
) |
Creates a new service for the specified service descriptor.
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 service_client_t upon successful return. |
References idevice_connect(), and service_enable_ssl().
Referenced by afc_client_new(), service_client_factory_start_service(), and syslog_relay_client_new().
service_error_t service_disable_ssl | ( | service_client_t | client | ) |
Disable SSL for the given service client.
client | The connected service client for that SSL should be disabled. |
References idevice_connection_disable_ssl().
service_error_t service_enable_ssl | ( | service_client_t | client | ) |
Enable SSL for the given service client.
client | The connected service client for that SSL should be enabled. |
References idevice_connection_enable_ssl().
Referenced by service_client_new().
service_error_t service_receive | ( | service_client_t | client, |
char * | data, | ||
uint32_t | size, | ||
uint32_t * | received | ||
) |
Receives data using the given service client.
client | The service client to use for receiving |
data | Buffer that will be filled with the data received |
size | Number of bytes to receive |
received | Number of bytes received (can be NULL to ignore) |
References service_receive_with_timeout().
Referenced by mobilebackup2_receive_raw().
service_error_t service_receive_with_timeout | ( | service_client_t | client, |
char * | data, | ||
uint32_t | size, | ||
uint32_t * | received, | ||
unsigned int | timeout | ||
) |
Receives data using the given service client with specified timeout.
client | The service client to use for receiving |
data | Buffer that will be filled with the data received |
size | Number of bytes to receive |
received | Number of bytes received (can be NULL to ignore) |
timeout | Maximum time in milliseconds to wait for data. |
References idevice_connection_receive_timeout().
Referenced by service_receive(), and syslog_relay_receive_with_timeout().
service_error_t service_send | ( | service_client_t | client, |
const char * | data, | ||
uint32_t | size, | ||
uint32_t * | sent | ||
) |
Sends data using the given service client.
client | The service client to use for sending. |
data | Data to send |
size | Size of the data to send |
sent | Number of bytes sent (can be NULL to ignore) |
References idevice_connection_send().
Referenced by mobile_image_mounter_upload_image(), and mobilebackup2_send_raw().