/*! safe_mod_init * @param function The function instance */ int safe_mod_init (void) { struct usbd_class_ethernet_networking_descriptor *ethernet; struct usbd_class_network_channel_descriptor *channel; int len = 0; char buf[255]; buf[0] = 0; #if 0 // Update the iMACAddress field in the ethernet descriptor { char address_str[14]; snprintf(address_str, 13, "%02x%02x%02x%02x%02x%02x", remote_dev_addr[0], remote_dev_addr[1], remote_dev_addr[2], remote_dev_addr[3], remote_dev_addr[4], remote_dev_addr[5]); if ((ethernet = &safe_class_4)) { if (ethernet->iMACAddress) { usbd_free_string_descriptor(ethernet->iMACAddress); } ethernet->iMACAddress = usbd_alloc_string(function_instance, address_str); } } #endif #ifdef CONFIG_OTG_NETWORK_SAFE_PADBEFORE safe_class_3.bmDataCapabilities |= BMDATA_PADBEFORE; len += sprintf(buf + len, "PADBEFORE: %02x ", safe_class_3.bmDataCapabilities); #endif #ifdef CONFIG_OTG_NETWORK_SAFE_CRC safe_class_3.bmDataCapabilities |= BMDATA_CRC; len += sprintf(buf + len, "CRC: %02x ", safe_class_3.bmDataCapabilities); #endif #ifndef CONFIG_OTG_NETWORK_SAFE_BRIDGED safe_class_3.bmNetworkCapabilities |= BMNETWORK_NONBRIDGED; len += sprintf(buf + len, "NONBRIDGE: %02x ", safe_class_3.bmNetworkCapabilities); #endif if (strlen(buf)) TRACE_MSG1(NTT,"%s", buf); return usbd_register_interface_function (&safe_interface_driver, "net-safe-if", NULL); }
/*! emc_mod_init * @brief initialize ecm interface module * @return int */ int ecm_mod_init (void) { return usbd_register_interface_function (&ecm_interface_driver, "cdc-ecm-if", NULL); }