Free (GPLv2) TCP/IP stack developed by TASS Belgium

Fork of PicoTCP by Daniele Lacamera

Committer:
daniele
Date:
Sat Aug 03 08:50:27 2013 +0000
Revision:
51:18637a3d071f
Parent:
3:b4047e8a0123
Branch for CDC-ECM: Work in progress

Who changed what in which revision?

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