103#define IMUX_PORT_LOCAL 0x18ae
106#define IMUX_PORT_LOCKDOWND 62078
112#define IMUX_WINDOW 0x0200
159#define IMUX_IN_MAX_FILL 1
165#define IMUX_IN_MTU 4096
225#define IPAIR_RETRY_DELAY ( 1 * TICKS_PER_SEC )
235#define IPHONE_GET_MAC \
236 ( USB_DIR_IN | USB_TYPE_VENDOR | USB_RECIP_DEVICE | \
237 USB_REQUEST_TYPE ( 0x00 ) )
240#define IPHONE_GET_LINK \
241 ( USB_DIR_IN | USB_TYPE_VENDOR | USB_RECIP_DEVICE | \
242 USB_REQUEST_TYPE ( 0x45 ) )
272#define IPHONE_IN_PAD 2
278#define IPHONE_IN_MTU ( ETH_FRAME_LEN + IPHONE_IN_PAD )
284#define IPHONE_IN_MAX_FILL 8
290#define IPHONE_LINK_CHECK_INTERVAL ( 5 * TICKS_PER_SEC )
#define FILE_LICENCE(_licence)
Declare a particular licence as applying to a file.
#define FILE_SECBOOT(_status)
Declare a file's UEFI Secure Boot permission status.
Universal Serial Bus (USB)
ipair_flags
Pairing client state flags.
@ IPAIR_TLS
TLS session has been started.
@ IPAIR_RX_LEN
Standalone length has been received.
@ IPAIR_REQUEST
Request a new pairing.
iphone_link_status
An iPhone link status.
@ IPHONE_LINK_UNKNOWN
Link not yet determined.
@ IPHONE_LINK_DISABLED
Personal Hotspot is disabled.
imux_protocol
iPhone USB multiplexer protocols
@ IMUX_VERSION
Version number.
void msg(unsigned int row, const char *fmt,...)
Print message centred on specified row.
An iPhone pairing certificate set.
struct x509_certificate * device
Device certificate.
struct private_key * key
"Private" key
struct x509_certificate * host
Host certificate.
struct x509_certificate * root
Root certificate.
An iPhone USB multiplexer.
struct process process
Polling process.
uint16_t in_seq
Input sequence.
uint16_t out_seq
Output sequence.
struct usbnet_device usbnet
USB network device.
uint16_t port
Pseudo-TCP local port number.
int(* action)(struct imux *imux)
Pending action.
struct refcnt refcnt
Reference counter.
struct usb_bus * bus
USB bus.
struct usb_device * usb
USB device.
struct list_head list
List of USB multiplexers.
uint32_t tcp_ack
Pseudo-TCP acknowledgement number.
struct interface tcp
Pseudo-TCP lockdown socket interface.
uint32_t tcp_seq
Pseudo-TCP sequence number.
unsigned int flags
Pairing flags.
An iPhone pairing client.
struct interface xfer
Data transfer interface.
struct retry_timer timer
Pairing timer.
unsigned int flags
State flags.
int(* tx)(struct ipair *ipair)
Transmit message.
struct refcnt refcnt
Reference counter.
int(* rx)(struct ipair *ipair, char *msg)
Receive message.
struct icert icert
Pairing certificates.
An iPhone network device.
struct usb_device * usb
USB device.
struct net_device * netdev
Network device.
struct list_head list
List of iPhone network devices.
struct retry_timer timer
Link status check timer.
struct usb_bus * bus
USB bus.
struct usbnet_device usbnet
USB network device.
A doubly-linked list entry (or list head)