Stefan Schuermans
header fix
Stefan Schuermans commited d48e86e at 2012-05-02 18:39:39
/* flaneth - flash and ethernet
Copyright (C) 2007-2012 Stefan Schuermans <stefan@schuermans.info>
Copyleft: GNU public license V2 - http://www.gnu.org/copyleft/gpl.html
a BlinkenArea project - http://www.blinkenarea.org/ */
#include <string.h>
#include "arp.h"
#include "checksum.h"
#include "config.h"
#include "debug.h"
#include "ethernet.h"
#include "icmp.h"
#include "ip.h"
#include "macros.h"
#include "nethelp.h"
#include "tcp.h"
#include "udp.h"
// timing parameters
#define IpBufferTicksMax 50 // maximum age of buffered IP packet (in
// 200ms steps)
// buffers for IP packets to transmit
// - used if MAC is unknown when packet shall be transmitted
// - packet is sent when MAC becomes known
unsigned char IpBuffer0[80]; // some buffers with different length (IP
// packets have different length)
unsigned char IpBuffer1[80];
unsigned char IpBuffer2[160];
unsigned char IpBuffer3[320];
struct IpBufferTable // table with buffers
{
unsigned char *pBuffer; // pointer to buffer for packet
unsigned short BufferLength; // length of buffer
unsigned short PacketLength; // length of packet in buffer, 0 if no packet
// in this buffer
unsigned char Ticks; // age of entry in 200ms steps
} IpBufferTab[] = { // put smaller buffers in front of larger buffers
// - then short packets will use smaller buffers more often
{
IpBuffer0, sizeof(IpBuffer0), 0, 0}
, {
IpBuffer1, sizeof(IpBuffer1), 0, 0}
, {
IpBuffer2, sizeof(IpBuffer2), 0, 0}
, {
IpBuffer3, sizeof(IpBuffer3), 0, 0}
,};
// tick procedure - call every 200ms
 
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX