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

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

?? zl5011xpacket.h

?? Zalink50114----TDMoIP芯片驅動源碼
?? H
?? 第 1 頁 / 共 2 頁
字號:
/******************************************************************************
*
*  File name:              zl5011xPacket.h
*
*  Version:                69
*
*  Author:                 JFE
*
*  Date created:           19/06/2002
*
*  Copyright 2002, 2003, 2004, 2005, Zarlink Semiconductor Limited.
*  All rights reserved.
*
*  Module Description:
*
*  This is the header file for the packet functions.
*
*  Revision History:
*
*  Rev:  Date:       Author:  Comments:
*  1     19/06/2002  JFE      Initial revision
*  2     05/07/2002  JFE      Added some macros
*                             Changed a couple of offset macros so that the
*                             unit is in bytes.
*  3     09/07/2002  JFE      Added some macros
*                             Added new structure member to specify whether or
*                             not MAC should append ethernet src address.
*  4     09/07/2002  JFE      Made changes to protocol type enumeration.
*  5     09/07/2002  JFE      Change to contextID -> context structure member.
*  6     10/07/2002  MRC      Added prototypes for checksum functions.
*  7     10/07/2002  JFE      Changed VLAN header length to 4 bytes.
*                             Added support for PacketRxSetHeader function.
*                             Code review actions.
*  8     06/08/2002  MRC      Changed error code in check macro
*  9     07/08/2002  MRC      Updated, adding in checksums calculations etc.
*  10    14/08/2002  MRC      Added update UDP checksum function
*  11    16/08/2002  MRC      Added another checksum function
*  12    16/08/2002  MRC      Added control to allow the Tx RTP timestamp to be
*                             derived from the WAN interface.
*  13    28/08/2002  MRC      Added support for packet Tx CD headers
*  14    03/09/2002  MRC      Added teardown for Tx CD headers
*  15    04/09/2002  JFE      Changes to packet rx function structures and static
*                             function prototypes.
*  16    05/09/2002  JFE      Fixed mask in/out macros which were upside down
*  17    05/09/2002  MRC      changed fn zl5011xPacketGetWanRxCDHeader
*  18    06/09/2002  JFE      Changed some #defines for header field positions
*  19    11/09/2002  JFE      Added #define for minimum packet size
*  20    12/09/2002  JFE      Added payload length member to zl5011xPacketRxSetHeaderS
*  21    13/09/2002  JFE      Added member to zl5011xPacketRxSetHeaderS for optional
*                             L2TP cookie.
*  22    13/09/2002  JFE      Added #define for L2TPV3 since cookie is optional which
*                             affects length of header.
*                             Modified zl5011xPacketRxTemplateS to allow option of cookie
*  23    16/09/2002  JFE      Added control protocol stacks to the protocolType enum.
*  24    23/09/2002  JFE      Added prototype for function zl5011xPacketRxSetControlHeader.
*                             Added cpu queue to the packet rx structure for control headers.
*  25    25/09/2002  JFE      Updating of a comment.
*  26    27/09/2002  JFE      Added a couple of structures to deal with double setting up
*                             of protocol stacks.
*  27    03/10/2002  JFE      Added #define for initialising PW Status Ram.
*  28    08/10/2002  JFE      Peer review actions.
*  29    10/10/2002  JFE      Changed zl5011xPacketProtocolStackS to include members to
*                             deal with the same CD stacks with different CD offsets.
*  30    22/10/2002  JFE      Added a third dimension to protocolMatchNumber to take account
*                             of presence of l2tpv3 cookie.
*  31    31/10/2002  MRC      Added variants + minor fixes
*  32    31/10/2002  JFE      Changed header length for L2TPv2 Control
*  33    04/11/2002  JFE      Added packet rx structure member to override
*                              template sequence number 2-byte instruction
*  34    15/11/2002  JFE      New function prototype for zl5011xPacketRxDeleteHeader.
*  35    21/02/2003  MRC      Moved packet checksum functions to apiHigh
*  36    21/02/2003  JFE      Added some new definitions for ethertypes
*  37    28/02/2003  JFE      Added IP protocol definitions
*  38    05/03/2003  MRC      Fairly big tweak
*  39    06/03/2003  MRC      Added OS exclusion
*  40    24/03/2003  MRC      Add parameter to force one byte seq numbers
*  41    25/03/2003  MRC      Added field positions for UDP checksum calc
*  42    19/05/2003  APL      L2TPv3 changes
*  43    22/05/2003  MRC      Allows the IPv4 header fields to be fixed
*  44    25/06/2003  MRC      Added CD header defines
*  45    29/07/2003  APL      Removed duplicate macro definition
*  46    04/08/2003  APL      Removed unused variable for some device variants
*  47    28/10/2003  AMS      Update
*  48    29/10/2003  AMS      Update
*  49    30/10/2003  AMS      Update
*  50    07/11/2003  AMS      Update
*  51    11/11/2003  AMS      Update
*  52    18/11/2003  AMS      Update
*  53    06/01/2004  MRC      Reverted to revision 46
*  54    15/04/2004  MRC      Added option to disable timestamp extraction to
*                             packet Rx function
*  55    07/06/2004  MRC      Updated for MPLS->PW->RTP protocol
*  56    29/07/2004  MRC      Fixed some compiler warnings
*  57    25/08/2004  MRC      Protocol updates
*  58    13/09/2004  APL      Allow option to not remove headers
*  59    27/09/2004  MRC      Added default value for status byte mask
*  60    19/11/2004  MRC      Added enum to allow more control over operations
*                             on the length for Packet Rx
*  61    21/01/2005  MRC      Added option for PacketRx to match ethernet MAC
*                             address (matchDestMacAddress) and a function
*                             for use on device reset zl5011xPacketRxFreeDevice
*  62    28/01/2005  MRC      Added options to PacketRx to match IPv4 addresses
*  63    04/02/2005  MRC      Added option to apply masks to UDP ports and
*                             disable post classification checks
*  64    10/02/2005  MRC      Fixed some typos
*  65    01/03/2005  APL      Added function to delete specified protocol match
*  66    01/03/2005  APL      Added include file
*  67    09/03/2005  APL      Added another include file
*  68    17/03/2005  APL      Added ZL5011X_PACKET_ETHERNET_FCS
*  69    19/04/2005  MRC      Added another packet length option
*
******************************************************************************/

#ifndef _ZL5011X_PACKET_H
#define _ZL5011X_PACKET_H

#ifdef __cplusplus
extern "C" {
#endif

/*****************   INCLUDE FILES   *****************************************/
#include "zl5011xLan.h"
#include "zl5011xPktProtocol.h"

/*****************   MACROS   ************************************************/

#define ZL5011X_PACKET_RX_MUTEX_TIMEOUT_MS  2000

#define ZL5011X_CHECK_POINTER(x)  if (x == NULL) return(ZL5011X_PARAMETER_INVALID);
#define ZL5011X_CHECK_STATUS(x)   if (x != ZL5011X_OK) return(x);

#define ZL5011X_PACKET_DEFAULT_STATUS_MASK  0xe

#define ZL5011X_PKT_ETHERNET_HDR_LEN  14 /* Number of bytes in ethernet header     */
#define ZL5011X_PKT_ETHERSNAP_HDR_LEN (ZL5011X_PKT_ETHERNET_HDR_LEN + ZL5011X_PKT_SNAP_FIELD_LEN)
#define ZL5011X_PKT_SNAP_FIELD_LEN    8  /* Number of bytes in SNAP field          */
#define ZL5011X_PKT_CD_HDR_LEN        2  /* Number of bytes in Context Descr. hdr  */
#define ZL5011X_PKT_VLAN_HDR_LEN      4  /* Number of bytes in VLAN header         */
#define ZL5011X_PKT_MPLS_HDR_LEN      4  /* Number of bytes in MPLS header         */
#define ZL5011X_PKT_IPV4_HDR_LEN      20 /* Number of bytes in IP v4 header        */
#define ZL5011X_PKT_IPV6_HDR_LEN      40 /* Number of bytes in IP v6 header        */
#define ZL5011X_PKT_UDP_HDR_LEN       8  /* Number of bytes in UDP header          */
#define ZL5011X_PKT_RTP_HDR_LEN       12 /* Number of bytes in RTP header          */
#define ZL5011X_PKT_PW_HDR_LEN        4  /* Number of bytes in PW header           */
#define ZL5011X_PKT_L2TP_HDR_LEN      8  /* Number of bytes in L2TP header         */
#define ZL5011X_PKT_L2TPV3_HDR_LEN    4  /* Number of bytes in the L2TPv3 header   */
#define ZL5011X_PKT_L2TPV3_COOKIE_LEN 4
#define ZL5011X_PKT_ETHERSNAP_LEN_POS 12 /* -from start of ETH hdr (8-bit bytes)   */
#define ZL5011X_PKT_IPV4_IDENT_POS    4  /* -from start of IP hdr (8-bit bytes)    */
#define ZL5011X_PKT_IPV4_LEN_POS      2  /* -from start of IP hdr (8-bit bytes)    */
#define ZL5011X_PKT_IPV4_ADDR_POS     12 /* -from start of IP hdr (8-bit bytes)    */
#define ZL5011X_PKT_IPV4_ADDR_LEN     8  /* number of bytes in the IP addresses */
#define ZL5011X_PKT_IPV4_SRC_POS      12 /* -from start of IP hdr (8-bit bytes) */
#define ZL5011X_PKT_IPV4_DEST_POS     16 /* -from start of IP hdr (8-bit bytes) */
#define ZL5011X_PKT_IPV6_LEN_POS      4  /* -from start of IP hdr (8-bit bytes)    */
#define ZL5011X_PKT_IPV6_ADDR_POS     8  /* -from start of IP hdr (8-bit bytes)    */
#define ZL5011X_PKT_IPV6_ADDR_LEN     32 /* number of bytes in the IP addresses */
#define ZL5011X_PKT_UDP_LEN_POS       4  /* -from start of UDP hdr (8-bit bytes)   */
#define ZL5011X_PKT_L2TP_LEN_POS      2  /* -from start of L2TP hdr (8-bit bytes)  */
#define ZL5011X_PKT_IPV4_CHKSUM_POS   10 /* -from start of IP hdr (8-bit bytes)    */
#define ZL5011X_PKT_UDP_CHKSUM_POS    6  /* -from start of UDP hdr (8-bit bytes)   */
#define ZL5011X_PKT_RTP_SEQ_POS       2  /* -from start of RTP hdr (8-bit bytes)   */
#define ZL5011X_PKT_PW_SEQ_POS        2  /* -from start of PW hdr (8-bit bytes) NB:
                                      It is not exactly 16 bits because the
                                      sequence number is 14 bits long.       */
#define ZL5011X_PKT_IPV4_TYPE_POS     9  /* -from start of IP header               */
#define ZL5011X_PKT_IPV6_TYPE_POS     6  /* -from start of IP header               */
#define ZL5011X_PKT_UDP_SRC_PORT_POS  0  /* -from start of UDP header              */
#define ZL5011X_PKT_UDP_DEST_PORT_POS 2  /* -from start of UDP header              */
#define ZL5011X_PKT_L2TP_TNL_ID_POS   4  /* -from start of L2TP header             */
#define ZL5011X_PKT_L2TP_SESS_ID_POS  6  /* -from start of L2TP header             */
#define ZL5011X_PKT_RTP_TS_POS        4  /* -from start of RTP hdr (8-bit bytes)   */
#define ZL5011X_PKT_MPLS_VC_TLV_POS   0  /* -from start of MPLS header             */
#define ZL5011X_PKT_MPLS_GROUP_ID_POS 4  /* -from start of MPLS header             */
#define ZL5011X_PKT_MPLS_VC_ID_POS    8  /* -from start of MPLS header             */

#define ZL5011X_PACKET_HEADER_MAX (ZL5011X_PTX_LOW_HEADER_MAX_LEN + \
                                                 ZL5011X_RTP_HIGH_HEADER_MAX_LEN)
