CDC/ECM driver for mbed, based on USBDevice by mbed-official. Uses PicoTCP to access Ethernet USB device. License: GPLv2

Dependents:   USBEthernet_TEST

Fork of USB_Ethernet by Daniele Lacamera

Committer:
daniele
Date:
Sat Aug 03 13:16:14 2013 +0000
Revision:
2:540f6e142d59
Moved to single package

Who changed what in which revision?

UserRevisionLine numberNew contents of line
daniele 2:540f6e142d59 1 /*********************************************************************
daniele 2:540f6e142d59 2 PicoTCP. Copyright (c) 2012 TASS Belgium NV. Some rights reserved.
daniele 2:540f6e142d59 3 See LICENSE and COPYING for usage.
daniele 2:540f6e142d59 4
daniele 2:540f6e142d59 5 *********************************************************************/
daniele 2:540f6e142d59 6 #ifndef _INCLUDE_PICO_ADDRESSING
daniele 2:540f6e142d59 7 #define _INCLUDE_PICO_ADDRESSING
daniele 2:540f6e142d59 8 #include <stdint.h>
daniele 2:540f6e142d59 9
daniele 2:540f6e142d59 10
daniele 2:540f6e142d59 11 struct pico_ip4
daniele 2:540f6e142d59 12 {
daniele 2:540f6e142d59 13 uint32_t addr;
daniele 2:540f6e142d59 14 };
daniele 2:540f6e142d59 15 #define PICO_SIZE_IP4 4
daniele 2:540f6e142d59 16
daniele 2:540f6e142d59 17
daniele 2:540f6e142d59 18 struct pico_ip6
daniele 2:540f6e142d59 19 {
daniele 2:540f6e142d59 20 uint8_t addr[16];
daniele 2:540f6e142d59 21 };
daniele 2:540f6e142d59 22 #define PICO_SIZE_IP6 16
daniele 2:540f6e142d59 23
daniele 2:540f6e142d59 24 struct pico_eth
daniele 2:540f6e142d59 25 {
daniele 2:540f6e142d59 26 uint8_t addr[6];
daniele 2:540f6e142d59 27 uint8_t padding[2];
daniele 2:540f6e142d59 28 };
daniele 2:540f6e142d59 29 #define PICO_SIZE_ETH 6
daniele 2:540f6e142d59 30
daniele 2:540f6e142d59 31 extern const uint8_t PICO_ETHADDR_ALL[];
daniele 2:540f6e142d59 32
daniele 2:540f6e142d59 33
daniele 2:540f6e142d59 34 struct pico_trans
daniele 2:540f6e142d59 35 {
daniele 2:540f6e142d59 36 uint16_t sport;
daniele 2:540f6e142d59 37 uint16_t dport;
daniele 2:540f6e142d59 38
daniele 2:540f6e142d59 39 };
daniele 2:540f6e142d59 40 #define PICO_SIZE_TRANS 8
daniele 2:540f6e142d59 41
daniele 2:540f6e142d59 42
daniele 2:540f6e142d59 43 /* Here are some protocols. */
daniele 2:540f6e142d59 44 #define PICO_PROTO_IPV4 0
daniele 2:540f6e142d59 45 #define PICO_PROTO_ICMP4 1
daniele 2:540f6e142d59 46 #define PICO_PROTO_IGMP 2
daniele 2:540f6e142d59 47 #define PICO_PROTO_TCP 6
daniele 2:540f6e142d59 48 #define PICO_PROTO_UDP 17
daniele 2:540f6e142d59 49 #define PICO_PROTO_IPV6 41
daniele 2:540f6e142d59 50 #define PICO_PROTO_ICMP6 58
daniele 2:540f6e142d59 51
daniele 2:540f6e142d59 52 #endif