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
|