Print this page
5832 EOF wireless usb (aka UWB)
Reviewed by: TBD
Reviewed by: TBD
Approved by: TBD

*** 19,28 **** --- 19,30 ---- * CDDL HEADER END */ /* * Copyright 2009 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. + * + * Copyright 2014 Garrett D'Amore <garrett@damore.org> */ #ifndef _SYS_USB_USBAI_H #define _SYS_USB_USBAI_H
*** 443,560 **** /* encoded string */ } usb_string_descr_t; #define USB_MAXSTRINGLEN 255 /* max string descr length */ - /* - * usb_bos_descr: - * usb BOS descriptor, refer to WUSB 1.0/7.4.1 - */ - typedef struct usb_bos_descr { - uint8_t bLength; - uint8_t bDescriptorType; - uint16_t wTotalLength; - uint8_t bNumDeviceCaps; - } usb_bos_descr_t; - - /* - * usb_dev_cap_header: - * usb device capability descriptor header, refer to WUSB 1.0/7.4.1 - */ - typedef struct usb_cap_descr_header { - uint8_t bLength; - uint8_t bDescriptorType; - uint8_t bDevCapabilityType; - } usb_cap_descr_header_t; - - typedef struct usb_cap_descr { - uint8_t bLength; - uint8_t bDescriptorType; /* set to DEVICE CAPABILITY */ - uint8_t bDevCapabilityType; - uint8_t bCapValue[1]; /* variable length data */ - } usb_cap_descr_t; - - #define USB_CAP_TYPE_WUSB 1 - - /* Wireless USB device capability descriptor - UWB descriptor */ - typedef struct usb_uwb_cap_descr { - uint8_t bLength; - uint8_t bDescriptorType; - uint8_t bDevCapabilityType; - uint8_t bmAttributes; - uint16_t wPHYRates; - uint8_t bmTFITXPowerInfo; - uint8_t bmFFITXPowerInfo; - uint16_t bmBandGroup; - uint8_t bReserved; - } usb_uwb_cap_descr_t; - - /* - * usb_ep_comp_descr: - * usb endpoint companion descriptor, refer to WUSB 1.0/7.4.4 - */ - typedef struct usb_ep_comp_descr { - uint8_t bLength; - uint8_t bDescriptorType; - uint8_t bMaxBurst; - uint8_t bMaxSequence; - uint16_t wMaxStreamDelay; - uint16_t wOverTheAirPacketSize; - uint8_t bOverTheAirInterval; - uint8_t bmCompAttributes; - } usb_ep_comp_descr_t; - - /* - * usb_security_descr: - * usb security descriptor, refer to WUSB 1.0/7.4.5 - */ - typedef struct usb_security_descr { - uint8_t bLength; - uint8_t bDescriptorType; - uint16_t wTotalLength; - uint8_t bNumEncryptionTypes; - } usb_security_descr_t; - - /* - * usb_encryption_descr: - * usb encryption descriptor, refer to WUSB 1.0/7.4.5 - */ - typedef struct usb_encryption_descr { - uint8_t bLength; - uint8_t bDescriptorType; - uint8_t bEncryptionType; - uint8_t bEncryptionValue; - uint8_t bAuthKeyIndex; - } usb_encryption_descr_t; - - #define USB_ENC_TYPE_UNSECURE 0x00 - #define USB_ENC_TYPE_WIRED 0x01 - #define USB_ENC_TYPE_CCM_1 0x02 - #define USB_ENC_TYPE_RSA_1 0x03 - - /* - * usb_key_descr: - * usb key descriptor, refer to WUSB 1.0/7.4.5 - */ - typedef struct usb_key_descr { - uint8_t bLength; - uint8_t bDescriptorType; - uint8_t tTKID[3]; - uint8_t bReserved; - uint8_t KeyData[1]; /* variable length */ - } usb_key_descr_t; - - #define USB_EP_COMP_DESCR_SIZE 10 - #define USB_BOS_DESCR_SIZE 5 - #define USB_CAP_DESCR_HEADER_SIZE 3 - #define USB_UWB_CAP_DESCR_SIZE 11 - #define USB_SECURITY_DESCR_SIZE 5 - #define USB_ENCRYPTION_DESCR_SIZE 5 - - - /* * *************************************************************************** * Client driver registration with USBA * *************************************************************************** * * The client registers with USBA during attach in two steps --- 445,455 ----
*** 620,630 **** /* * Tree data structure for each endpoint of each alternate */ typedef struct usb_ep_data { usb_ep_descr_t ep_descr; /* endpoint descriptor */ - usb_ep_comp_descr_t ep_comp_descr; /* endpoint companion descr */ struct usb_cvs_data *ep_cvs; /* cv mod/extending this ep */ uint_t ep_n_cvs; /* #elements in ep_cvs[] */ } usb_ep_data_t; --- 515,524 ----
*** 636,654 **** uint_t cvs_buf_len; /* cvs_buf size */ } usb_cvs_data_t; /* - * Data structure for wireless USB specific descriptor - */ - typedef struct usb_bos_data { - usb_bos_descr_t bos_descr; /* parsed bos descr */ - usb_uwb_cap_descr_t bos_uwb_cap; /* uwb cap descr */ - } usb_bos_data_t; - - - /* * Parse_level determines the extent to which the tree is built, the amount * of parsing usb_client_attach() is to do. It has the following values: * * USB_PARSE_LVL_NONE - Build no tree. dev_n_cfg will return 0, dev_cfg * will return NULL, the dev_curr_xxx fields will be --- 530,539 ----
*** 689,699 **** struct usb_cfg_data *dev_cfg; /* configs for this device */ /* indexed by config index */ uint_t dev_n_cfg; /* #elements in dev_cfg[] */ struct usb_cfg_data *dev_curr_cfg; /* current cfg */ int dev_curr_if; /* current interface number */ - struct usb_bos_data *dev_bos; /* bos for this device */ } usb_client_dev_data_t; /* * *************************************************************************** --- 574,583 ----