#define ZL5011X_PACKET_PACKET_MIN     64 /* Minimum number of bytes in ethernet packet */
#define ZL5011X_PACKET_ETHERNET_FCS   4  /* Size of the Ethernet Frame Check Sequence */

#define ZL5011X_PKT_CD_TYPE_POS       13
#define ZL5011X_PKT_CD_TYPE_UDP       0x1
#define ZL5011X_PKT_CD_TYPE_STD       0x0

#define ZL5011X_PKT_CD_SWITCH_POS     12
#define ZL5011X_PKT_CD_TEARDOWN_POS   8
#define ZL5011X_PKT_CD_CONTEXT_POS    0
#define ZL5011X_PKT_CD_CONTEXT_MASK   0xff

/* Macros for the PKC */
#define ZL5011X_DONT_CARE         0xFF
#define ZL5011X_MASK_OUT          0xFF
#define ZL5011X_MASK_IN           0x00
#define ZL5011X_MASK_IN_VLAN_ID   (Uint32T)0xF000

#define ZL5011X_ETHERTYPE_IPV4_A  0x08 /* First byte of IPv4 Ethertype         */
#define ZL5011X_ETHERTYPE_IPV4_B  0x00 /* Second byte of IPv4 Ethertype        */
#define ZL5011X_ETHERTYPE_IPV6_A  0x86 /* First byte of IPv6 Ethertype         */
#define ZL5011X_ETHERTYPE_IPV6_B  0xDD /* Second byte of IPv6 Ethertype        */
#define ZL5011X_ETHERTYPE_UMPLS_A 0x88 /* First byte of unicast MPLS Ethertype */
#define ZL5011X_ETHERTYPE_UMPLS_B 0x47 /* Second byte of u-cast MPLS Ethertype */
#define ZL5011X_ETHERTYPE_MMPLS_A 0x88 /* First byte of m-cast MPLS Ethertype  */
#define ZL5011X_ETHERTYPE_MMPLS_B 0x48 /* Second byte of m-cast MPLS Ethertype */
#define ZL5011X_IP_VERSION_IPV4   0x40
#define ZL5011X_IP_VERSION_IPV6   0x60
#define ZL5011X_IP_TYPE_UDP       0x11 /* Contents of IP type field            */
#define ZL5011X_IP_TYPE_L2TP      0x73 /* Contents of IP type field            */
#define ZL5011X_MPLS_VC_TYPE      0x0005
#define ZL5011X_MPLS_VC_TYPE_VLAN 0x0004

