service.h File Reference

## Description

Generic basic service implementation to inherit.

## Macros

#define | SERVICE_CONSTRUCTOR(x)
| service constructor cast

## Typedefs

typedef service_client_private * | service_client_t
| The client handle.

## Enumerations

enum | service_error_t { SERVICE_E_SUCCESS = 0 , SERVICE_E_INVALID_ARG = -1 , SERVICE_E_MUX_ERROR = -3 , SERVICE_E_SSL_ERROR = -4 , SERVICE_E_START_SERVICE_ERROR = -5 , SERVICE_E_NOT_ENOUGH_DATA = -6 , SERVICE_E_TIMEOUT = -7 , SERVICE_E_UNKNOWN_ERROR = -256 }
| Error Codes.

## Functions

LIBIMOBILEDEVICE_API 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.
LIBIMOBILEDEVICE_API service_error_t | service_client_factory_start_service (idevice_t device, const char *service_name, void **client, const char *label, int32_t(*constructor_func)(idevice_t, lockdownd_service_descriptor_t, void **), int32_t *error_code)
| Starts a new service on the specified device with given name and connects to it.
LIBIMOBILEDEVICE_API service_error_t | service_client_free (service_client_t client)
| Frees a service instance.
LIBIMOBILEDEVICE_API 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.
LIBIMOBILEDEVICE_API 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.
LIBIMOBILEDEVICE_API service_error_t | service_receive (service_client_t client, char *data, uint32_t size, uint32_t *received)
| Receives data using the given service client.
LIBIMOBILEDEVICE_API service_error_t | service_enable_ssl (service_client_t client)
| Enable SSL for the given service client.
LIBIMOBILEDEVICE_API service_error_t | service_disable_ssl (service_client_t client)
| Disable SSL for the given service client.
LIBIMOBILEDEVICE_API service_error_t | service_disable_bypass_ssl (service_client_t client, uint8_t sslBypass)
| Disable SSL for the given service client, optionally without sending SSL terminate messages.
LIBIMOBILEDEVICE_API service_error_t | service_get_connection (service_client_t client, idevice_connection_t *connection)
| Return a handle to the parent idevice_connection_t of the given service client.