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

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

?? macphy.h

?? This network protcol stack,it is very strong and powerful!
?? H
?? 第 1 頁 / 共 2 頁
字號:
/************************************************************************************
* Header file for interface between MAC and PHY layer.
* The functionality declared in this file all resides in the PHY layer of ZigBee
*
* Author(s): Thomas O. Jensen
*
* (c) Copyright 2004, Freescale, Inc.  All rights reserved.
*
* Freescale Confidential Proprietary
* Digianswer Confidential
*
* No part of this document must be reproduced in any form - including copied,
* transcribed, printed or by any electronic means - without specific written
* permission from Freescale.
*
* Source Safe revision history (Do not edit manually)
*  $Date: 30-04-04 15:17 $
*  $Author: Allan1 $
*  $Revision: 99 $
*  $Workfile: MacPhy.h $
************************************************************************************/

#ifndef _MACPHY_H_
#define _MACPHY_H_

/************************************************************************************
*************************************************************************************
* Includes
*************************************************************************************
************************************************************************************/

// Include target dependent information
#include "DigiType.h"

/************************************************************************************
*************************************************************************************
* Public macros
*************************************************************************************
************************************************************************************/

  // Get the offset from the beginning of a structure to the member variable
#define GetRelAddr(strct, member) ((uint8_t)(&(((strct *)(void *)0)->member))) 

/************************************************************************************
*************************************************************************************
* New types and defines! Everybody must change to these!
*************************************************************************************
************************************************************************************/

#define gMaxRxTxDataLength_c (125) // Max length of MPDU/PSDU without CRC

/* Desciption of data packet format in transmitting direction:
Please note that the packet formatted message does not╥nclude the Preamble sequence,
Start of frame delimiter and the CRC (FCS) because these fields are read and
processed by the ABEL hardware.

Name	        Size	  Range	          Notes
Frame length  1	      (9-127 (Why     Note that this is the length used in the PHY
      	              is p42 min 8?)  packet to be sent over the air. It does not
                                      specify the length of this message.
Link quality	1	      0x00-0xff	      
Header length 1                       Length of header in bytes
Header type   1                       Enum for variations of header types
Frame control	2	      Bitmap	
Sequence	    1	      0x00-0xff
number
DstPANId	    0/2		
DstAddr	      0/2/8		
SrcPANId	    0/2		
SrcAddr	      0/2/8		
Frame counter	0/4		                  For security. Running increment
Key seq.	    0/1		                  For security.
counter
Msdu	        0-102		                May be encrypted
Integrity 	  0/4/8/16		            May be encrypted
code

The Frame control field contains the following bits:
Name	            Index Size	Range	  Notes
Frame type	      0-2	  3	    0x0-0x3	Beacon, Data, Acknowledgement, MAC command
Security enabled	3	    1		          From TxOptions
Frame pending	    4	    1		          Controlled by MEM/MCPS/MLME
Ack. req.	        5	    1		          From TxOptions
Intra PAN	        6	    1		
DstAddrMode	      10-11	2	    0x0-0x3	
SrcAddrMode	      14-15	2	    0x0-0x3	                                             */
#ifdef I_AM_A_SNIFFER
typedef struct rxPacket_tag{
  uint8_t frameLength;
  uint8_t linkQuality;
  uint8_t headerLength;
  uint8_t timeStampAbelLSB1;
  uint8_t timeStampAbelLSB0;
  uint8_t timeStampMCU;
  uint8_t rxData[gMaxRxTxDataLength_c];
  zbClock24_t timeStamp;
} rxPacket_t;
#else
typedef struct rxPacket_tag{
  uint8_t frameLength;
  uint8_t linkQuality;
  uint8_t headerLength;
  uint8_t rxData[gMaxRxTxDataLength_c];
  zbClock24_t timeStamp;    // BUGBUG : Used to be dummyForRxDataOverflow[2]. Used for TimeStamp as temp hack
} rxPacket_t;                // BUGBUG : But take care: PHY layer will use this field as dummy rx storage!
#endif I_AM_A_SNIFFER

#define gRxDataIndexOffset_c (GetRelAddr(rxPacket_t, rxData))

