test icmp

Dependencies:   mbed

Fork of ethspam by Rolf Meyer

Committer:
jamessayer
Date:
Fri Apr 24 03:11:02 2015 +0000
Revision:
1:feaa107f56b3
first version;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
jamessayer 1:feaa107f56b3 1 #ifndef UDP_H
jamessayer 1:feaa107f56b3 2 #define UDP_H
jamessayer 1:feaa107f56b3 3
jamessayer 1:feaa107f56b3 4 #include "net.h"
jamessayer 1:feaa107f56b3 5
jamessayer 1:feaa107f56b3 6 /**
jamessayer 1:feaa107f56b3 7 \file udp.h
jamessayer 1:feaa107f56b3 8 \brief UDP packet
jamessayer 1:feaa107f56b3 9
jamessayer 1:feaa107f56b3 10 This file contains the memory map and associated functions for UDP packet
jamessayer 1:feaa107f56b3 11 creation and deconstruction.
jamessayer 1:feaa107f56b3 12 */
jamessayer 1:feaa107f56b3 13
jamessayer 1:feaa107f56b3 14 #define IPPROTO_UDP 0x11
jamessayer 1:feaa107f56b3 15
jamessayer 1:feaa107f56b3 16 /// UDP Packet memory map
jamessayer 1:feaa107f56b3 17 typedef struct {
jamessayer 1:feaa107f56b3 18 u16 source_port; ///< Source port (1-65535)
jamessayer 1:feaa107f56b3 19 u16 destination_port; ///< Destination port (1-65535)
jamessayer 1:feaa107f56b3 20 u16 length; ///< Entire datagram size in bytes
jamessayer 1:feaa107f56b3 21 u16 checksum; ///< Checksum
jamessayer 1:feaa107f56b3 22 u8 data[]; ///< Data memory map
jamessayer 1:feaa107f56b3 23 } UDP_Packet;
jamessayer 1:feaa107f56b3 24
jamessayer 1:feaa107f56b3 25 /// Convert from wire to host or host to wire endianness
jamessayer 1:feaa107f56b3 26 inline void fix_endian_udp(UDP_Packet *segment)
jamessayer 1:feaa107f56b3 27 {
jamessayer 1:feaa107f56b3 28 fix_endian_u16(&segment->source_port);
jamessayer 1:feaa107f56b3 29 fix_endian_u16(&segment->destination_port);
jamessayer 1:feaa107f56b3 30 fix_endian_u16(&segment->length);
jamessayer 1:feaa107f56b3 31 }
jamessayer 1:feaa107f56b3 32
jamessayer 1:feaa107f56b3 33 /// Print the UDP packet
jamessayer 1:feaa107f56b3 34 inline void print_udp(UDP_Packet *segment)
jamessayer 1:feaa107f56b3 35 {
jamessayer 1:feaa107f56b3 36 printf("UDP Packet: \n");
jamessayer 1:feaa107f56b3 37 printf(" Source: PORT %d \n", segment->source_port);
jamessayer 1:feaa107f56b3 38 printf(" Dest: PORT %d \n", segment->destination_port);
jamessayer 1:feaa107f56b3 39 printf(" Length: %d \n", segment->length);
jamessayer 1:feaa107f56b3 40 }
jamessayer 1:feaa107f56b3 41
jamessayer 1:feaa107f56b3 42 #endif