middleware/netware/ethernetbuffer.c File Reference

Go to the source code of this file.

Functions

void F_EthernetBufferInit (void)
void F_EthernetBufferSvc (void)
void F_EthernetBufferReset (ETHBUFFER *pBuffer)
ETHBUFFER * F_EthernetBufferAllocate (void)
void F_EthernetBufferRelease (ETHBUFFER *pBuffer)
INT8U * F_EthernetBufferPut (ETHBUFFER *pBuffer, INT32U Length)
INT8U * F_EthernetBufferPull (ETHBUFFER *pBuffer, INT32U Length)
INT8U * F_EthernetBufferPush (ETHBUFFER *pBuffer, INT32U Length)
void F_EthernetBufferReserve (ETHBUFFER *pBuffer, INT32U Length)
void F_EthernetBufferDump (INT8U *pData, INT32U Length)

Variables

ETHBUFFER_CONTROL EthBufferCtrl
ETHBUFFER EthBuffer [ETHBUFFER_NUMBER]


Function Documentation

ETHBUFFER * F_EthernetBufferAllocate ( void   ) 

Definition at line 39 of file ethernetbuffer.c.

00039                                          {
00040     ETHBUFFER *pBuffer;
00041     
00042     pBuffer=&EthBuffer[EthBufferCtrl.BufferIndex];
00043     EthBufferCtrl.BufferIndex++;
00044     if(EthBufferCtrl.BufferIndex>=5) EthBufferCtrl.BufferIndex=0;
00045     F_EthernetBufferReset(pBuffer);
00046     return pBuffer;
00047 }

void F_EthernetBufferDump ( INT8U *  pData,
INT32U  Length 
)

Definition at line 70 of file ethernetbuffer.c.

00070                                                      {
00071     INT32U i=0,j=0;
00072     
00073     i=0;
00074     j=0;              
00075     myprintf("\n Length=%4x ",Length);
00076     for(i=0;i<Length;i++){
00077         if(j==0) myprintf("\n %4x0h ",(i/16));
00078         #if(DEBUG_ETHERNET_BUFFER)
00079             myprintf("%2x ",*pData);
00080         #endif    
00081         j++;
00082         pData++;
00083         if(j==16) j=0;
00084         //if(i>=0x60) break;
00085     }        
00086     #if(DEBUG_ETHERNET_BUFFER)
00087         myprintf("\n ");
00088     #endif 
00089 }

void F_EthernetBufferInit ( void   ) 

Definition at line 24 of file ethernetbuffer.c.

00024                                {
00025     EthBufferCtrl.BufferIndex=0; 
00026     EthBufferCtrl.Status=0;     
00027     EthBufferCtrl.State=0;  
00028 }

INT8U * F_EthernetBufferPull ( ETHBUFFER *  pBuffer,
INT32U  Length 
)

Definition at line 55 of file ethernetbuffer.c.

00055                                                              {
00056     pBuffer->pData+=Length;
00057     pBuffer->Length-=Length;
00058     return pBuffer->pData; 
00059 }

INT8U * F_EthernetBufferPush ( ETHBUFFER *  pBuffer,
INT32U  Length 
)

Definition at line 62 of file ethernetbuffer.c.

00062                                                              {
00063     pBuffer->pData-=Length;    
00064     pBuffer->Length+=Length;   
00065     return pBuffer->pData; 
00066 }

INT8U * F_EthernetBufferPut ( ETHBUFFER *  pBuffer,
INT32U  Length 
)

Definition at line 49 of file ethernetbuffer.c.

00049                                                             {
00050     pBuffer->Length+=Length;
00051     return pBuffer->pData; 
00052 }

void F_EthernetBufferRelease ( ETHBUFFER *  pBuffer  ) 

Definition at line 48 of file ethernetbuffer.c.

00048 {}

void F_EthernetBufferReserve ( ETHBUFFER *  pBuffer,
INT32U  Length 
)

Definition at line 67 of file ethernetbuffer.c.

00067                                                               {
00068     pBuffer->pData+=Length;
00069 }

void F_EthernetBufferReset ( ETHBUFFER *  pBuffer  ) 

Definition at line 30 of file ethernetbuffer.c.

00030                                               {
00031     //memset(pBuffer,0,sizeof(ETHBUFFER));
00032     memset(pBuffer,0,5);
00033     pBuffer->Pad[0]=0x00;
00034     pBuffer->Pad[1]=0x00;
00035     pBuffer->TrueSize=ETHERNET_FRAME_LEN; // 1514
00036     pBuffer->pData=pBuffer->Data; 
00037     pBuffer->Length=0;
00038 }

void F_EthernetBufferSvc ( void   ) 

Definition at line 29 of file ethernetbuffer.c.

00029 {}


Variable Documentation

ETHBUFFER EthBuffer[ETHBUFFER_NUMBER]

Definition at line 12 of file ethernetbuffer.c.

ETHBUFFER_CONTROL EthBufferCtrl

Definition at line 11 of file ethernetbuffer.c.


Generated on Tue Sep 2 08:45:41 2008 for A Simple operation System using S3C2410 by  doxygen 1.5.6