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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? tcp_ip.h

?? Analog公司的ADSP_BF532上面實現以太網接口的源碼
?? H
字號:
//##############################################################
//#
//# TCP_IP.H
//#
//# ADSP-21535 Embedded Web Server Project
//#
//# (c) ANALOG DEVICES 2002
//#     eDSP Division
//#     Stefan Hacker
//#     28-DEC-2002
//#
//# History
//#     16-APR-2003 HS  release 1.0
//#

#ifndef __tcp_ip_h__
#define __tcp_ip_h__

#include "ez_lan_types.h"

////////////////////////////
// EZ-LAN TCP/IP stack definitions
// prototypes
void TCP_State_Machine();

// Handlers for incoming frames
void TCP_Proc_EthBroadcast_Frame();
void TCP_Proc_EthIA_Frame();
void TCP_Proc_ICMP_Frame();
void TCP_Proc_TCP_Frame();

// fill TX-buffers
void TCP_Prep_ARP_REQUEST();
void TCP_Prep_ARP_ANSWER();
void TCP_Prep_ICMP_ECHO_REPLY();
void TCP_Prep_TCP_FRAME(WORD TCPCode);
void TCP_Prep_TCP_DATA_FRAME();

// general help functions
void TCP_StartRetryTimer();
void TCP_StartTimeWaitTimer();
void TCP_RestartTimer();
void TCP_StopTimer();
void TCP_HandleRetransmission();
void TCP_HandleTimeout();
WORD TCP_CalcChecksum(BYTE *Start, WORD Count, BYTE IsTCP);
void TCP_Copy_Frame(WORD length, BYTE *Frame);

// dedicated small supports
inline WORD swap_bytes(DWORD in);
inline void WriteDWBE(BYTE* Add, DWORD Data);
inline WORD get_cycles();

// API functions
void TCP_init(void);                              // setup state machine flags
void TCP_PassiveOpen(void);                       // listen for a connection
void TCP_ActiveOpen(void);                        // open connection
void TCP_Close(void);                             // close connection
void TCP_ReleaseRxBuffer(void);                   // indicate to discard rec'd packet
void TCP_TransmitTxBuffer(void);                  // initiate transfer after TxBuffer is filled

////////////////////////////
// EZ-LAN TCP/IP stack definitions

// Own MAC_IA Address
#define MAC_IA_1             00 // ''
#define MAC_IA_2             69 // 'E'
#define MAC_IA_3             90 // 'Z'
#define MAC_IA_4             76 // 'L'
#define MAC_IA_5             65 // 'A'
#define MAC_IA_6             79 // 'M'

#ifndef ADIIP
    // IP Addresses
    #define LOCAL_IP_1          192     // Local IP address
    #define LOCAL_IP_2          168
    #define LOCAL_IP_3            1
    #define LOCAL_IP_4           17

    #define GATEWAY_IP_1        192     // standard gateway
    #define GATEWAY_IP_2        168
    #define GATEWAY_IP_3          1
    #define GATEWAY_IP_4          1
   
    #define SUBNETMASK_1        255     // Sub Net Mask
    #define SUBNETMASK_2        255
    #define SUBNETMASK_3        255
    #define SUBNETMASK_4          0
#else
    // IP Addresses
    #define LOCAL_IP_1          192     // Local IP address
    #define LOCAL_IP_2          168
    #define LOCAL_IP_3            1
    #define LOCAL_IP_4           17

    #define GATEWAY_IP_1        192     // standard gateway
    #define GATEWAY_IP_2        168
    #define GATEWAY_IP_3          1
    #define GATEWAY_IP_4          1

    #define SUBNETMASK_1        255     // Sub Net Mask
    #define SUBNETMASK_2        255
    #define SUBNETMASK_3        255
    #define SUBNETMASK_4          0
#endif


// Timeouts and Buffer Sizes
#define TCP_RETRY_TIMEOUT     8     // wait max. 8 x 262ms for an ACK (about 2 sec.)
#define TCP_FIN_TIMEOUT       2     // max. time to wait for an ACK of a FIN
                                    //   before closing TCP state-machine (about 0.5 s)
#define TCP_MAX_RETRIES       4     // nr. of resendings before reset conn.
                                    //   total nr. of transmissions = MAX_RETRYS + 1

#define MAX_TCP_TX_SIZE    1024     // max. outgoing TCP data size (even!)
#define MAX_TCP_RX_SIZE    1400     // max. incoming TCP data size (even!)
                                        
#define MAX_ETH_TX_SIZE      60     // 2nd buffer, used for ARP, ICMP, TCP (even!)
                                    //    enough to echo 32 byte via ICMP

#define DEFAULT_TTL          64     // TTL (Time To Live) sent with packets 
 
// Ethernet network layer definitions
#define ETH_DA_OFS            0     // Destination MAC Address Offset (48 bit)
#define ETH_SA_OFS            6     // Source MAC Address Offset (48 bit)
#define ETH_TYPE_OFS         12     // Ethernet Type field offset (16 bit)
#define ETH_DATA_OFS         14     // Frame Data Offset
#define ETH_HEADER_SIZE      14     // Number of Bytes in TCP Header

#define FRAME_ARP            0x0608 // frame types (stored in Type/Length field)
#define FRAME_IP             0x0008

// 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          0x0100              // hardware-type Ethernet
#define IP_HLEN_PLEN         0x0406              // IP = 4 byte long, MAC = 6 byte long
#define OP_ARP_REQUEST       0x0100              // operations for ARP-frames
#define OP_ARP_ANSWER        0x0200

// 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 TCP_TX_FRAME1_SIZE   ETH_HEADER_SIZE + IP_HEADER_SIZE + TCP_HEADER_SIZE + MAX_TCP_TX_SIZE
#define TCP_TX_FRAME2_SIZE   ETH_HEADER_SIZE + MAX_ETH_TX_SIZE

// 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_FTP         21                  // FTP
#define TCP_PORT_HTTP        80                  // word wide web HTTP

// constants
#define TCP_SEND_FRAME1                 0x01
#define TCP_SEND_FRAME2                 0x02

#define TCP_ACTIVE_OPEN                 0x01      // easyWEB shall initiate a connection
#define TCP_IP_ADDR_RESOLVED            0x02      // IP sucessfully resolved to MAC
#define TCP_TIMER_RUNNING               0x04
#define TCP_TIMER_TYPE_RETRY            0x08
#define TCP_CLOSE_REQUESTED             0x10


// API global vars and flags
#define TCP_SOCK_ACTIVE                 0x01      // state machine NOT closed
#define TCP_SOCK_CONNECTED              0x02      // user may send & receive data
#define TCP_SOCK_DATA_AVAILABLE         0x04      // new data available
#define TCP_SOCK_TX_BUF_RELEASED        0x08      // user may fill buffer

#define TCP_SOCK_ERROR_MASK             0xF0      // bit-mask to check for errors
#define TCP_SOCK_ERR_OK                 0x00      // no error
#define TCP_SOCK_ERR_ARP_TIMEOUT        0x10      // timeout waiting for an ARP-REPLY
#define TCP_SOCK_ERR_TCP_TIMEOUT        0x20      // timeout waiting for an ACK
#define TCP_SOCK_ERR_CONN_RESET         0x30      // connection was reset by the other TCP
#define TCP_SOCK_ERR_REMOTE             0x40      // remote TCP caused fatal error
#define TCP_SOCK_ERR_ETHERNET           0x50      // network interface error (timeout)

// API buffer-pointers
#define TCP_TX_BUF      ((BYTE*)TCP_TxFrame1 + ETH_HEADER_SIZE + IP_HEADER_SIZE + TCP_HEADER_SIZE)
#define TCP_RX_BUF      ((BYTE*)TCP_RxTCPBuffer) 

#endif //__tcp_ip_h__

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产麻豆精品95视频| 热久久久久久久| 久久久久久久电影| 精品久久国产字幕高潮| 91精品欧美久久久久久动漫| 欧美老人xxxx18| 欧美日韩国产首页| 欧美一级二级三级乱码| 日韩三级电影网址| 久久先锋资源网| 欧美成人三级电影在线| 精品久久一区二区三区| 久久久久久电影| 国产精品妹子av| 亚洲图片另类小说| 亚洲一区二区三区在线播放| 亚洲成人中文在线| 久久丁香综合五月国产三级网站| 午夜欧美大尺度福利影院在线看| 亚洲超碰精品一区二区| 日本网站在线观看一区二区三区 | 视频在线观看国产精品| 性久久久久久久久久久久| 性久久久久久久久| 国产麻豆视频精品| 色综合久久久久网| 欧美一区二区三区四区五区| 久久久久久久综合色一本| 亚洲色图一区二区| 日产国产高清一区二区三区| 国产一区二区三区在线观看免费 | 天堂资源在线中文精品| 久久国产精品区| 色综合中文综合网| 日韩不卡一区二区| 高清国产一区二区| 欧美日韩国产在线播放网站| 精品国产伦一区二区三区免费| 欧美高清在线一区二区| 婷婷中文字幕一区三区| 黑人巨大精品欧美一区| 在线观看一区二区视频| 亚洲精品一区二区三区香蕉| 亚洲同性同志一二三专区| 韩国一区二区三区| 欧美日韩亚洲不卡| 国产精品高清亚洲| 久久精品免费看| 欧美另类高清zo欧美| 综合精品久久久| 国产美女一区二区三区| 欧美日韩另类国产亚洲欧美一级| 欧美国产日韩亚洲一区| 美女国产一区二区| 欧美狂野另类xxxxoooo| 国产精品女上位| 国产一区二三区| 91精品国产综合久久福利| 亚洲视频一区二区在线| 懂色av噜噜一区二区三区av| 日韩一区二区电影在线| 日韩精品一二区| 欧美狂野另类xxxxoooo| 亚洲国产一区二区三区青草影视 | 久久伊人中文字幕| 樱桃国产成人精品视频| 成人免费av网站| 亚洲高清不卡在线观看| 国产一区在线视频| 在线观看精品一区| 亚洲人妖av一区二区| 国产成人亚洲综合a∨婷婷图片| 精品乱码亚洲一区二区不卡| 日韩和欧美一区二区| 欧美日韩不卡一区| 亚洲.国产.中文慕字在线| 欧美日韩精品免费观看视频| 亚洲高清免费一级二级三级| 欧美精品在线观看播放| 日韩一区精品视频| 欧美大片在线观看一区| 精品无人区卡一卡二卡三乱码免费卡| 欧美一级精品在线| 免费成人在线网站| 精品久久久久久久久久久久久久久| 免费欧美在线视频| 精品国产髙清在线看国产毛片 | 亚洲色图丝袜美腿| 一本到高清视频免费精品| 亚洲精选视频免费看| 欧美日韩一区三区| 麻豆久久久久久久| 国产拍揄自揄精品视频麻豆| 成人sese在线| 亚洲一卡二卡三卡四卡无卡久久 | 亚洲视频资源在线| 欧美三电影在线| 久久av中文字幕片| 国产精品久久久久久久久免费桃花 | 奇米一区二区三区| 日韩欧美成人午夜| 狠狠色丁香久久婷婷综| 久久久亚洲国产美女国产盗摄| 免费在线看成人av| 久久久精品免费观看| thepron国产精品| 婷婷开心激情综合| 国产亚洲一二三区| 一区二区三区四区中文字幕| 亚洲精品成人少妇| 欧美一二三区在线观看| 日本一区二区三区四区在线视频| 欧美一区永久视频免费观看| 欧美久久久久免费| 欧美福利视频一区| 国产精品美女www爽爽爽| 91年精品国产| 久久99久久精品| 一二三区精品福利视频| 国产亚洲一区二区三区四区| 欧美日韩在线播放一区| 国产成人亚洲综合a∨婷婷| 性做久久久久久免费观看| 中文字幕不卡一区| 欧美xxxx在线观看| 欧美三级日韩三级国产三级| 成人美女视频在线看| 精品一区二区三区视频在线观看| 亚洲免费观看在线视频| 久久日一线二线三线suv| 欧美日韩成人在线| 色诱视频网站一区| 国产电影一区在线| 亚洲黄色小说网站| 久久婷婷综合激情| 欧美色手机在线观看| 成人深夜视频在线观看| 国模一区二区三区白浆| 蜜臀av性久久久久蜜臀aⅴ流畅| 亚洲精品老司机| 亚洲国产精品成人综合色在线婷婷| 欧美色中文字幕| 成人性色生活片| 亚洲综合男人的天堂| 国产日韩欧美精品在线| 精品福利av导航| 777久久久精品| 6080亚洲精品一区二区| 欧美老人xxxx18| 精品视频在线视频| 色乱码一区二区三区88| 91麻豆福利精品推荐| 色狠狠综合天天综合综合| 99精品视频在线播放观看| 99久久婷婷国产综合精品| 99久久综合色| 91麻豆123| 欧美日韩国产小视频| 欧美高清性hdvideosex| 欧美一区二区三区在线电影| 91精品国产综合久久香蕉的特点 | 日日夜夜精品免费视频| 日韩高清在线一区| 美女免费视频一区二区| 国产一区亚洲一区| 国产成a人亚洲精| av中文字幕亚洲| 欧美最猛性xxxxx直播| 欧美日韩三级一区| 欧美一区永久视频免费观看| 欧美tickling挠脚心丨vk| 久久精品一区二区三区四区| 国产精品久久久久久久久动漫| 亚洲欧美偷拍卡通变态| 亚洲国产aⅴ成人精品无吗| 免费观看日韩电影| 成人免费黄色在线| 91黄视频在线观看| 日韩一区二区高清| 国产精品人人做人人爽人人添| 一区二区三区在线观看视频| 丝袜美腿亚洲色图| 成人免费三级在线| 色美美综合视频| www国产精品av| 亚洲精品写真福利| 日韩不卡一二三区| 99麻豆久久久国产精品免费优播| 欧美色欧美亚洲另类二区| 久久亚洲精精品中文字幕早川悠里| 中文字幕一区二区三区四区不卡| 亚洲国产精品久久人人爱蜜臀 | 91天堂素人约啪| 日韩女优毛片在线| 一区二区在线观看视频| 国产真实乱对白精彩久久| 色国产综合视频| 欧美极品少妇xxxxⅹ高跟鞋| 日本不卡视频在线| 欧美亚洲一区二区在线|