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

Subversion Repositories plasma

[/] [plasma/] [trunk/] [kernel/] [tcpip.h] - Diff between revs 295 and 317

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

Rev 295 Rev 317
Line 11... Line 11...
 *--------------------------------------------------------------------*/
 *--------------------------------------------------------------------*/
#ifndef __TCPIP_H__
#ifndef __TCPIP_H__
#define __TCPIP_H__
#define __TCPIP_H__
#define PACKET_SIZE           600
#define PACKET_SIZE           600
#define FRAME_COUNT           100
#define FRAME_COUNT           100
#define FRAME_COUNT_WINDOW    50
 
#define FRAME_COUNT_SYNC      50
#define FRAME_COUNT_SYNC      50
#define FRAME_COUNT_SEND      10
#define FRAME_COUNT_SEND      10
#define FRAME_COUNT_RCV       5
#define FRAME_COUNT_RCV       5
#define RETRANSMIT_TIME       110
#define RETRANSMIT_TIME       110
#define SOCKET_TIMEOUT        12
#define SOCKET_TIMEOUT        12
 
#define SEND_WINDOW           7000
 
#define RECEIVE_WINDOW        5120
 
 
typedef enum IPMode_e {
typedef enum IPMode_e {
   IP_MODE_UDP,
   IP_MODE_UDP,
   IP_MODE_TCP,
   IP_MODE_TCP,
   IP_MODE_PING
   IP_MODE_PING
Line 54... Line 55...
   IPState_e state;
   IPState_e state;
   uint32 seq;
   uint32 seq;
   uint32 seqReceived;
   uint32 seqReceived;
   uint32 seqWindow;
   uint32 seqWindow;
   uint32 ack;
   uint32 ack;
 
   uint32 ackProcessed;
   uint32 timeout;
   uint32 timeout;
   uint32 timeoutReset;
   uint32 timeoutReset;
 
   int dontFlush;
   uint8 headerSend[38];
   uint8 headerSend[38];
   uint8 headerRcv[38];
   uint8 headerRcv[38];
   struct IPFrame *frameReadHead;
   struct IPFrame *frameReadHead;
   struct IPFrame *frameReadTail;
   struct IPFrame *frameReadTail;
   int readOffset;
   int readOffset;
   struct IPFrame *frameSend;
   struct IPFrame *frameSend;
   int sendOffset;
   int sendOffset;
   IPFuncPtr funcPtr;
   IPFuncPtr funcPtr;
   IPFuncPtr userFunc;
   IPFuncPtr userFunc;
   void *userPtr;
   void *userPtr;
 
   void *userPtr2;
   uint32 userData;
   uint32 userData;
 
   uint32 userData2;
} IPSocket;
} IPSocket;
 
 
//ethernet.c
//ethernet.c
void EthernetSendPacket(const unsigned char *packet, int length); //Windows
void EthernetSendPacket(const unsigned char *packet, int length); //Windows
void EthernetInit(unsigned char MacAddress[6]);
void EthernetInit(unsigned char MacAddress[6]);
Line 86... Line 91...
IPSocket *IPOpen(IPMode_e mode, uint32 ipAddress, uint32 port, IPFuncPtr funcPtr);
IPSocket *IPOpen(IPMode_e mode, uint32 ipAddress, uint32 port, IPFuncPtr funcPtr);
void IPWriteFlush(IPSocket *socket);
void IPWriteFlush(IPSocket *socket);
uint32 IPWrite(IPSocket *socket, const uint8 *buf, uint32 length);
uint32 IPWrite(IPSocket *socket, const uint8 *buf, uint32 length);
uint32 IPRead(IPSocket *socket, uint8 *buf, uint32 length);
uint32 IPRead(IPSocket *socket, uint8 *buf, uint32 length);
void IPClose(IPSocket *socket);
void IPClose(IPSocket *socket);
void IPPrintf(IPSocket *socket, char *message);
#ifdef IPPRINTF
 
void IPPrintf(IPSocket *socket, char *message, int arg0, int arg1, int arg2, int arg3);
 
#else
 
void IPPrintf(IPSocket *socket, char *message, ...);
 
#endif
void IPResolve(char *name, IPFuncPtr resolvedFunc, void *arg);
void IPResolve(char *name, IPFuncPtr resolvedFunc, void *arg);
uint32 IPAddressSelf(void);
uint32 IPAddressSelf(void);
 
 
//http.c
//http.c
#define HTML_LENGTH_CALLBACK  -2
#define HTML_LENGTH_CALLBACK  -2

powered by: WebSVN 2.1.0

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