/
usr
/
src
/
linux-headers-5.15.0-181
/
include
/
linux
/
usb
/
/usr/src/linux-headers-5.15.0-181/include/linux/usb
mkdir
upload
Name
Size
Mode
Actions
audio-v2.h
14356
0644
edit
dl
rm
audio-v3.h
14270
0644
edit
dl
rm
audio.h
1261
0644
edit
dl
rm
c67x00.h
1867
0644
edit
dl
rm
ccid.h
787
0644
edit
dl
rm
cdc-wdm.h
701
0644
edit
dl
rm
cdc.h
1517
0644
edit
dl
rm
cdc_ncm.h
5978
0644
edit
dl
rm
ch9.h
2342
0644
edit
dl
rm
chipidea.h
3512
0644
edit
dl
rm
composite.h
26172
0644
edit
dl
rm
ehci-dbgp.h
2099
0644
edit
dl
rm
ehci_def.h
8277
0644
edit
dl
rm
ehci_pdriver.h
2395
0644
edit
dl
rm
ezusb.h
286
0644
edit
dl
rm
functionfs.h
151
0644
edit
dl
rm
gadget.h
37543
0644
edit
dl
rm
gadget_configfs.h
3014
0644
edit
dl
rm
g_hid.h
1158
0644
edit
dl
rm
hcd.h
28343
0644
edit
dl
rm
input.h
716
0644
edit
dl
rm
iowarrior.h
1374
0644
edit
dl
rm
irda.h
3853
0644
edit
dl
rm
isp116x.h
1160
0644
edit
dl
rm
isp1301.h
2433
0644
edit
dl
rm
isp1362.h
1628
0644
edit
dl
rm
m66592.h
1444
0644
edit
dl
rm
musb-ux500.h
899
0644
edit
dl
rm
musb.h
3600
0644
edit
dl
rm
net2280.h
24120
0644
edit
dl
rm
of.h
1859
0644
edit
dl
rm
ohci_pdriver.h
1748
0644
edit
dl
rm
otg-fsm.h
8823
0644
edit
dl
rm
otg.h
3158
0644
edit
dl
rm
pd.h
15254
0644
edit
dl
rm
pd_ado.h
1191
0644
edit
dl
rm
pd_bdo.h
555
0644
edit
dl
rm
pd_ext_sdb.h
698
0644
edit
dl
rm
pd_vdo.h
16554
0644
edit
dl
rm
phy.h
8435
0644
edit
dl
rm
phy_companion.h
1197
0644
edit
dl
rm
quirks.h
2403
0644
edit
dl
rm
r8a66597.h
18069
0644
edit
dl
rm
r8152.h
1067
0644
edit
dl
rm
renesas_usbhs.h
4303
0644
edit
dl
rm
rndis_host.h
6080
0644
edit
dl
rm
role.h
3663
0644
edit
dl
rm
serial.h
17596
0644
edit
dl
rm
sl811.h
838
0644
edit
dl
rm
storage.h
2645
0644
edit
dl
rm
tcpci.h
6883
0644
edit
dl
rm
tcpm.h
6614
0644
edit
dl
rm
tegra_usb_phy.h
2586
0644
edit
dl
rm
typec.h
9590
0644
edit
dl
rm
typec_altmode.h
6639
0644
edit
dl
rm
typec_dp.h
3998
0644
edit
dl
rm
typec_mux.h
2115
0644
edit
dl
rm
typec_tbt.h
1774
0644
edit
dl
rm
uas.h
2121
0644
edit
dl
rm
ulpi.h
2319
0644
edit
dl
rm
usb338x.h
7977
0644
edit
dl
rm
usbnet.h
10825
0644
edit
dl
rm
usb_phy_generic.h
582
0644
edit
dl
rm
xhci-dbgp.h
825
0644
edit
dl
rm
Edit:
/usr/src/linux-headers-5.15.0-181/include/linux/usb/rndis_host.h
(6080B)
// SPDX-License-Identifier: GPL-2.0+ /* * Host Side support for RNDIS Networking Links * Copyright (C) 2005 by David Brownell * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ #ifndef __LINUX_USB_RNDIS_HOST_H #define __LINUX_USB_RNDIS_HOST_H #include <linux/rndis.h> /* * CONTROL uses CDC "encapsulated commands" with funky notifications. * - control-out: SEND_ENCAPSULATED * - interrupt-in: RESPONSE_AVAILABLE * - control-in: GET_ENCAPSULATED * * We'll try to ignore the RESPONSE_AVAILABLE notifications. * * REVISIT some RNDIS implementations seem to have curious issues still * to be resolved. */ struct rndis_msg_hdr { __le32 msg_type; /* RNDIS_MSG_* */ __le32 msg_len; /* followed by data that varies between messages */ __le32 request_id; __le32 status; /* ... and more */ } __attribute__ ((packed)); /* MS-Windows uses this strange size, but RNDIS spec says 1024 minimum */ #define CONTROL_BUFFER_SIZE 1025 /* RNDIS defines an (absurdly huge) 10 second control timeout, * but ActiveSync seems to use a more usual 5 second timeout * (which matches the USB 2.0 spec). */ #define RNDIS_CONTROL_TIMEOUT_MS (5 * 1000) struct rndis_data_hdr { __le32 msg_type; /* RNDIS_MSG_PACKET */ __le32 msg_len; /* rndis_data_hdr + data_len + pad */ __le32 data_offset; /* 36 -- right after header */ __le32 data_len; /* ... real packet size */ __le32 oob_data_offset; /* zero */ __le32 oob_data_len; /* zero */ __le32 num_oob; /* zero */ __le32 packet_data_offset; /* zero */ __le32 packet_data_len; /* zero */ __le32 vc_handle; /* zero */ __le32 reserved; /* zero */ } __attribute__ ((packed)); struct rndis_init { /* OUT */ /* header and: */ __le32 msg_type; /* RNDIS_MSG_INIT */ __le32 msg_len; /* 24 */ __le32 request_id; __le32 major_version; /* of rndis (1.0) */ __le32 minor_version; __le32 max_transfer_size; } __attribute__ ((packed)); struct rndis_init_c { /* IN */ /* header and: */ __le32 msg_type; /* RNDIS_MSG_INIT_C */ __le32 msg_len; __le32 request_id; __le32 status; __le32 major_version; /* of rndis (1.0) */ __le32 minor_version; __le32 device_flags; __le32 medium; /* zero == 802.3 */ __le32 max_packets_per_message; __le32 max_transfer_size; __le32 packet_alignment; /* max 7; (1<<n) bytes */ __le32 af_list_offset; /* zero */ __le32 af_list_size; /* zero */ } __attribute__ ((packed)); struct rndis_halt { /* OUT (no reply) */ /* header and: */ __le32 msg_type; /* RNDIS_MSG_HALT */ __le32 msg_len; __le32 request_id; } __attribute__ ((packed)); struct rndis_query { /* OUT */ /* header and: */ __le32 msg_type; /* RNDIS_MSG_QUERY */ __le32 msg_len; __le32 request_id; __le32 oid; __le32 len; __le32 offset; /*?*/ __le32 handle; /* zero */ } __attribute__ ((packed)); struct rndis_query_c { /* IN */ /* header and: */ __le32 msg_type; /* RNDIS_MSG_QUERY_C */ __le32 msg_len; __le32 request_id; __le32 status; __le32 len; __le32 offset; } __attribute__ ((packed)); struct rndis_set { /* OUT */ /* header and: */ __le32 msg_type; /* RNDIS_MSG_SET */ __le32 msg_len; __le32 request_id; __le32 oid; __le32 len; __le32 offset; /*?*/ __le32 handle; /* zero */ } __attribute__ ((packed)); struct rndis_set_c { /* IN */ /* header and: */ __le32 msg_type; /* RNDIS_MSG_SET_C */ __le32 msg_len; __le32 request_id; __le32 status; } __attribute__ ((packed)); struct rndis_reset { /* IN */ /* header and: */ __le32 msg_type; /* RNDIS_MSG_RESET */ __le32 msg_len; __le32 reserved; } __attribute__ ((packed)); struct rndis_reset_c { /* OUT */ /* header and: */ __le32 msg_type; /* RNDIS_MSG_RESET_C */ __le32 msg_len; __le32 status; __le32 addressing_lost; } __attribute__ ((packed)); struct rndis_indicate { /* IN (unrequested) */ /* header and: */ __le32 msg_type; /* RNDIS_MSG_INDICATE */ __le32 msg_len; __le32 status; __le32 length; __le32 offset; /**/ __le32 diag_status; __le32 error_offset; /**/ __le32 message; } __attribute__ ((packed)); struct rndis_keepalive { /* OUT (optionally IN) */ /* header and: */ __le32 msg_type; /* RNDIS_MSG_KEEPALIVE */ __le32 msg_len; __le32 request_id; } __attribute__ ((packed)); struct rndis_keepalive_c { /* IN (optionally OUT) */ /* header and: */ __le32 msg_type; /* RNDIS_MSG_KEEPALIVE_C */ __le32 msg_len; __le32 request_id; __le32 status; } __attribute__ ((packed)); /* default filter used with RNDIS devices */ #define RNDIS_DEFAULT_FILTER ( \ RNDIS_PACKET_TYPE_DIRECTED | \ RNDIS_PACKET_TYPE_BROADCAST | \ RNDIS_PACKET_TYPE_ALL_MULTICAST | \ RNDIS_PACKET_TYPE_PROMISCUOUS) /* Flags to require specific physical medium type for generic_rndis_bind() */ #define FLAG_RNDIS_PHYM_NOT_WIRELESS 0x0001 #define FLAG_RNDIS_PHYM_WIRELESS 0x0002 /* Flags for driver_info::data */ #define RNDIS_DRIVER_DATA_POLL_STATUS 1 /* poll status before control */ extern void rndis_status(struct usbnet *dev, struct urb *urb); extern int rndis_command(struct usbnet *dev, struct rndis_msg_hdr *buf, int buflen); extern int generic_rndis_bind(struct usbnet *dev, struct usb_interface *intf, int flags); extern void rndis_unbind(struct usbnet *dev, struct usb_interface *intf); extern int rndis_rx_fixup(struct usbnet *dev, struct sk_buff *skb); extern struct sk_buff * rndis_tx_fixup(struct usbnet *dev, struct sk_buff *skb, gfp_t flags); #endif /* __LINUX_USB_RNDIS_HOST_H */
Save
cmd:
run