#define ZL5011X_PKT_UNINIT        0xff

#define ZL5011X_PKT_RTCP_CTRL_HDR_LEN    8  /* Number of bytes */
#define ZL5011X_PKT_L2TPV2_CTRL_HDR_LEN  14 /* Number of bytes */
#define ZL5011X_PKT_L2TPV3_CTRL_HDR_LEN  16 /* Number of bytes */

/*****  ETHERTYPES: */
#define ZL5011X_PKT_ETHERTYPE_LEN     (2)  /* Number of bytes */
#define ZL5011X_PKT_ETHERTYPE_VLAN    ((Uint16T)0x8100)
#define ZL5011X_PKT_ETHERTYPE_CD      ((Uint16T)0x80CD)
#define ZL5011X_PKT_ETHERTYPE_PW      ((Uint16T)0xDEAF)
#define ZL5011X_PKT_ETHERTYPE_IPV4    ((Uint16T)0x0800)
#define ZL5011X_PKT_ETHERTYPE_IPV6    ((Uint16T)0x86DD)
#define ZL5011X_PKT_ETHERTYPE_MPLS    ((Uint16T)0x8847)

#define ZL5011X_PKT_IP_PROTOCOL_UDP   ((Uint16T)17)
#define ZL5011X_PKT_IP_PROTOCOL_L2TP  ((Uint16T)115)

/* Constant required to support multiple devices */
#define ZL5011X_MAX_NUMBER_DEVICES             16

/*****************   DATA STRUCTURES   ***************************************/

