1/* 2 * Copyright (c) 2001-2003, Adam Dunkels. 3 * All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions 7 * are met: 8 * 1. Redistributions of source code must retain the above copyright 9 * notice, this list of conditions and the following disclaimer. 10 * 2. Redistributions in binary form must reproduce the above copyright 11 * notice, this list of conditions and the following disclaimer in the 12 * documentation and/or other materials provided with the distribution. 13 * 3. The name of the author may not be used to endorse or promote 14 * products derived from this software without specific prior 15 * written permission. 16 * 17 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS 18 * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 19 * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 20 * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY 21 * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 22 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE 23 * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 24 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 25 * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 26 * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 27 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 28 * 29 * This file was part of the uIP TCP/IP stack. 30 * 31 */ 32#ifndef __EAD_PCAP_H 33#define __EAD_PCAP_H 34 35#include <net/ethernet.h> 36#include <stdint.h> 37#include "ead.h" 38 39typedef uint8_t u8_t; 40typedef uint16_t u16_t; 41 42/* The UDP and IP headers. */ 43struct ead_packet { 44 struct ether_header eh; 45 /* IP header. */ 46 u8_t vhl, 47 tos, 48 len[2], 49 ipid[2], 50 ipoffset[2], 51 ttl, 52 proto; 53 u16_t ipchksum; 54 u16_t srcipaddr[2], 55 destipaddr[2]; 56 57 /* UDP header. */ 58 u16_t srcport, 59 destport; 60 u16_t udplen; 61 u16_t udpchksum; 62 63 struct ead_msg msg; 64} __attribute__((packed)); 65 66#define UIP_PROTO_UDP 17 67#define UIP_IPH_LEN 20 /* Size of IP header */ 68#define UIP_UDPH_LEN 8 /* Size of UDP header */ 69#define UIP_IPUDPH_LEN (UIP_UDPH_LEN + UIP_IPH_LEN) 70 71#endif 72