blob: 498eb5452a8c04771d02190ef6853cd5c1b6b93a [file] [log] [blame]
/*
* Copyright (c) 2017 Intel Corporation
*
* SPDX-License-Identifier: Apache-2.0
*/
/*
* USB definitions
*/
#define NETUSB_MTU 1500
struct netusb_function {
int num_ep;
struct usb_ep_cfg_data *ep;
int (*init)(void);
int (*connect_media)(bool status);
int (*send_pkt)(struct net_pkt *pkt);
int (*class_handler)(struct usb_setup_packet *setup, s32_t *len,
u8_t **data);
};
void netusb_recv(struct net_pkt *pkt);
int try_write(u8_t ep, u8_t *data, u16_t len);
#if defined(CONFIG_USB_DEVICE_NETWORK_ECM)
#define NETUSB_IFACE_IDX FIRST_IFACE_CDC_ECM
struct netusb_function ecm_function;
#elif defined(CONFIG_USB_DEVICE_NETWORK_RNDIS)
#define NETUSB_IFACE_IDX FIRST_IFACE_RNDIS
struct netusb_function rndis_function;
#elif defined(CONFIG_USB_DEVICE_NETWORK_EEM)
#define NETUSB_IFACE_IDX FIRST_IFACE_CDC_EEM
struct netusb_function eem_function;
#else
#error Unknown USB Device Networking function
#endif