OXIESEC PANEL
- Current Dir:
/
/
usr
/
src
/
linux-headers-4.15.0-197
/
include
/
linux
/
usb
Server IP: 139.59.38.164
Upload:
Create Dir:
Name
Size
Modified
Perms
📁
..
-
11/17/2022 06:42:23 AM
rwxr-xr-x
📄
association.h
4.59 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
atmel_usba_udc.h
421 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
audio-v2.h
13.17 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
audio.h
1.23 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
c67x00.h
1.82 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
cdc-wdm.h
651 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
cdc.h
1.48 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
cdc_ncm.h
5.56 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
ch9.h
2.5 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
chipidea.h
2.77 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
composite.h
25.17 KB
11/01/2022 04:52:05 PM
rw-r--r--
📄
ehci-dbgp.h
2.05 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
ehci_def.h
7.89 KB
11/01/2022 04:52:05 PM
rw-r--r--
📄
ehci_pdriver.h
2.31 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
ezusb.h
286 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
functionfs.h
151 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
g_hid.h
1.13 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
gadget.h
32.65 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
gadget_configfs.h
2.94 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
gpio_vbus.h
1.13 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
hcd.h
25.93 KB
11/01/2022 04:52:05 PM
rw-r--r--
📄
input.h
716 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
iowarrior.h
1.34 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
irda.h
3.76 KB
11/01/2022 04:52:05 PM
rw-r--r--
📄
isp116x.h
1.13 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
isp1301.h
2.38 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
isp1362.h
1.59 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
isp1760.h
633 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
m66592.h
1.41 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
musb-ux500.h
899 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
musb.h
4.59 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
net2280.h
23.55 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
of.h
1.46 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
ohci_pdriver.h
1.71 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
otg-fsm.h
8.61 KB
11/01/2022 04:52:05 PM
rw-r--r--
📄
otg.h
3.01 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
pd.h
8.98 KB
11/01/2022 04:52:05 PM
rw-r--r--
📄
pd_bdo.h
1011 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
pd_vdo.h
7.58 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
phy.h
9.25 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
phy_companion.h
1.17 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
quirks.h
2.34 KB
11/01/2022 04:52:05 PM
rw-r--r--
📄
r8a66597.h
17.65 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
renesas_usbhs.h
4.76 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
rndis_host.h
5.94 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
samsung_usb_phy.h
530 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
serial.h
17.12 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
sl811.h
838 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
storage.h
2.58 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
tcpm.h
6.46 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
tegra_usb_phy.h
2.38 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
tilegx.h
983 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
typec.h
7.04 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
uas.h
2.07 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
ulpi.h
1.99 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
usb338x.h
7.63 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
usb_phy_generic.h
892 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
usbnet.h
10.01 KB
11/01/2022 04:52:05 PM
rw-r--r--
📄
wusb-wa.h
7.5 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
wusb.h
9.92 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
xhci-dbgp.h
825 bytes
01/28/2018 09:20:33 PM
rw-r--r--
Editing: wusb-wa.h
Close
// SPDX-License-Identifier: GPL-2.0 /* * Wireless USB Wire Adapter constants and structures. * * Copyright (C) 2005-2006 Intel Corporation. * Inaky Perez-Gonzalez <inaky.perez-gonzalez@intel.com> * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License version * 2 as published by the Free Software Foundation. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA * 02110-1301, USA. * * * FIXME: docs * FIXME: organize properly, group logically * * All the event structures are defined in uwb/spec.h, as they are * common to the WHCI and WUSB radio control interfaces. * * References: * [WUSB] Wireless Universal Serial Bus Specification, revision 1.0, ch8 */ #ifndef __LINUX_USB_WUSB_WA_H #define __LINUX_USB_WUSB_WA_H /** * Radio Command Request for the Radio Control Interface * * Radio Control Interface command and event codes are the same as * WHCI, and listed in include/linux/uwb.h:UWB_RC_{CMD,EVT}_* */ enum { WA_EXEC_RC_CMD = 40, /* Radio Control command Request */ }; /* Wireless Adapter Requests ([WUSB] table 8-51) */ enum { WUSB_REQ_ADD_MMC_IE = 20, WUSB_REQ_REMOVE_MMC_IE = 21, WUSB_REQ_SET_NUM_DNTS = 22, WUSB_REQ_SET_CLUSTER_ID = 23, WUSB_REQ_SET_DEV_INFO = 24, WUSB_REQ_GET_TIME = 25, WUSB_REQ_SET_STREAM_IDX = 26, WUSB_REQ_SET_WUSB_MAS = 27, WUSB_REQ_CHAN_STOP = 28, }; /* Wireless Adapter WUSB Channel Time types ([WUSB] table 8-52) */ enum { WUSB_TIME_ADJ = 0, WUSB_TIME_BPST = 1, WUSB_TIME_WUSB = 2, }; enum { WA_ENABLE = 0x01, WA_RESET = 0x02, RPIPE_PAUSE = 0x1, RPIPE_STALL = 0x2, }; /* Responses from Get Status request ([WUSB] section 8.3.1.6) */ enum { WA_STATUS_ENABLED = 0x01, WA_STATUS_RESETTING = 0x02 }; enum rpipe_crs { RPIPE_CRS_CTL = 0x01, RPIPE_CRS_ISO = 0x02, RPIPE_CRS_BULK = 0x04, RPIPE_CRS_INTR = 0x08 }; /** * RPipe descriptor ([WUSB] section 8.5.2.11) * * FIXME: explain rpipes */ struct usb_rpipe_descriptor { u8 bLength; u8 bDescriptorType; __le16 wRPipeIndex; __le16 wRequests; __le16 wBlocks; /* rw if 0 */ __le16 wMaxPacketSize; /* rw */ union { u8 dwa_bHSHubAddress; /* rw: DWA. */ u8 hwa_bMaxBurst; /* rw: HWA. */ }; union { u8 dwa_bHSHubPort; /* rw: DWA. */ u8 hwa_bDeviceInfoIndex; /* rw: HWA. */ }; u8 bSpeed; /* rw: xfer rate 'enum uwb_phy_rate' */ union { u8 dwa_bDeviceAddress; /* rw: DWA Target device address. */ u8 hwa_reserved; /* rw: HWA. */ }; u8 bEndpointAddress; /* rw: Target EP address */ u8 bDataSequence; /* ro: Current Data sequence */ __le32 dwCurrentWindow; /* ro */ u8 bMaxDataSequence; /* ro?: max supported seq */ u8 bInterval; /* rw: */ u8 bOverTheAirInterval; /* rw: */ u8 bmAttribute; /* ro? */ u8 bmCharacteristics; /* ro? enum rpipe_attr, supported xsactions */ u8 bmRetryOptions; /* rw? */ __le16 wNumTransactionErrors; /* rw */ } __attribute__ ((packed)); /** * Wire Adapter Notification types ([WUSB] sections 8.4.5 & 8.5.4) * * These are the notifications coming on the notification endpoint of * an HWA and a DWA. */ enum wa_notif_type { DWA_NOTIF_RWAKE = 0x91, DWA_NOTIF_PORTSTATUS = 0x92, WA_NOTIF_TRANSFER = 0x93, HWA_NOTIF_BPST_ADJ = 0x94, HWA_NOTIF_DN = 0x95, }; /** * Wire Adapter notification header * * Notifications coming from a wire adapter use a common header * defined in [WUSB] sections 8.4.5 & 8.5.4. */ struct wa_notif_hdr { u8 bLength; u8 bNotifyType; /* enum wa_notif_type */ } __packed; /** * HWA DN Received notification [(WUSB] section 8.5.4.2) * * The DNData is specified in WUSB1.0[7.6]. For each device * notification we received, we just need to dispatch it. * * @dndata: this is really an array of notifications, but all start * with the same header. */ struct hwa_notif_dn { struct wa_notif_hdr hdr; u8 bSourceDeviceAddr; /* from errata 2005/07 */ u8 bmAttributes; struct wusb_dn_hdr dndata[]; } __packed; /* [WUSB] section 8.3.3 */ enum wa_xfer_type { WA_XFER_TYPE_CTL = 0x80, WA_XFER_TYPE_BI = 0x81, /* bulk/interrupt */ WA_XFER_TYPE_ISO = 0x82, WA_XFER_RESULT = 0x83, WA_XFER_ABORT = 0x84, WA_XFER_ISO_PACKET_INFO = 0xA0, WA_XFER_ISO_PACKET_STATUS = 0xA1, }; /* [WUSB] section 8.3.3 */ struct wa_xfer_hdr { u8 bLength; /* 0x18 */ u8 bRequestType; /* 0x80 WA_REQUEST_TYPE_CTL */ __le16 wRPipe; /* RPipe index */ __le32 dwTransferID; /* Host-assigned ID */ __le32 dwTransferLength; /* Length of data to xfer */ u8 bTransferSegment; } __packed; struct wa_xfer_ctl { struct wa_xfer_hdr hdr; u8 bmAttribute; __le16 wReserved; struct usb_ctrlrequest baSetupData; } __packed; struct wa_xfer_bi { struct wa_xfer_hdr hdr; u8 bReserved; __le16 wReserved; } __packed; /* [WUSB] section 8.5.5 */ struct wa_xfer_hwaiso { struct wa_xfer_hdr hdr; u8 bReserved; __le16 wPresentationTime; __le32 dwNumOfPackets; } __packed; struct wa_xfer_packet_info_hwaiso { __le16 wLength; u8 bPacketType; u8 bReserved; __le16 PacketLength[0]; } __packed; struct wa_xfer_packet_status_len_hwaiso { __le16 PacketLength; __le16 PacketStatus; } __packed; struct wa_xfer_packet_status_hwaiso { __le16 wLength; u8 bPacketType; u8 bReserved; struct wa_xfer_packet_status_len_hwaiso PacketStatus[0]; } __packed; /* [WUSB] section 8.3.3.5 */ struct wa_xfer_abort { u8 bLength; u8 bRequestType; __le16 wRPipe; /* RPipe index */ __le32 dwTransferID; /* Host-assigned ID */ } __packed; /** * WA Transfer Complete notification ([WUSB] section 8.3.3.3) * */ struct wa_notif_xfer { struct wa_notif_hdr hdr; u8 bEndpoint; u8 Reserved; } __packed; /** Transfer result basic codes [WUSB] table 8-15 */ enum { WA_XFER_STATUS_SUCCESS, WA_XFER_STATUS_HALTED, WA_XFER_STATUS_DATA_BUFFER_ERROR, WA_XFER_STATUS_BABBLE, WA_XFER_RESERVED, WA_XFER_STATUS_NOT_FOUND, WA_XFER_STATUS_INSUFFICIENT_RESOURCE, WA_XFER_STATUS_TRANSACTION_ERROR, WA_XFER_STATUS_ABORTED, WA_XFER_STATUS_RPIPE_NOT_READY, WA_XFER_INVALID_FORMAT, WA_XFER_UNEXPECTED_SEGMENT_NUMBER, WA_XFER_STATUS_RPIPE_TYPE_MISMATCH, }; /** [WUSB] section 8.3.3.4 */ struct wa_xfer_result { struct wa_notif_hdr hdr; __le32 dwTransferID; __le32 dwTransferLength; u8 bTransferSegment; u8 bTransferStatus; __le32 dwNumOfPackets; } __packed; /** * Wire Adapter Class Descriptor ([WUSB] section 8.5.2.7). * * NOTE: u16 fields are read Little Endian from the hardware. * * @bNumPorts is the original max number of devices that the host can * connect; we might chop this so the stack can handle * it. In case you need to access it, use wusbhc->ports_max * if it is a Wireless USB WA. */ struct usb_wa_descriptor { u8 bLength; u8 bDescriptorType; __le16 bcdWAVersion; u8 bNumPorts; /* don't use!! */ u8 bmAttributes; /* Reserved == 0 */ __le16 wNumRPipes; __le16 wRPipeMaxBlock; u8 bRPipeBlockSize; u8 bPwrOn2PwrGood; u8 bNumMMCIEs; u8 DeviceRemovable; /* FIXME: in DWA this is up to 16 bytes */ } __packed; /** * HWA Device Information Buffer (WUSB1.0[T8.54]) */ struct hwa_dev_info { u8 bmDeviceAvailability[32]; /* FIXME: ignored for now */ u8 bDeviceAddress; __le16 wPHYRates; u8 bmDeviceAttribute; } __packed; #endif /* #ifndef __LINUX_USB_WUSB_WA_H */