亚洲欧美第一页_禁久久精品乱码_粉嫩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一区二区三区免费野_久草精品视频
玉足女爽爽91| 一区二区国产视频| 久久综合99re88久久爱| 日韩视频一区二区| 国产亚洲视频系列| 亚洲国产日韩在线一区模特| 最新国产成人在线观看| 亚洲成人午夜电影| 韩国欧美国产1区| 国产精品系列在线播放| 色婷婷精品大在线视频| 久久综合色一综合色88| 国产精品久久久爽爽爽麻豆色哟哟| 欧美激情一区不卡| 日本中文在线一区| 东方欧美亚洲色图在线| 8v天堂国产在线一区二区| 精品日韩成人av| 亚洲精品视频免费观看| 韩国av一区二区三区四区| 99久久伊人网影院| 欧美亚洲国产一区二区三区va| 欧美丰满一区二区免费视频| 国产精品视频线看| 久久精品国产一区二区| 欧美视频一区二| 一区二区三区在线高清| 高清beeg欧美| 久久影院午夜论| 肉丝袜脚交视频一区二区| aaa亚洲精品一二三区| 精品免费一区二区三区| 五月婷婷久久丁香| 欧美色男人天堂| 亚洲日本韩国一区| 日韩精品欧美精品| 欧美午夜片在线观看| 亚洲欧美日韩一区二区三区在线观看| 久久9热精品视频| 91精品国产色综合久久不卡蜜臀| 曰韩精品一区二区| 成人午夜精品一区二区三区| 精品少妇一区二区三区免费观看| 免费在线观看视频一区| 欧美久久久久久久久久| 日产精品久久久久久久性色| 欧美一区二区黄| 国产在线一区观看| 国产精品福利一区| 欧美三级三级三级| 开心九九激情九九欧美日韩精美视频电影 | 欧美视频自拍偷拍| 免费高清不卡av| 国产精品久久久爽爽爽麻豆色哟哟| av中文字幕不卡| 亚洲mv在线观看| 久久影院午夜论| 在线中文字幕不卡| 久久激五月天综合精品| 久久久91精品国产一区二区精品| 99久久婷婷国产综合精品电影| 亚洲成人中文在线| 久久免费视频色| 色综合天天综合网国产成人综合天| 亚洲一区电影777| 精品国产亚洲在线| 91麻豆免费看| 国产一区在线不卡| 亚洲一区二区三区在线播放| 日韩你懂的在线观看| 99久久婷婷国产综合精品电影| 日韩成人午夜电影| 中文字幕一区二区不卡| 日韩视频免费观看高清完整版 | 亚洲成av人片在线| 国产调教视频一区| 91精品国产综合久久久久久久久久| 国产一区二区三区日韩| 亚洲第一狼人社区| 欧美激情在线一区二区| 欧美一区二区三区四区高清| 色综合激情久久| 国产精品系列在线播放| 亚洲午夜一区二区三区| 欧美高清在线一区| 欧美成人福利视频| 欧美日本韩国一区| 日本丶国产丶欧美色综合| 国产成人综合亚洲网站| 日韩精品一卡二卡三卡四卡无卡| 中文字幕一区av| 久久久久久久久99精品| 91麻豆精品国产91久久久久| 91亚洲国产成人精品一区二三| 国产一区二区伦理片| 午夜精品久久久久久久99水蜜桃| 国产精品久久久久久久蜜臀| 精品国产免费人成在线观看| 欧美美女直播网站| 在线观看欧美黄色| 91久久免费观看| 99精品视频中文字幕| 成人一道本在线| 国产传媒久久文化传媒| 国产一区二区三区免费| 琪琪一区二区三区| 视频在线观看国产精品| 亚洲国产日日夜夜| 亚洲h动漫在线| 亚洲一区二区三区中文字幕| 亚洲免费伊人电影| 一区二区三区精品在线观看| 亚洲乱码一区二区三区在线观看| 久久久久久久久久美女| 久久精品亚洲精品国产欧美| 久久精子c满五个校花| 中国av一区二区三区| 国产精品麻豆视频| 国产精品久线在线观看| 中文字幕一区二区在线观看| 亚洲欧美韩国综合色| 亚洲精品高清在线| 亚洲国产成人tv| 美国欧美日韩国产在线播放| 精品一区二区三区在线观看国产| 久久97超碰国产精品超碰| 国产精品一线二线三线精华| 国产成人免费在线视频| 色香蕉成人二区免费| 精品视频在线免费看| 日韩精品一区二区三区在线播放| 精品久久久久一区二区国产| 欧美经典三级视频一区二区三区| 国产精品久久久久久久久晋中| 亚洲美女在线一区| 日本欧美肥老太交大片| 国产高清成人在线| 99在线精品免费| 538prom精品视频线放| 久久网这里都是精品| 亚洲欧美一区二区久久| 午夜视频一区在线观看| 国产一区久久久| 91美女蜜桃在线| 91精品视频网| 国产精品欧美一级免费| 亚洲狠狠丁香婷婷综合久久久| 日韩电影一二三区| 国产精品一区在线观看乱码 | 尤物在线观看一区| 毛片av一区二区三区| 不卡在线观看av| 91麻豆精品国产91久久久久久久久 | 欧美日韩欧美一区二区| 日韩欧美国产一区二区三区| 国产精品乱人伦| 日韩成人av影视| 91一区一区三区| 精品国产一区二区三区久久影院| 最新中文字幕一区二区三区| 免费在线观看一区| 色婷婷激情一区二区三区| 日韩美女主播在线视频一区二区三区| 国产精品成人一区二区艾草| 蜜桃av噜噜一区二区三区小说| av中文字幕在线不卡| 欧美tk丨vk视频| 亚洲综合激情小说| 成人av电影在线| 精品国产99国产精品| 亚洲电影第三页| 色悠悠亚洲一区二区| 久久久亚洲精品石原莉奈| 性久久久久久久| 色哟哟欧美精品| 中文字幕国产一区二区| 麻豆精品一二三| 91麻豆精品国产| 香蕉乱码成人久久天堂爱免费| 丁香网亚洲国际| 久久青草欧美一区二区三区| 日韩av网站在线观看| 欧美网站大全在线观看| 亚洲欧美日韩小说| 91在线视频播放地址| 亚洲欧洲性图库| 不卡的av电影| 国产精品色哟哟网站| 国产乱妇无码大片在线观看| www成人在线观看| 久久99国产精品麻豆| 日韩欧美高清dvd碟片| 视频一区中文字幕国产| 欧美日韩三级一区二区| 亚洲综合色丁香婷婷六月图片| 色婷婷综合久久久| 一区二区在线观看不卡| 欧美性受xxxx| 日韩高清一区在线| 欧美zozozo|