Interface and definitions for USB CDC ECM type interfaces. More...

Detailed Description

Interface and definitions for USB CDC ECM type interfaces.

Author
Koen Zandberg koen@.nosp@m.berg.nosp@m.zand..nosp@m.net

Definition in file ecm.h.

#include <stdint.h>
#include <stdlib.h>
#include "net/ethernet.h"
#include "net/ethernet/hdr.h"
#include "usb/descriptor.h"
#include "usb/usbus.h"
#include "usb/usbus/control.h"
#include "net/netdev.h"
#include "mutex.h"
+ Include dependency graph for ecm.h:

Go to the source code of this file.

Data Structures

struct  usbus_cdcecm_device
 USBUS CDC ECM device interface context. More...
 

Macros

#define USBUS_CDC_ECM_CONFIG_SPEED   1000000
 Link throughput as reported by the peripheral. More...
 
#define USBUS_CDC_ECM_CONFIG_SPEED_DOWNSTREAM   USBUS_CDC_ECM_CONFIG_SPEED
 Link download speed as reported by the peripheral.
 
#define USBUS_CDC_ECM_CONFIG_SPEED_UPSTREAM   USBUS_CDC_ECM_CONFIG_SPEED
 Link upload speed as reported by the peripheral.
 
#define USBUS_CDCECM_EP_CTRL_SIZE   16
 CDC ECM interrupt endpoint size. More...
 
#define USBUS_CDCECM_EP_DATA_SIZE   64
 CDC ECM bulk data endpoint size. More...
 

Typedefs

typedef struct usbus_cdcecm_device usbus_cdcecm_device_t
 USBUS CDC ECM device interface context.
 

Enumerations

enum  usbus_cdcecm_notif_t { USBUS_CDCECM_NOTIF_NONE, USBUS_CDCECM_NOTIF_LINK_UP, USBUS_CDCECM_NOTIF_SPEED }
 notification state, used to track which information must be send to the host More...
 

Functions

void usbus_cdcecm_init (usbus_t *usbus, usbus_cdcecm_device_t *handler)
 CDC ECM initialization function. More...