00001
00016 #include <inet/debug.h>
00017 #include <inet/debug.h>
00018 #include <inet/arch/config.h>
00019 #include <inet/datatypes.h>
00020 #include <inet/timers.h>
00021 #include <inet/system.h>
00022 #include <inet/ethernet.h>
00023 #include <inet/ip.h>
00024 #include <inet/tcp_ip.h>
00025
00026
00027 struct netif localmachine;
00028
00029
00030 void main(void)
00031 {
00032 UINT16 len;
00033
00034
00035
00036
00037
00038
00039
00040
00041
00042
00043 init();
00044
00045
00046
00047
00048
00049
00050 localmachine.localip = 0xAC1006E9;
00051
00052 localmachine.defgw = 0xAC100101;
00053
00054 localmachine.netmask = 0xFFFF0000;
00055
00056 localmachine.localHW[5] = 0x00;
00057 localmachine.localHW[4] = 0x06;
00058 localmachine.localHW[3] = 0x70;
00059 localmachine.localHW[2] = 0xBA;
00060 localmachine.localHW[1] = 0xBE;
00061 localmachine.localHW[0] = 0xEE;
00062
00063
00064
00065 timer_pool_init();
00066
00067
00068
00069
00070 NE2000Init(&localmachine.localHW[0]);
00071 arp_init();
00072 udp_init();
00073 tcp_init();
00074
00075
00076 udp_demo_init();
00077 tpcc_demo_init();
00078 tcps_demo_init();
00079
00080
00081 DEBUGOUT(">>>>>>>>>Entering to MAIN LOOP>>>>>>>>>\n\r");
00082
00083
00084
00085 while(1) {
00086
00087
00088
00089
00090
00091
00092
00093
00094
00095 if( NETWORK_CHECK_IF_RECEIVED() == TRUE ) {
00096
00097 switch( received_frame.protocol) {
00098
00099 case PROTOCOL_ARP:
00100 process_arp(&received_frame);
00101 break;
00102
00103
00104 case PROTOCOL_IP:
00105 len = process_ip_in(&received_frame);
00106
00107 if(len < 0)
00108 break;
00109
00110 switch(received_ip_packet.protocol){
00111 case IP_ICMP:
00112 process_icmp_in (&received_ip_packet, len);
00113 break;
00114 case IP_UDP:
00115 process_udp_in (&received_ip_packet,len);
00116 break;
00117 case IP_TCP:
00118 process_tcp_in (&received_ip_packet, len);
00119 break;
00120 default:
00121 break;
00122 }
00123 break;
00124
00125 default:
00126
00127 break;
00128 }
00129
00130
00131 NETWORK_RECEIVE_END();
00132 }
00133
00134
00135
00136 udp_demo_run();
00137 tcpc_demo_run();
00138 tcps_demo_run();
00139
00140
00141
00142
00143 NE2000CheckOverFlow();
00144
00145 arp_manage();
00146
00147 tcp_poll();
00148 }
00149
00150 }
00151