#define ZL5011X_PKT_INCOMPATIBLE_HEADER  ZL5011X_PKC_NUM_PROTOCOL_ENTRIES

typedef struct
{
   Uint32T context;
   zl5011xProtocolTypeE protocolType;
   Uint8T portNum;
   Uint8T queueNum;
   Uint8T *header;
   Uint8T headerLength;

   /* Ethernet control variables */
   zl5011xBooleanE enableVlan;
   zl5011xBooleanE enableSnap;
   zl5011xBooleanE ethernetSrcAddressFromMac;

   /* IP version - ZL5011X_TRUE for IPv4 and ZL5011X_FALSE for IPv6 */
   zl5011xBooleanE ipVer4;

   /* allow IP header to be fixed - no dynamic fields from device */
   zl5011xBooleanE fixIpv4Header;

   /* when using a fixed IPv4 header, the payload length MUST be supplied,
      to allow construction of the header */
   Uint16T payloadLength;

   /* enable for UDP checksum */
   zl5011xBooleanE enableUDPChecksum;

   /* L2TP Control Structure Members */
   zl5011xBooleanE  enableL2TPCookie;

   /* RTP Control Structure members: */
   Uint32T rtpTimestampInc;
   zl5011xBooleanE rtpTimestampFromWan;

   /* in the presence of both RTP and PW headers, this can be used to control
      which of the two sequence numbers gets used */

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
在线成人午夜影院| 亚洲精品成人a在线观看| 欧美韩国日本不卡| 天天综合天天综合色| 成人性生交大片| 日韩一二三四区| 亚洲sss视频在线视频| 成人一区二区三区视频在线观看| 欧美日韩在线播放一区| 中文天堂在线一区| 国产一区二区在线看| 欧美挠脚心视频网站| 亚洲精品videosex极品| 成人一区在线看| 久久久久久97三级| 免费成人av资源网| 欧美区在线观看| 午夜精品免费在线| 在线观看视频欧美| 成人欧美一区二区三区在线播放| 国产精品一区二区三区99| 日韩午夜电影在线观看| 午夜激情综合网| 欧美日韩精品欧美日韩精品| 亚洲自拍偷拍图区| 在线精品视频一区二区| 亚洲精品亚洲人成人网| 99久久婷婷国产精品综合| 国产亚洲欧美激情| 成人免费观看av| 国产精品高清亚洲| 色综合天天狠狠| 亚洲一区二区三区四区在线| 91免费观看视频在线| 1024国产精品| 色婷婷av一区| 亚洲国产精品一区二区www在线| 欧美在线免费观看视频| 午夜久久久久久久久| 8v天堂国产在线一区二区| 日韩av中文字幕一区二区三区 | 成人国产精品免费观看| 中国色在线观看另类| 91丨porny丨国产| 亚洲乱码国产乱码精品精小说 | 精品对白一区国产伦| 精品一区二区av| 欧美激情综合在线| 97se亚洲国产综合自在线不卡| 亚洲丝袜美腿综合| 欧美视频一区二| 久久99国产精品久久99| 国产亚洲精品免费| 欧美系列亚洲系列| 久久99国产精品麻豆| 国产精品福利一区| 欧美精品日日鲁夜夜添| 国产精品亚洲人在线观看| 成人欧美一区二区三区视频网页| 欧美色图12p| 激情综合网天天干| 一区精品在线播放| 3751色影院一区二区三区| 国产在线观看一区二区| 亚洲精品免费在线| 久久综合狠狠综合久久激情 | 韩国欧美国产一区| 亚洲乱码国产乱码精品精小说| 在线不卡的av| 成人av资源站| 蜜臀久久久99精品久久久久久| 国产精品超碰97尤物18| 日韩欧美中文字幕公布| 91小视频免费观看| 久草这里只有精品视频| 亚洲蜜桃精久久久久久久| 欧美电影免费观看高清完整版在线观看 | 粉嫩久久99精品久久久久久夜| 一区二区三区在线视频观看58| 久久亚洲欧美国产精品乐播| 欧美中文字幕久久| jlzzjlzz亚洲日本少妇| 精品一区二区三区在线播放视频| 一区二区三区不卡视频| 久久久久九九视频| 日韩欧美一级二级三级久久久| 99在线精品视频| 国产高清在线精品| 热久久一区二区| 亚洲一区免费视频| 亚洲日穴在线视频| 国产精品三级视频| 久久婷婷久久一区二区三区| 555夜色666亚洲国产免| 欧美在线免费观看视频| 91美女在线视频| 国产不卡在线视频| 国精品**一区二区三区在线蜜桃| 午夜精品一区在线观看| 亚洲一级二级三级在线免费观看| 国产精品三级在线观看| 日本一区二区动态图| 久久久久久久综合狠狠综合| 欧美一级黄色录像| 91精品午夜视频| 欧美日本精品一区二区三区| 欧洲另类一二三四区| 在线国产电影不卡| 在线视频一区二区三| 91免费在线看| 在线亚洲免费视频| 欧美日韩三级视频| 欧美日本不卡视频| 日韩小视频在线观看专区| 欧美一区二区福利在线| 日韩一区二区在线免费观看| 日韩一区二区三区四区| 欧美一区二区网站| 精品日韩99亚洲| 亚洲精品在线观看网站| 久久蜜臀中文字幕| 国产精品美女久久福利网站| 国产精品区一区二区三区| 国产精品伦一区二区三级视频| 国产精品视频一二三| 成人免费小视频| 亚洲人成网站色在线观看| 夜夜嗨av一区二区三区中文字幕| 一区二区三区成人| 日韩精品福利网| 精品一区二区在线视频| 国产精品一区二区在线观看不卡 | 国产一区二区三区在线观看精品 | 亚洲猫色日本管| 亚州成人在线电影| 久久se这里有精品| 91影视在线播放| 欧美日韩在线免费视频| 精品久久一区二区| 国产日韩欧美一区二区三区乱码 | 欧美xxxxx牲另类人与| 欧美经典一区二区三区| 亚洲欧美激情插| 久久国产精品色| 97se亚洲国产综合自在线| 欧美日本不卡视频| 国产三区在线成人av| 亚洲欧美日韩精品久久久久| 日本大胆欧美人术艺术动态| 国产v综合v亚洲欧| 欧美色综合影院| 国产日产精品一区| 婷婷一区二区三区| av资源网一区| 精品欧美一区二区三区精品久久 | 中文字幕成人在线观看| 一区二区三区电影在线播| 国产一区二区三区国产| 在线观看91精品国产入口| 久久久综合九色合综国产精品| 亚洲一区中文日韩| 国产传媒欧美日韩成人| 欧美一级片免费看| 伊人性伊人情综合网| 国产一区欧美一区| 欧美疯狂性受xxxxx喷水图片| 国产精品久久久久aaaa| 久久精品国产成人一区二区三区 | 亚洲一区二区不卡免费| 国产一区二区三区四区在线观看| 欧美性猛交xxxxxxxx| 中文字幕欧美区| 激情综合色播激情啊| 欧美一级免费观看| 亚洲国产婷婷综合在线精品| 春色校园综合激情亚洲| 久久综合九色综合欧美亚洲| 天堂资源在线中文精品| 色哟哟日韩精品| 中文字幕一区二区三区四区不卡| 精品亚洲国产成人av制服丝袜| 91麻豆精品国产自产在线观看一区 | 日本一二三不卡| 国产自产视频一区二区三区| 日韩欧美一区在线观看| 亚洲一区二区三区国产| 色综合久久综合中文综合网| 亚洲国产精品v| 成人午夜在线免费| 国产日韩欧美一区二区三区乱码 | 国产日韩精品一区二区三区在线| 蜜臀av一区二区三区| 欧美一区二区视频在线观看| 日日噜噜夜夜狠狠视频欧美人| 欧美日韩一区二区在线观看视频| 亚洲国产日韩综合久久精品| 在线观看91精品国产入口| 亚洲影视在线观看| 在线综合亚洲欧美在线视频| 蜜臀91精品一区二区三区|