/* Desciption of data packet format in transmitting direction:
Please note that the packet formatted message does not include the Preamble sequence,
Start of frame delimiter and the CRC (FCS) because these fields are added by the ABEL
hardware.
Also, please note that this message includes the msduHandle, and the txInfo fields.
These are included for internal bookkeeping and are not transmitted over the
air. The msduHandle is valid for data packets only.
Length of entire packet is frameLength + 1 ("+1" includes length, MsduHandle
and Message type info fields - excludes CRC field)

Name	        Size	  Range	          Notes
Frame length  1	      (9-127 (Why     Note that this is the length used in the PHY
      	              is p42 min 8?)  packet to be sent over the air. It does not
                                      specify the length of this message.
MsduHandle	  1		                    
txInfo 	      1		                    Direct/Indirect/GTS, Allow pending frame modify
Frame control	2	      Bitmap	
Sequence	    1	      0x00-0xff	      Controlled by MCPS/MLME modules!
number
DstPANId	    0/2		
DstAddr	      0/2/8		
SrcPANId	    0/2		
SrcAddr	      0/2/8		
Frame counter	0/4		                  For security. Running increment
Key seq.	    0/1		                  For security. Set by network
counter
msdu	        0-102		                May be encrypted
Integrity     0/4/8/16		            May be encrypted
code

The Frame control field is identical to  the one defined for rx...
*/

/////////////////////////////////////////////////////////////////////////////////////////
//                                                                                     //
// If you add/change the Tx packet struct please note that you HAVE to update:         //
//                                                                                     //
//    (1) Make sure inline McpsConversion does not corrupt payload                     //
//    (2) Update the ackFrame_t structure                                              //
//    (3) Update the beaconRequestFrame_t structure                                    //
//    (4) Update the orphanNotificationFrame_t structure                               //
//                                                                                     //
/////////////////////////////////////////////////////////////////////////////////////////
typedef struct txPacket_tag{
  uint8_t frameLength; // Length of MPDU/PSDU (length of txData + 2 for CRC)
  uint8_t txInfo; // Direct/indirect/GTS infom; allow frame pending changes in MEM; etc.
  struct {
    uint8_t csmaCaNb;   // The number of csma-ca attemps.
    uint8_t csmaCaBe;   // The csma-ca backoff exponent.
    uint8_t txCount;    // The number of tx attempts.
  } csmaAndTx;
  uint16_t expireTime;  // Only used for coordinator capability 
  uint8_t msduHandle;   // Valid for data packets only
  uint8_t txData[gMaxRxTxDataLength_c];
} txPacket_t;

void validateWaitLength(uint8_t cmpValue);

#define EXIT_IF_RXINDEX_NOT_REACHED(cmpValue) {\
  uint8_t cmpLength = gRxDataIndexOffset_c + (cmpValue);\
  if(cmpLength > gPhyMacDataRxIndex) {\
    validateWaitLength(cmpValue);\
    return;\
  }\
}

  // For accessing fixed location fields in (MPDU/SPDU) rx/txData in rx/txPacket_t:
#define gFrameControlLsbPos_c   (GetRelAddr(hdrGenericHeaderType_t, frameControlLsb)) // Position in rx/txData in rx/txPacket_t
#define gFrameControlMsbPos_c   (GetRelAddr(hdrGenericHeaderType_t, frameControlMsb)) // Position in rx/txData in rx/txPacket_t
#define gSeqNumberPos_c         (GetRelAddr(hdrGenericHeaderType_t, seqNr)) // Position in rx/txData in rx/txPacket_t
#define gAddrFieldsStartPos_c   (GetRelAddr(hdrGenericHeaderType_t, addrFieldsStart)) // Position in rx/txData in rx/txPacket_t

  // Maximum buffer sizes to be used:
#define gMaxRxPacketBufferSize_c (sizeof(rxPacket_t))
#define gMaxTxPacketBufferSize_c (sizeof(txPacket_t))
#define gMaxPacketBufferSize_c (getMax(gMaxRxPacketBufferSize_c, gMaxTxPacketBufferSize_c))

  // For accessing txInfo info:
#define gTxInfoCommandFrameFlag_c               ((uint8_t)(1 << 0))
#define gTxInfoDataReqFlag_c                    ((uint8_t)(1 << 1))
#define gTxInfoIndirectFlag_c                   ((uint8_t)(1 << 2))
#define gTxInfoConfirmFlag_c                    ((uint8_t)(1 << 3)) // If set then a data indication will be sent after the frame has completed.
#define gTxInfoGtsFlag_c                        ((uint8_t)(1 << 4))
#define gTxInfoHiPriDataFlag_c                  ((uint8_t)(1 << 5)) // If set then this marks a high priority data frame that should be placed first in the direct queue
#define gTxInfoTreemodeRouteFlag_c              ((uint8_t)(1 << 6)) 
#define gTxInfoFramePendingModifyAllowFlag_c    ((uint8_t)(1 << 7))

  // Difference between Frame length (in rx/txPacket_t) and total packet legth over
  // the air is Preamble sequence, Start of frame delimiter and the Frame length
  // fields
#define gFrameLengthToTotalPhyLengthDiff_c (6)

#define gMacDataAndCommandThreshold_c 128

  // Events to be used in the status field of the action_t.
  // Valid only for the SeqActionCompleteInd and SeqActionFailInd primitives.
  // NOT used in the SeqActionStartInd!!
enum {
  gSeqMemAcUndefined_c = gMacDataAndCommandThreshold_c, // Dummy: Only used for error handling. 
                              // Enum must start with 128, because data frames uses the Id field
                              // as the length field (frame lengths are always less than 128). 
                              // MLME to MEM id's are located in the range from 128 to 255.
                              // Values from 0 to 127 denotes a MAC frame of that size.
                              // This is taken advantage of in the MEM input handler.
  gSeqMemAcSuccess_c,

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品国产123| 色乱码一区二区三区88| 午夜在线成人av| 亚洲自拍偷拍图区| 亚洲蜜桃精久久久久久久| 136国产福利精品导航| 国产精品国产三级国产专播品爱网| 久久久噜噜噜久久人人看 | 亚洲蜜臀av乱码久久精品 | 欧美无乱码久久久免费午夜一区 | 亚洲成人精品一区| 亚洲福利一二三区| 免费视频一区二区| 国产一区二区在线观看免费| 国产大陆亚洲精品国产| 成人开心网精品视频| 一本在线高清不卡dvd| 欧美在线|欧美| 欧美一区二区三区思思人| 久久影院视频免费| 国产精品久久国产精麻豆99网站| 一区二区三区色| 日本成人在线网站| 不卡一卡二卡三乱码免费网站| 色综合久久综合中文综合网| 欧美午夜不卡在线观看免费| 精品国产乱码久久久久久久久| 久久久久88色偷偷免费| 一区二区三区加勒比av| 免费国产亚洲视频| a级高清视频欧美日韩| 欧美日韩色综合| 中文字幕国产一区| 亚洲成人动漫在线免费观看| 国产精品66部| 欧美高清dvd| 国产欧美日韩视频一区二区| 调教+趴+乳夹+国产+精品| 国产精品综合一区二区| 欧美日韩精品欧美日韩精品 | 色狠狠色狠狠综合| 精品理论电影在线观看| 尤物av一区二区| 国产在线视频精品一区| 欧美精品亚洲一区二区在线播放| 国产日韩精品久久久| 日韩激情av在线| 色综合天天天天做夜夜夜夜做| 欧美成人欧美edvon| 亚洲欧美日韩在线不卡| 国产麻豆精品在线| 91精品蜜臀在线一区尤物| 亚洲人亚洲人成电影网站色| 国产在线精品一区二区三区不卡| 欧美日韩亚洲综合一区二区三区| 国产精品第五页| 国产精品一二三四| 精品福利视频一区二区三区| 亚洲超碰97人人做人人爱| 成人app下载| 国产欧美综合在线观看第十页| 久久爱www久久做| 欧美精品丝袜中出| 午夜精品久久久久久久久| 91蜜桃网址入口| 亚洲欧洲美洲综合色网| 成人动漫精品一区二区| 久久精品一区四区| 国产乱一区二区| 久久精品视频在线免费观看| 看电影不卡的网站| 欧美va在线播放| 狠狠色狠狠色综合| 国产亚洲欧洲997久久综合| 国产一区激情在线| 国产午夜亚洲精品午夜鲁丝片| 精品一区二区三区在线观看| 2024国产精品视频| 国产麻豆精品久久一二三| 久久久国产精品不卡| 国产黄色91视频| 日本一区二区三区免费乱视频| 大陆成人av片| 悠悠色在线精品| 欧美日韩精品一区二区三区蜜桃| 日韩精品色哟哟| 欧美成人a在线| 国产寡妇亲子伦一区二区| 国产欧美一区二区精品性色| www.色精品| 亚洲影视资源网| 日韩欧美专区在线| 国产91精品在线观看| 国产精品久久久久久福利一牛影视| 北岛玲一区二区三区四区| 日韩伦理av电影| 欧美日韩一区二区不卡| 麻豆久久一区二区| 亚洲国产精品成人综合| 在线精品视频免费播放| 久久国产精品无码网站| 中文字幕成人网| 欧美日韩综合在线免费观看| 久久国产精品72免费观看| 国产精品色一区二区三区| 日本高清视频一区二区| 轻轻草成人在线| 中国色在线观看另类| 欧美视频一区二区三区在线观看| 日本欧美一区二区三区乱码| 国产亚洲人成网站| 欧美美女视频在线观看| 国产精一品亚洲二区在线视频| 一区二区不卡在线播放| 精品国产成人系列| 欧美视频在线一区| 成人自拍视频在线| 美洲天堂一区二卡三卡四卡视频| 国产精品日日摸夜夜摸av| 欧美日本视频在线| 91网站最新地址| 久久99在线观看| 亚洲va国产天堂va久久en| 欧美激情一区在线| 精品少妇一区二区三区| 欧美性受xxxx| 91一区在线观看| 国产成人午夜片在线观看高清观看| 洋洋av久久久久久久一区| 国产亚洲欧美日韩在线一区| 欧美三级三级三级爽爽爽| 成人网页在线观看| 国产一区二区三区四| 蜜臀va亚洲va欧美va天堂| 亚洲精品乱码久久久久久黑人| 欧美高清一级片在线观看| 日韩欧美色综合| 91精品在线免费观看| 91久久香蕉国产日韩欧美9色| 大白屁股一区二区视频| 国产又黄又大久久| 久久国内精品自在自线400部| 午夜亚洲国产au精品一区二区| 亚洲人精品午夜| 国产精品国产三级国产aⅴ入口| 久久精品欧美一区二区三区不卡| 日韩欧美在线综合网| 91麻豆精品国产| 日韩一二在线观看| 日韩一级高清毛片| 日韩视频中午一区| 欧美一二三四区在线| 日韩一区二区三区三四区视频在线观看| 色悠悠久久综合| 91福利精品视频| 欧美日韩国产综合一区二区| 欧美日韩亚洲高清一区二区| 欧美日韩精品电影| 欧美一区二区三区四区久久| 日韩一区二区三区观看| 久久综合丝袜日本网| 久久精品视频一区二区三区| 久久精品一区二区三区av| 国产视频一区在线播放| 亚洲欧美在线aaa| 一区二区三区在线不卡| 亚洲a一区二区| 久久精品国产一区二区三| 国产一区二区三区精品视频| 成人性色生活片| 91视频.com| 在线综合视频播放| 久久色视频免费观看| 中文字幕在线不卡视频| 午夜伊人狠狠久久| 精品一区二区三区不卡 | 一区二区三区在线观看欧美| 夜夜嗨av一区二区三区四季av| 亚洲国产精品综合小说图片区| 天堂一区二区在线| 国产白丝网站精品污在线入口| 色综合天天综合| 91精品国产乱码| 国产精品私人自拍| 天天操天天综合网| 久草这里只有精品视频| 9l国产精品久久久久麻豆| 欧洲av在线精品| 久久这里只有精品视频网| 亚洲综合色视频| 黑人巨大精品欧美黑白配亚洲| 91在线小视频| 337p日本欧洲亚洲大胆色噜噜| 一区二区三区中文免费| 麻豆91免费看| 欧美性大战久久久久久久蜜臀| 亚洲精品一区二区在线观看| 一区二区三区鲁丝不卡| 国产成人精品一区二区三区四区| 欧美日韩国产综合一区二区三区|