diff options
| author | Peter Lawrence <[email protected]> | 2020-04-12 15:41:18 -0500 |
|---|---|---|
| committer | Peter Lawrence <[email protected]> | 2020-04-12 15:41:18 -0500 |
| commit | bb3bbcc00bfa641d285b28931ceb8bd04c3f7651 (patch) | |
| tree | 3a6a47cf13ac41d4076ecf97362527e096bd2c6b /src/device/usbd.c | |
| parent | 13a3081d308828ae6e4b9a40bb8ac7bf5b0e424c (diff) | |
usbnet: OS-agnostic (Windows/Linux/macOS) network driver
Diffstat (limited to 'src/device/usbd.c')
| -rw-r--r-- | src/device/usbd.c | 38 |
1 files changed, 32 insertions, 6 deletions
diff --git a/src/device/usbd.c b/src/device/usbd.c index 2adac429c..9d15ea4a4 100644 --- a/src/device/usbd.c +++ b/src/device/usbd.c @@ -184,21 +184,47 @@ static usbd_class_driver_t const _usbd_driver[] = #endif #if CFG_TUD_NET +#if CFG_TUD_NET != OPT_NET_EEM + /* RNDIS management interface */ { - .class_code = -#if CFG_TUD_NET == OPT_NET_RNDIS - TUD_RNDIS_ITF_CLASS, -#else - TUSB_CLASS_CDC, + .class_code = TUD_RNDIS_ITF_CLASS, + .init = netd_init, + .reset = netd_reset, + .open = netd_open, + .control_request = netd_control_request, + .control_complete = netd_control_complete, + .xfer_cb = netd_xfer_cb, + .sof = NULL, + }, #endif + /* CDC-ECM management interface; CDC-EEM data interface */ + { + .class_code = TUSB_CLASS_CDC, .init = netd_init, .reset = netd_reset, +#if CFG_TUD_NET == OPT_NET_EEM + .open = netd_open_data, +#else .open = netd_open, +#endif .control_request = netd_control_request, .control_complete = netd_control_complete, .xfer_cb = netd_xfer_cb, - .sof = NULL + .sof = NULL, }, + /* RNDIS/CDC-ECM data interface */ +#if CFG_TUD_NET != OPT_NET_EEM + { + .class_code = TUSB_CLASS_CDC_DATA, + .init = netd_init_data, + .reset = NULL, + .open = netd_open_data, + .control_request = NULL, + .control_complete = NULL, + .xfer_cb = netd_xfer_cb, + .sof = NULL, + }, +#endif #endif }; |
