CDC/ECM driver for mbed, based on USBDevice by mbed-official. Uses PicoTCP to access Ethernet USB device. License: GPLv2
Fork of USB_Ethernet by
include/pico_addressing.h@2:540f6e142d59, 2013-08-03 (annotated)
- Committer:
- daniele
- Date:
- Sat Aug 03 13:16:14 2013 +0000
- Revision:
- 2:540f6e142d59
Moved to single package
Who changed what in which revision?
User | Revision | Line number | New 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 |