📄 network.h
字号:
//General explaination
//The network software is composed of 4 task. There Task_PPPHandler, Task_IPHandler
//and Task_TCPHandler and Task_TCPRetransHandler.
//Task_PPPHandler : process the establishing and terminating of the link, and LCP,
// PAP, IPCP, also the PPP packet process and had IP datagram to IP handler
//
#include "includes.h"
#define MAC_TX_BUFFER_SIZE 4096 //the max length of tx buffer
#define MAC_TX_BUFFER_COUNT 1 //how many buffers can be applied
#define MAC_RX_BUFFER_SIZE MAC_TX_BUFFER_SIZE
//The length of packet header, in bytes
#define PPP_HEADLEN 4
#define IP_HEADLEN 20
#define UDP_HEADLEN 8
//Defination of Type field in ICMP packet
#define ECHOREPLY 0
#define ECHOREQ 8
#define TRACEROUTE 30
typedef rom struct {
INT8U Type;
INT8U Code;
INT8U CheckSumH;
INT8U CheckSumL;
INT16U Id;
INT16U Sequence;
}ICMPPACKET;
//Defination of Protocol field in IP packet
#define ICMP 1
#define TCP 6
#define UDP 17
/*
* TCP configurations
* To minmize page update, match number of sockets and
* HTTP connections with different page sources in a
* page.
* For example, if page contains reference to 3 more pages,
* browser may try to open 4 simultaneous HTTP connections,
* and to minimize browser delay, set HTTP connections to
* 4, MAX_SOCKETS to 4 and MAC_TX_BUFFER_COUNT to 4.
* If you are using ICMP or other applications, you should
* keep at least one socket available for them.
*/
/*
* Maximum sockets to be defined.
* Note that each socket consumes 36 bytes of RAM.
*/
#define MAX_SOCKETS 10 //Actually the TCP socket number
/*
* Avaialble UDP Socket
*/
#define MAX_UDP_SOCKETS 10
#if (MAX_SOCKETS <= 0 || MAX_SOCKETS > 255)
#error Invalid MAX_SOCKETS value specified.
#endif
#if (MAX_UDP_SOCKETS <= 0 || MAX_UDP_SOCKETS > 255 )
#error Invlaid MAX_UDP_SOCKETS value specified
#endif
/////
typedef rom struct {
BYTE VerHLen;
BYTE Service;
BYTE LengthH;
BYTE LengthL;
WORD ID;
WORD Frag;
BYTE TTL;
BYTE Protocol;
WORD Checksum;
BYTE SourceAddress [4];
BYTE DestAddress [4];
BYTE Payload [64];
} IPDATAGRAM;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -