OXIESEC PANEL
- Current Dir:
/
/
usr
/
src
/
linux-headers-4.15.0-213
/
include
/
linux
/
usb
Server IP: 139.59.38.164
Upload:
Create Dir:
Name
Size
Modified
Perms
📁
..
-
05/09/2024 07:14:16 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
06/16/2023 05:32:39 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
06/16/2023 05:32:39 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
06/16/2023 05:32:39 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
06/16/2023 05:32:39 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
06/16/2023 05:32:39 PM
rw-r--r--
📄
otg.h
3.01 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
pd.h
8.98 KB
06/16/2023 05:32:39 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
06/16/2023 05:32:39 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
06/16/2023 05:32:39 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: cdc_ncm.h
Close
// SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) /* * Copyright (C) ST-Ericsson 2010-2012 * Contact: Alexey Orishko <alexey.orishko@stericsson.com> * Original author: Hans Petter Selasky <hans.petter.selasky@stericsson.com> * * USB Host Driver for Network Control Model (NCM) * http://www.usb.org/developers/devclass_docs/NCM10.zip * * The NCM encoding, decoding and initialization logic * derives from FreeBSD 8.x. if_cdce.c and if_cdcereg.h * * This software is available to you under a choice of one of two * licenses. You may choose this file to be licensed under the terms * of the GNU General Public License (GPL) Version 2 or the 2-clause * BSD license listed below: * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. */ #ifndef __LINUX_USB_CDC_NCM_H #define __LINUX_USB_CDC_NCM_H #define CDC_NCM_COMM_ALTSETTING_NCM 0 #define CDC_NCM_COMM_ALTSETTING_MBIM 1 #define CDC_NCM_DATA_ALTSETTING_NCM 1 #define CDC_NCM_DATA_ALTSETTING_MBIM 2 /* CDC NCM subclass 3.2.1 */ #define USB_CDC_NCM_NDP16_LENGTH_MIN 0x10 /* Maximum NTB length */ #define CDC_NCM_NTB_MAX_SIZE_TX 32768 /* bytes */ #define CDC_NCM_NTB_MAX_SIZE_RX 32768 /* bytes */ /* Initial NTB length */ #define CDC_NCM_NTB_DEF_SIZE_TX 16384 /* bytes */ #define CDC_NCM_NTB_DEF_SIZE_RX 16384 /* bytes */ /* Minimum value for MaxDatagramSize, ch. 6.2.9 */ #define CDC_NCM_MIN_DATAGRAM_SIZE 1514 /* bytes */ /* Minimum value for MaxDatagramSize, ch. 8.1.3 */ #define CDC_MBIM_MIN_DATAGRAM_SIZE 2048 /* bytes */ #define CDC_NCM_MIN_TX_PKT 512 /* bytes */ /* Default value for MaxDatagramSize */ #define CDC_NCM_MAX_DATAGRAM_SIZE 8192 /* bytes */ /* * Maximum amount of datagrams in NCM Datagram Pointer Table, not counting * the last NULL entry. */ #define CDC_NCM_DPT_DATAGRAMS_MAX 40 /* Restart the timer, if amount of datagrams is less than given value */ #define CDC_NCM_RESTART_TIMER_DATAGRAM_CNT 3 #define CDC_NCM_TIMER_PENDING_CNT 2 #define CDC_NCM_TIMER_INTERVAL_USEC 400UL #define CDC_NCM_TIMER_INTERVAL_MIN 5UL #define CDC_NCM_TIMER_INTERVAL_MAX (U32_MAX / NSEC_PER_USEC) /* Driver flags */ #define CDC_NCM_FLAG_NDP_TO_END 0x02 /* NDP is placed at end of frame */ #define CDC_MBIM_FLAG_AVOID_ALTSETTING_TOGGLE 0x04 /* Avoid altsetting toggle during init */ #define CDC_NCM_FLAG_RESET_NTB16 0x08 /* set NDP16 one more time after altsetting switch */ #define cdc_ncm_comm_intf_is_mbim(x) ((x)->desc.bInterfaceSubClass == USB_CDC_SUBCLASS_MBIM && \ (x)->desc.bInterfaceProtocol == USB_CDC_PROTO_NONE) #define cdc_ncm_data_intf_is_mbim(x) ((x)->desc.bInterfaceProtocol == USB_CDC_MBIM_PROTO_NTB) struct cdc_ncm_ctx { struct usb_cdc_ncm_ntb_parameters ncm_parm; struct hrtimer tx_timer; struct tasklet_struct bh; const struct usb_cdc_ncm_desc *func_desc; const struct usb_cdc_mbim_desc *mbim_desc; const struct usb_cdc_mbim_extended_desc *mbim_extended_desc; const struct usb_cdc_ether_desc *ether_desc; struct usb_interface *control; struct usb_interface *data; struct sk_buff *tx_curr_skb; struct sk_buff *tx_rem_skb; __le32 tx_rem_sign; spinlock_t mtx; atomic_t stop; int drvflags; u32 timer_interval; u32 max_ndp_size; struct usb_cdc_ncm_ndp16 *delayed_ndp16; u32 tx_timer_pending; u32 tx_curr_frame_num; u32 rx_max; u32 tx_max; u32 tx_curr_size; u32 tx_low_mem_max_cnt; u32 tx_low_mem_val; u32 max_datagram_size; u16 tx_max_datagrams; u16 tx_remainder; u16 tx_modulus; u16 tx_ndp_modulus; u16 tx_seq; u16 rx_seq; u16 min_tx_pkt; /* statistics */ u32 tx_curr_frame_payload; u32 tx_reason_ntb_full; u32 tx_reason_ndp_full; u32 tx_reason_timeout; u32 tx_reason_max_datagram; u64 tx_overhead; u64 tx_ntbs; u64 rx_overhead; u64 rx_ntbs; }; u8 cdc_ncm_select_altsetting(struct usb_interface *intf); int cdc_ncm_change_mtu(struct net_device *net, int new_mtu); int cdc_ncm_bind_common(struct usbnet *dev, struct usb_interface *intf, u8 data_altsetting, int drvflags); void cdc_ncm_unbind(struct usbnet *dev, struct usb_interface *intf); struct sk_buff *cdc_ncm_fill_tx_frame(struct usbnet *dev, struct sk_buff *skb, __le32 sign); int cdc_ncm_rx_verify_nth16(struct cdc_ncm_ctx *ctx, struct sk_buff *skb_in); int cdc_ncm_rx_verify_ndp16(struct sk_buff *skb_in, int ndpoffset); struct sk_buff * cdc_ncm_tx_fixup(struct usbnet *dev, struct sk_buff *skb, gfp_t flags); int cdc_ncm_rx_fixup(struct usbnet *dev, struct sk_buff *skb_in); #endif /* __LINUX_USB_CDC_NCM_H */