/*#######################################################################################
AVR Small Webserver 

Copyright (C) 2004 Ulrich Radig

#######################################################################################*/

#ifndef _MAIN_H
 #define _MAIN_H

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <avr/io.h>
#include <avr/pgmspace.h>
#include <avr/interrupt.h>
#include <avr/signal.h>
#include <avr/eeprom.h>

// #include "mmc.h"
#include "interrupt4.h"
// #include "fat.h"
#include "rtl8019.h"
#include "tcp.h"
#include "arp.h"
#include "ip.h"
#include "icmp.h"
// #include "clock.h"
// #include "uart.h"
// #include "ftpd.h"
#include "webpage.h"
// #include "telnet.h"

#define USE_MMC     0
#define USE_CLOCK   0
#define USE_FTPD    0
#define USE_TELNET  0

extern int checksum (unsigned char * ,unsigned int,unsigned long);
extern void httpd (char* buffer,int *bufferlen);

extern const unsigned char mymac[];
extern const unsigned char MYIP[];

//MTU Size setzen (min. 500 / max. 1400)
#define MTU_SIZE  500

//Maximale interne Frequenz des Mega8 ist 8 MHz
#define SYSCLK	8000000		//Quarz Frequenz in Hz
//#define SYSCLK	16000000	//Quarz Frequenz in Hz

#if defined (__AVR_ATmega103__)
	#define Networkcard_INT_Enable()	enable_external_int (1<<INT4);
#endif
	
#if defined (__AVR_ATmega128__)
	#define Networkcard_INT_Enable()	enable_external_int (1<<INT4);
#endif
	
#if defined (__AVR_ATmega32__)	
	#define Networkcard_INT_Enable()	enable_external_int (1<<INT0);
#endif	

#if defined (__AVR_ATmega8__)	
	#define Networkcard_INT_Enable()	GICR |= 1<<INT0;
	//enable_external_int (1<<INT0);
#endif	

#if defined (__AVR_ATmega32__)	
	#define Networkcard_INT_Set()	MCUCR=0x01;
#endif	
	
#if defined (__AVR_ATmega8__)	
	#define Networkcard_INT_Set()	MCUCR=0x01;
#endif	
	
#if defined (__AVR_ATmega103__)
	#define Networkcard_INT_Set()	EICR = 0x03;
#endif
	
#if defined (__AVR_ATmega128__)
	#define Networkcard_INT_Set()	EICR = 0x03;
#endif

#endif //_MAIN_H
