OpenCores
URL https://opencores.org/ocsvn/plasma/plasma/trunk

Subversion Repositories plasma

[/] [plasma/] [trunk/] [kernel/] [tcpip.c] - Diff between revs 296 and 302

Go to most recent revision | Show entire file | Details | Blame | View Log

Rev 296 Rev 302
Line 27... Line 27...
#define _LIBC
#define _LIBC
#endif
#endif
#include "rtos.h"
#include "rtos.h"
#include "tcpip.h"
#include "tcpip.h"
 
 
#ifdef WIN32
 
#undef OS_CriticalBegin
 
#undef OS_CriticalEnd
 
#define OS_CriticalBegin() 0
 
#define OS_CriticalEnd(A)
 
#define OS_ThreadCreate(A,B,C,D,E) 0
 
#define OS_ThreadSleep(A)
 
#define OS_ThreadTime() 0
 
#define OS_ThreadSelf() 0
 
#define OS_MutexCreate(A) NULL
 
#define OS_MutexPend(A)
 
#define OS_MutexPost(A)
 
#define OS_MQueueCreate(A,B,C) 0
 
#define OS_MQueueSend(A,B) 0
 
#define OS_MQueueGet(A,B,C) 0
 
#define UartPacketConfig(A,B,C)
 
#define UartPacketSend(A,B)
 
#define UartPrintf printf
 
#define UartPrintfCritical printf
 
#define Led(A)
 
#define OS_Job(A,B,C,D) A(B,C,D)
 
#endif
 
 
 
//ETHER FIELD                 OFFSET   LENGTH   VALUE
//ETHER FIELD                 OFFSET   LENGTH   VALUE
#define ETHERNET_DEST         0        //6
#define ETHERNET_DEST         0        //6
#define ETHERNET_SOURCE       6        //6
#define ETHERNET_SOURCE       6        //6
#define ETHERNET_FRAME_TYPE   12       //2      IP=0x0800; ARP=0x0806
#define ETHERNET_FRAME_TYPE   12       //2      IP=0x0800; ARP=0x0806
Line 1121... Line 1099...
      frame->next = FrameFreeHead;
      frame->next = FrameFreeHead;
      frame->prev = NULL;
      frame->prev = NULL;
      FrameFreeHead = frame;
      FrameFreeHead = frame;
   }
   }
   FrameFreeCount = FRAME_COUNT;
   FrameFreeCount = FRAME_COUNT;
 
#ifndef WIN32
   UartPacketConfig(MyPacketGet, PACKET_SIZE, IPMQueue);
   UartPacketConfig(MyPacketGet, PACKET_SIZE, IPMQueue);
   if(frameSendFunction == NULL)
   if(frameSendFunction == NULL)
      IPThread = OS_ThreadCreate("TCP/IP", IPMainThread, NULL, 240, 6000);
      IPThread = OS_ThreadCreate("TCP/IP", IPMainThread, NULL, 240, 6000);
 
#endif
   IPDhcp(NULL, 360, 1);        //Send DHCP request
   IPDhcp(NULL, 360, 1);        //Send DHCP request
}
}
 
 
 
 
//To open a socket for listen set ipAddress to 0
//To open a socket for listen set ipAddress to 0
Line 1288... Line 1268...
   while(length)
   while(length)
   {
   {
      //Rate limit output
      //Rate limit output
      if(socket->seq - socket->seqReceived >= 5120)
      if(socket->seq - socket->seqReceived >= 5120)
      {
      {
 
         //printf("l(%d,%d,%d) ", socket->seq - socket->seqReceived, socket->seq, socket->seqReceived);
         if(self == IPThread || ++tries > 200)
         if(self == IPThread || ++tries > 200)
            break;
            break;
         else
         else
         {
         {
            OS_ThreadSleep(1);
            OS_ThreadSleep(1);
Line 1303... Line 1284...
      {
      {
         socket->frameSend = IPFrameGet(FRAME_COUNT_SEND);
         socket->frameSend = IPFrameGet(FRAME_COUNT_SEND);
         socket->sendOffset = 0;
         socket->sendOffset = 0;
         if(socket->frameSend == NULL)
         if(socket->frameSend == NULL)
         {
         {
 
            //printf("L");
            if(self == IPThread || ++tries > 200)
            if(self == IPThread || ++tries > 200)
               break;
               break;
            else
            else
               OS_ThreadSleep(1);
               OS_ThreadSleep(1);
         }
         }
Line 1506... Line 1488...
   //Retransmit timeout packets
   //Retransmit timeout packets
   for(frame = FrameResendHead; frame; )
   for(frame = FrameResendHead; frame; )
   {
   {
      frame2 = frame;
      frame2 = frame;
      frame = frame->next;
      frame = frame->next;
      frame2->timeout -= ticks - ticksPrev2;
      frame2->timeout = (short)(frame2->timeout - (ticks - ticksPrev2));
      if(--frame2->timeout <= 0)
      if(--frame2->timeout <= 0)
      {
      {
         if(IPVerbose)
         if(IPVerbose)
            printf("r");
            printf("r");
         FrameRemove(&FrameResendHead, &FrameResendTail, frame2);
         FrameRemove(&FrameResendHead, &FrameResendTail, frame2);

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.