亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? tcpip.h

?? lpc2368-keil環(huán)境下的網(wǎng)絡(luò)應(yīng)用
?? H
字號:
/****************************************************************** *****                                                        ***** *****  Name: tcpip.h                                         ***** *****  Ver.: 1.0                                             ***** *****  Date: 07/05/2001                                      ***** *****  Auth: Andreas Dannenberg                              ***** *****        HTWK Leipzig                                    ***** *****        university of applied sciences                  ***** *****        Germany                                         ***** *****  Func: header-file for tcpip.c                         ***** *****                                                        ***** ******************************************************************/#ifndef __TCPIP_H#define __TCPIP_H// easyWEB-stack definitions#define MYIP_1               192                 // our internet protocol (IP) address#define MYIP_2               168#define MYIP_3               0#define MYIP_4               100#define SUBMASK_1            255                 // subnet mask#define SUBMASK_2            255#define SUBMASK_3            255#define SUBMASK_4            0#define GWIP_1               192                 // standard gateway (used if remote#define GWIP_2               168                 // IP is no part of our subnet)#define GWIP_3               0#define GWIP_4               254#define RETRY_TIMEOUT        8                   // wait max. 8 x 262ms for an ACK (about 2 sec.)#define FIN_TIMEOUT          2                   // max. time to wait for an ACK of a FIN                                                 // before closing TCP state-machine (about 0.5 s)#define MAX_RETRYS           4                   // nr. of resendings before reset conn.                                                 // total nr. of transmissions = MAX_RETRYS + 1#define MAX_TCP_TX_DATA_SIZE 512                 // max. outgoing TCP data size (even!)#define MAX_TCP_RX_DATA_SIZE 256                 // max. incoming TCP data size (even!)                                                 // (increasing the buffer-size dramatically                                                 // increases the transfer-speed!)                                        #define MAX_ETH_TX_DATA_SIZE 60                  // 2nd buffer, used for ARP, ICMP, TCP (even!)                                                 // enough to echo 32 byte via ICMP#define DEFAULT_TTL          64                  // Time To Live sent with packets// Ethernet network layer definitions#define ETH_DA_OFS           0                   // Destination MAC address (48 Bit)#define ETH_SA_OFS           6                   // Source MAC address (48 Bit)#define ETH_TYPE_OFS         12                  // Type field (16 Bit)#define ETH_DATA_OFS         14                  // Frame Data#define ETH_HEADER_SIZE      14#define FRAME_ARP            0x0806              // frame types (stored in Type/Length field)#define FRAME_IP             0x0800// IPv4 layer definitions#define IP_VER_IHL_TOS_OFS   ETH_DATA_OFS + 0    // Version, Header Length, Type of Service#define IP_TOTAL_LENGTH_OFS  ETH_DATA_OFS + 2    // IP Frame's Total Length#define IP_IDENT_OFS         ETH_DATA_OFS + 4    // Identifying Value#define IP_FLAGS_FRAG_OFS    ETH_DATA_OFS + 6    // Flags and Fragment Offset#define IP_TTL_PROT_OFS      ETH_DATA_OFS + 8    // Frame's Time to Live, Protocol#define IP_HEAD_CHKSUM_OFS   ETH_DATA_OFS + 10   // IP Frame's Header Checksum#define IP_SOURCE_OFS        ETH_DATA_OFS + 12   // Source Address (32 Bit)#define IP_DESTINATION_OFS   ETH_DATA_OFS + 16   // Destination Address (32 Bit)#define IP_DATA_OFS          ETH_DATA_OFS + 20   // Frame Data (if no options)#define IP_HEADER_SIZE       20                  // w/o options#define IP_VER_IHL           0x4500              // IPv4, Header Length = 5x32 bit#define IP_TOS_D             0x0010              // TOS low delay#define IP_TOS_T             0x0008              // TOS high throughput#define IP_TOS_R             0x0004              // TOS high reliability#define IP_FLAG_DONTFRAG     0x4000              // don't fragment IP frame#define IP_FLAG_MOREFRAG     0x2000              // more fragments available#define IP_FRAGOFS_MASK      0x1FFF              // indicates where this fragment belongs#define PROT_ICMP            1                   // Internet Control Message Protocol#define PROT_TCP             6                   // Transmission Control Protocol#define PROT_UDP             17                  // User Datagram Protocol// ARP definitions#define ARP_HARDW_OFS        ETH_DATA_OFS + 0    // Hardware address type#define ARP_PROT_OFS         ETH_DATA_OFS + 2    // Protocol#define ARP_HLEN_PLEN_OFS    ETH_DATA_OFS + 4    // byte length of each hardw. / prot. address#define ARP_OPCODE_OFS       ETH_DATA_OFS + 6    // Opcode#define ARP_SENDER_HA_OFS    ETH_DATA_OFS + 8    // Hardw. address of sender of this packet#define ARP_SENDER_IP_OFS    ETH_DATA_OFS + 14   // IP address of sender#define ARP_TARGET_HA_OFS    ETH_DATA_OFS + 18   // Hardw. address of target of this packet#define ARP_TARGET_IP_OFS    ETH_DATA_OFS + 24   // IP address of target#define ARP_FRAME_SIZE       28#define HARDW_ETH10          1                   // hardware-type 10Mbps Ethernet#define IP_HLEN_PLEN         0x0604              // MAC = 6 byte long, IP = 4 byte long#define OP_ARP_REQUEST       1                   // operations for ARP-frames#define OP_ARP_ANSWER        2// ICMP definitions#define ICMP_TYPE_CODE_OFS   IP_DATA_OFS + 0     // type of message#define ICMP_CHKSUM_OFS      IP_DATA_OFS + 2     // checksum of ICMP-message (16 bit)#define ICMP_DATA_OFS        IP_DATA_OFS + 4#define ICMP_HEADER_SIZE     4#define ICMP_ECHO            8                   // message is an echo request#define ICMP_ECHO_REPLY      0                   // message is an echo reply// TCP layer definitions#define TCP_SRCPORT_OFS      IP_DATA_OFS + 0     // Source Port (16 bit)#define TCP_DESTPORT_OFS     IP_DATA_OFS + 2     // Destination Port (16 bit)#define TCP_SEQNR_OFS        IP_DATA_OFS + 4     // Sequence Number (32 bit)#define TCP_ACKNR_OFS        IP_DATA_OFS + 8     // Acknowledge Number (32 bit)#define TCP_DATA_CODE_OFS    IP_DATA_OFS + 12    // Data Offset and Control Bits (16 bit)#define TCP_WINDOW_OFS       IP_DATA_OFS + 14    // Window Size (16 bit)#define TCP_CHKSUM_OFS       IP_DATA_OFS + 16    // Checksum Field (16 bit)#define TCP_URGENT_OFS       IP_DATA_OFS + 18    // Urgent Pointer (16 bit)#define TCP_DATA_OFS         IP_DATA_OFS + 20    // Frame Data (if no options)#define TCP_HEADER_SIZE      20                  // size w/o options#define DATA_OFS_MASK        0xF000              // number of 32 bit words in the TCP Header#define TCP_CODE_FIN         0x0001#define TCP_CODE_SYN         0x0002#define TCP_CODE_RST         0x0004#define TCP_CODE_PSH         0x0008#define TCP_CODE_ACK         0x0010#define TCP_CODE_URG         0x0020#define TCP_OPT_MSS          0x0204              // Type 2, Option Length 4 (Max. Segment Size)#define TCP_OPT_MSS_SIZE     4// define some TCP standard-ports, useful for testing...#define TCP_PORT_ECHO        7                   // echo#define TCP_PORT_DISCARD     9                   // discard#define TCP_PORT_DAYTIME     13                  // daytime#define TCP_PORT_QOTD        17                  // quote of the day#define TCP_PORT_CHARGEN     19                  // character generator#define TCP_PORT_HTTP        80                  // word wide web HTTP// macros#define SWAPB(Word)          ((unsigned short)((Word) << 8) | ((Word) >> 8))                                                 // convert little <-> big endian// typedefstypedef enum {                                   // states of the TCP-state machine  CLOSED,                                        // according to RFC793  LISTENING,  SYN_SENT,  SYN_RECD,  ESTABLISHED,  FIN_WAIT_1,  FIN_WAIT_2,  CLOSE_WAIT,  CLOSING,  LAST_ACK,  TIME_WAIT} TTCPStateMachine;typedef enum {                                   // type of last frame sent. used  ARP_REQUEST,                                   // for retransmissions  TCP_SYN_FRAME,  TCP_SYN_ACK_FRAME,  TCP_FIN_FRAME,  TCP_DATA_FRAME} TLastFrameSent;// constants#ifdef extern                                    // Keil: declarations for modular programmingconst unsigned short MyIP[] =                    // "MYIP1.MYIP2.MYIP3.MYIP4"{  MYIP_1 + (MYIP_2 << 8),                        // use 'unsigned int' to  MYIP_3 + (MYIP_4 << 8)                         // achieve word alignment};const unsigned short SubnetMask[] =              // "SUBMASK1.SUBMASK2.SUBMASK3.SUBMASK4"{  SUBMASK_1 + (SUBMASK_2 << 8),                  // use 'unsigned int' to  SUBMASK_3 + (SUBMASK_4 << 8)                   // achieve word alignment};const unsigned short GatewayIP[] =               // "GWIP1.GWIP2.GWIP3.GWIP4"{  GWIP_1 + (GWIP_2 << 8),                        // use 'unsigned int' to  GWIP_3 + (GWIP_4 << 8)                         // achieve word alignment};
#else extern const unsigned short MyIP[2];             // "MYIP1.MYIP2.MYIP3.MYIP4"extern const unsigned short SubnetMask[2];       // "SUBMASK1.SUBMASK2.SUBMASK3.SUBMASK4"extern const unsigned short GatewayIP[2];        // "GWIP1.GWIP2.GWIP3.GWIP4"
extern const unsigned char MyMAC[6];             // "M1-M2-M3-M4-M5-M6"
#endif// easyWEB's internal variablesextern TTCPStateMachine TCPStateMachine;         // perhaps the most important var at all ;-)extern TLastFrameSent LastFrameSent;             // retransmission typeextern unsigned short ISNGenHigh;                // upper word of our Initial Sequence Numberextern unsigned long TCPSeqNr;                   // next sequence number to sendextern unsigned long TCPUNASeqNr;                // last unaknowledged sequence number                                                 // incremented AFTER sending dataextern unsigned long TCPAckNr;                   // next seq to receive and ack to send                                                 // incremented AFTER receiving dataextern unsigned char TCPTimer;                   // inc'd each 262msextern unsigned char RetryCounter;               // nr. of retransmissions// properties of the just received frameextern unsigned short RecdFrameLength;           // EMAC reported frame lengthextern unsigned short RecdFrameMAC[3];           // 48 bit MACextern unsigned short RecdFrameIP[2];            // 32 bit IPextern unsigned short RecdIPFrameLength;         // 16 bit IP packet length
// the next 3 buffers must be word-aligned!// (here the 'RecdIPFrameLength' above does that)extern unsigned short _TxFrame1[(ETH_HEADER_SIZE + IP_HEADER_SIZE + TCP_HEADER_SIZE + MAX_TCP_TX_DATA_SIZE)/2];extern unsigned short _TxFrame2[(ETH_HEADER_SIZE + MAX_ETH_TX_DATA_SIZE)/2];extern unsigned short _RxTCPBuffer[MAX_TCP_RX_DATA_SIZE/2]; // space for incoming TCP-data#define TxFrame1      ((unsigned char *)_TxFrame1)#define TxFrame2      ((unsigned char *)_TxFrame2)#define RxTCPBuffer   ((unsigned char *)_RxTCPBuffer)extern unsigned short TxFrame1Size;              // bytes to send in TxFrame1extern unsigned char TxFrame2Size;               // bytes to send in TxFrame2extern unsigned char TransmitControl;#define SEND_FRAME1                    0x01#define SEND_FRAME2                    0x02extern unsigned char TCPFlags;#define TCP_ACTIVE_OPEN                0x01      // easyWEB shall initiate a connection#define IP_ADDR_RESOLVED               0x02      // IP sucessfully resolved to MAC#define TCP_TIMER_RUNNING              0x04#define TIMER_TYPE_RETRY               0x08#define TCP_CLOSE_REQUESTED            0x10// prototypesvoid DoNetworkStuff(void);// Handlers for incoming framesvoid ProcessEthBroadcastFrame(void);void ProcessEthIAFrame(void);void ProcessICMPFrame(void);void ProcessTCPFrame(void);// fill TX-buffersvoid PrepareARP_REQUEST(void);void PrepareARP_ANSWER(void);void PrepareICMP_ECHO_REPLY(void);void PrepareTCP_FRAME(unsigned short TCPCode);void PrepareTCP_DATA_FRAME(void);// general help functionsvoid SendFrame1(void);void SendFrame2(void);void TCPStartRetryTimer(void);void TCPStartTimeWaitTimer(void);void TCPRestartTimer(void);void TCPStopTimer(void);void TCPHandleRetransmission(void);void TCPHandleTimeout(void);unsigned short CalcChecksum(void *Start, unsigned short Count, unsigned char IsTCP);// functions to work with big-endian numbersunsigned short SwapBytes(unsigned short Data);void WriteWBE(unsigned char *Add, unsigned short Data);void WriteDWBE(unsigned char *Add, unsigned long Data);// easyWEB-API functionsvoid TCPLowLevelInit(void);                      // setup timer, LAN-controller, flags...void TCPPassiveOpen(void);                       // listen for a connectionvoid TCPActiveOpen(void);                        // open connectionvoid TCPClose(void);                             // close connectionvoid TCPReleaseRxBuffer(void);                   // indicate to discard rec'd packetvoid TCPTransmitTxBuffer(void);                  // initiate transfer after TxBuffer is filledvoid TCPClockHandler(void) __irq;                // Keil: interrupt service routine for timer 0// easyWEB-API global vars and flagsextern unsigned short TCPRxDataCount;            // nr. of bytes rec'dextern unsigned short TCPTxDataCount;            // nr. of bytes to sendextern unsigned short TCPLocalPort;              // TCP portsextern unsigned short TCPRemotePort;extern unsigned short RemoteMAC[3];              // MAC and IP of current TCP-sessionextern unsigned short RemoteIP[2];extern unsigned char SocketStatus;#define SOCK_ACTIVE                    0x01      // state machine NOT closed#define SOCK_CONNECTED                 0x02      // user may send & receive data#define SOCK_DATA_AVAILABLE            0x04      // new data available#define SOCK_TX_BUF_RELEASED           0x08      // user may fill buffer#define SOCK_ERROR_MASK                0xF0      // bit-mask to check for errors#define SOCK_ERR_OK                    0x00      // no error#define SOCK_ERR_ARP_TIMEOUT           0x10      // timeout waiting for an ARP-REPLY#define SOCK_ERR_TCP_TIMEOUT           0x20      // timeout waiting for an ACK#define SOCK_ERR_CONN_RESET            0x30      // connection was reset by the other TCP#define SOCK_ERR_REMOTE                0x40      // remote TCP caused fatal error#define SOCK_ERR_ETHERNET              0x50      // network interface error (timeout)// easyWEB-API buffer-pointers#define TCP_TX_BUF      ((unsigned char *)TxFrame1 + ETH_HEADER_SIZE + IP_HEADER_SIZE + TCP_HEADER_SIZE)#define TCP_RX_BUF      ((unsigned char *)RxTCPBuffer)#endif

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美在线短视频| 欧美日韩午夜在线视频| 亚洲福利电影网| 久久精品视频一区| 91精品国产日韩91久久久久久| 国产高清精品在线| 日本欧美加勒比视频| 亚洲精品五月天| 欧美国产激情二区三区| 日韩一级视频免费观看在线| 99久久夜色精品国产网站| 国产精品综合视频| 日韩精品一级二级 | 日韩免费高清电影| 欧美午夜电影网| 欧美专区日韩专区| 91小视频免费看| 99v久久综合狠狠综合久久| 粉嫩嫩av羞羞动漫久久久 | 日本免费新一区视频| 国产精品毛片大码女人| 欧美一区二区观看视频| 欧美一级艳片视频免费观看| 欧美日韩不卡一区| 日韩欧美美女一区二区三区| 欧美一区二区高清| 欧美精品一区二区在线播放| 日韩欧美国产1| 精品国产91亚洲一区二区三区婷婷| 91精品国产91热久久久做人人| 91麻豆精品久久久久蜜臀 | 国产精品美女一区二区| 国产精品国产三级国产a| 综合欧美亚洲日本| 性感美女久久精品| 国模少妇一区二区三区| 成人av午夜影院| 欧美美女视频在线观看| 精品少妇一区二区三区视频免付费| 久久精品欧美一区二区三区不卡 | 日韩一区精品视频| 北条麻妃国产九九精品视频| 在线观看网站黄不卡| 日韩欧美国产三级| 一区二区免费看| 狠狠色综合播放一区二区| 波多野结衣亚洲| 日韩视频免费观看高清完整版| 久久精品欧美一区二区三区不卡| 最新欧美精品一区二区三区| 视频在线观看一区二区三区| 99综合影院在线| 久久综合久久综合九色| 天堂av在线一区| 99精品在线免费| 国产精品美女久久久久aⅴ| 久久超碰97中文字幕| 在线精品视频一区二区| 蜜臀va亚洲va欧美va天堂 | 亚洲精品综合在线| 亚洲资源在线观看| 精品久久国产老人久久综合| 国产精品久久久久毛片软件| 蜜桃视频在线一区| 欧美疯狂性受xxxxx喷水图片| 日韩视频在线观看一区二区| 亚洲国产美国国产综合一区二区| 成人深夜在线观看| 国产亚洲欧美日韩日本| 国产精品一区二区不卡| 欧美电影免费观看高清完整版在线 | 91女厕偷拍女厕偷拍高清| 精品剧情v国产在线观看在线| 一个色综合av| 欧美日韩亚洲高清一区二区| 亚洲一区二区不卡免费| 欧美日韩一区三区| 麻豆精品一二三| 欧美mv和日韩mv的网站| 国产一区二区影院| 中文字幕亚洲在| 91麻豆免费观看| 亚洲在线观看免费视频| 欧美精品色一区二区三区| 奇米888四色在线精品| 久久视频一区二区| 成人黄色综合网站| 亚洲国产日韩在线一区模特| 日韩一区二区三区av| 国产不卡在线视频| 99国产欧美久久久精品| 亚洲sss视频在线视频| 久久先锋资源网| 欧美视频你懂的| 国产99精品国产| 肉色丝袜一区二区| 国产精品盗摄一区二区三区| 欧美日韩一区二区电影| 韩国av一区二区三区四区 | 国产精品久久久久精k8| 欧美人xxxx| 99久久久久久| 国产成人精品三级麻豆| 亚洲一区二区三区在线播放| 国产日产亚洲精品系列| 日韩精品在线网站| 欧美亚洲综合在线| 成人黄色在线看| 国产一区二区三区精品视频| 亚洲成人av中文| 亚洲黄色在线视频| 日韩一区中文字幕| 自拍偷自拍亚洲精品播放| 国产亚洲人成网站| 久久精品亚洲精品国产欧美kt∨ | 久久不见久久见免费视频7| 一区二区三区久久久| 中文字幕一区二区三区在线播放| 精品久久久久久久久久久久久久久 | 美女久久久精品| 午夜在线电影亚洲一区| 亚洲国产一区二区视频| 一区二区三区日韩精品视频| 亚洲色欲色欲www在线观看| 最新高清无码专区| 综合久久给合久久狠狠狠97色| 国产欧美日韩在线观看| 自拍偷拍国产精品| 亚洲一区二区三区免费视频| 亚洲第四色夜色| 麻豆91精品视频| 国产电影一区在线| 97精品久久久午夜一区二区三区| 色伊人久久综合中文字幕| 欧日韩精品视频| 欧美一区二区精品久久911| 久久麻豆一区二区| 亚洲欧美激情一区二区| 天天av天天翘天天综合网| 另类人妖一区二区av| 福利一区在线观看| 91精品国产综合久久久久久久久久| 在线电影欧美成精品| 久久久久久久国产精品影院| 综合久久久久久| 久久国产夜色精品鲁鲁99| 99视频热这里只有精品免费| 欧美日韩一区国产| 国产婷婷一区二区| 亚洲成人高清在线| 高潮精品一区videoshd| 51久久夜色精品国产麻豆| 国产欧美中文在线| 首页欧美精品中文字幕| 91在线视频网址| 亚洲精品一区二区三区蜜桃下载| 一区二区视频在线| 成人精品小蝌蚪| 久久精品欧美一区二区三区不卡 | 国产精品原创巨作av| 91精品国产综合久久小美女| 亚洲影视在线观看| av一区二区三区在线| 欧美国产一区视频在线观看| 美女性感视频久久| 欧美情侣在线播放| 日韩精品视频网| 欧美日韩国产首页| 一区二区三区蜜桃网| 色拍拍在线精品视频8848| 国产精品伦理一区二区| 国产馆精品极品| 中文字幕免费一区| 国产成+人+日韩+欧美+亚洲| 久久精品视频免费观看| 色妹子一区二区| 18涩涩午夜精品.www| 91网站在线播放| 亚洲一区二区综合| 欧美性色aⅴ视频一区日韩精品| 一区二区三区**美女毛片| 色婷婷精品久久二区二区蜜臀av| ...中文天堂在线一区| 一本在线高清不卡dvd| 亚洲国产乱码最新视频| 欧美一区二区三区在线| 久久99精品国产麻豆不卡| 久久精品水蜜桃av综合天堂| 成人a区在线观看| 亚洲国产精品影院| 精品国产3级a| 在线亚洲高清视频| 日本不卡视频在线观看| 久久先锋资源网| 欧洲一区在线电影| 国产一区二区三区不卡在线观看| 亚洲国产精品黑人久久久| 欧美日韩成人在线| 成人免费视频caoporn| 日韩国产一二三区|