#ifndef PCAN_USB_CORE_H
#define PCAN_USB_CORE_H
#define PCAN_USB_VENDOR_ID …
#define PCAN_USB_PRODUCT_ID …
#define PCAN_USBPRO_PRODUCT_ID …
#define PCAN_USBPROFD_PRODUCT_ID …
#define PCAN_USBFD_PRODUCT_ID …
#define PCAN_USBCHIP_PRODUCT_ID …
#define PCAN_USBX6_PRODUCT_ID …
#define PCAN_USB_DRIVER_NAME …
#define PCAN_USB_MAX_RX_URBS …
#define PCAN_USB_MAX_TX_URBS …
#define PCAN_USB_MAX_CHANNEL …
#define PCAN_USB_MAX_CMD_LEN …
struct peak_usb_device;
struct peak_usb_adapter { … };
extern const struct peak_usb_adapter pcan_usb;
extern const struct peak_usb_adapter pcan_usb_pro;
extern const struct peak_usb_adapter pcan_usb_fd;
extern const struct peak_usb_adapter pcan_usb_chip;
extern const struct peak_usb_adapter pcan_usb_pro_fd;
extern const struct peak_usb_adapter pcan_usb_x6;
struct peak_time_ref { … };
struct peak_tx_urb_context { … };
#define PCAN_USB_STATE_CONNECTED …
#define PCAN_USB_STATE_STARTED …
struct peak_usb_device { … };
void pcan_dump_mem(const char *prompt, const void *p, int l);
void peak_usb_init_time_ref(struct peak_time_ref *time_ref,
const struct peak_usb_adapter *adapter);
void peak_usb_update_ts_now(struct peak_time_ref *time_ref, u32 ts_now);
void peak_usb_set_ts_now(struct peak_time_ref *time_ref, u32 ts_now);
void peak_usb_get_ts_time(struct peak_time_ref *time_ref, u32 ts, ktime_t *tv);
int peak_usb_netif_rx_64(struct sk_buff *skb, u32 ts_low, u32 ts_high);
void peak_usb_async_complete(struct urb *urb);
void peak_usb_restart_complete(struct peak_usb_device *dev);
int pcan_get_ts_info(struct net_device *dev, struct kernel_ethtool_ts_info *info);
int peak_usb_get_eeprom_len(struct net_device *netdev);
int peak_usb_get_eeprom(struct net_device *netdev,
struct ethtool_eeprom *eeprom, u8 *data);
int peak_usb_set_eeprom(struct net_device *netdev,
struct ethtool_eeprom *eeprom, u8 *data);
#endif