companion_proxy.h File Reference

## Description

Companion proxy support.

## Macros

#define | COMPANION_PROXY_SERVICE_NAME "com.apple.companion_proxy"
| Service identifier passed to lockdownd_start_service() to start the companion proxy service.

## Typedefs

typedef companion_proxy_client_private * | companion_proxy_client_t
| The client handle.
typedef void(* | companion_proxy_device_event_cb_t) (plist_t event, void *userdata)
| Callback for companion device events.

## Enumerations

enum

companion_proxy_error_t {
COMPANION_PROXY_E_SUCCESS = 0 ,
COMPANION_PROXY_E_INVALID_ARG = -1 ,
COMPANION_PROXY_E_PLIST_ERROR = -2 ,
COMPANION_PROXY_E_MUX_ERROR = -3 ,
COMPANION_PROXY_E_SSL_ERROR = -4 ,
COMPANION_PROXY_E_NOT_ENOUGH_DATA = -5 ,
COMPANION_PROXY_E_TIMEOUT = -6 ,
COMPANION_PROXY_E_OP_IN_PROGRESS = -7 ,
COMPANION_PROXY_E_NO_DEVICES = -100 ,
COMPANION_PROXY_E_UNSUPPORTED_KEY = -101 ,
COMPANION_PROXY_E_TIMEOUT_REPLY = -102 ,
COMPANION_PROXY_E_UNKNOWN_ERROR = -256
}

| Error Codes.

## Functions

LIBIMOBILEDEVICE_API companion_proxy_error_t | companion_proxy_client_new (idevice_t device, lockdownd_service_descriptor_t service, companion_proxy_client_t *client)
| Connects to the companion_proxy service on the specified device.
LIBIMOBILEDEVICE_API companion_proxy_error_t | companion_proxy_client_start_service (idevice_t device, companion_proxy_client_t *client, const char *label)
| Starts a new companion_proxy service on the specified device and connects to it.
LIBIMOBILEDEVICE_API companion_proxy_error_t | companion_proxy_client_free (companion_proxy_client_t client)
| Disconnects a companion_proxy client from the device and frees up the companion_proxy client data.
LIBIMOBILEDEVICE_API companion_proxy_error_t | companion_proxy_send (companion_proxy_client_t client, plist_t plist)
| Sends a plist to the service.
LIBIMOBILEDEVICE_API companion_proxy_error_t | companion_proxy_receive (companion_proxy_client_t client, plist_t *plist)
| Receives a plist from the service.
LIBIMOBILEDEVICE_API companion_proxy_error_t | companion_proxy_get_device_registry (companion_proxy_client_t client, plist_t *paired_devices)
| Retrieves a list of paired devices.
LIBIMOBILEDEVICE_API companion_proxy_error_t | companion_proxy_start_listening_for_devices (companion_proxy_client_t client, companion_proxy_device_event_cb_t callback, void *userdata)
| Starts listening for paired devices.
LIBIMOBILEDEVICE_API companion_proxy_error_t | companion_proxy_stop_listening_for_devices (companion_proxy_client_t client)
| Stops listening for paired devices.
LIBIMOBILEDEVICE_API companion_proxy_error_t | companion_proxy_get_value_from_registry (companion_proxy_client_t client, const char *companion_udid, const char *key, plist_t *value)
| Returns a value for the given key.
LIBIMOBILEDEVICE_API companion_proxy_error_t | companion_proxy_start_forwarding_service_port (companion_proxy_client_t client, uint16_t remote_port, const char *service_name, uint16_t *forward_port, plist_t options)
| Start forwarding a service port on the companion device to a port on the idevice.
LIBIMOBILEDEVICE_API companion_proxy_error_t | companion_proxy_stop_forwarding_service_port (companion_proxy_client_t client, uint16_t remote_port)
| Stop forwarding a service port between companion device and idevice.