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

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

?? crc.h

?? 在高通的手機平臺下,一個下載手機.bin文件到手機的flash中的工具,包含PC端的程序代碼和運行在基帶處理器中的代碼.
?? H
字號:
#ifndef CRC_H
#define CRC_H
/*===========================================================================

              C R C    S E R V I C E S    D E C L A R A T I O N S

DESCRIPTION
  The following declarations are for use with the CRC Services.

Copyright(c) 1991,1992,1996 by QUALCOMM, Incorporated.  All Rights Reserved.
Copyright(c) 1998,1999      by QUALCOMM, Incorporated.  All Rights Reserved.
===========================================================================*/


/*===========================================================================

                      EDIT HISTORY FOR FILE

This section contains comments describing changes made to this file.
Notice that changes are listed in reverse chronological order.

$PVCSPath: O:/src/asw/COMMON/vcs/crc.h_v   1.2   28 Aug 2002 14:35:54   ldefauw  $
$Header: //depot/asic/msmshared/services/common/crc.h#3 $ $DateTime: 2002/08/28 14:35:48 $ $Author: ldefauw $

when       who     what, where, why
--------   ---     ----------------------------------------------------------
11/29/01   lad     Added step-wise CRC30 calculation.
03/17/99   ms      Removed comments related to bb_ for Virtual Boot Block.
12/16/98   jct     Removed 80186 support
09/21/98   jct     Incorporate ARM porting changes, cdecl changes
02/28/96   dna     Changed crc_16_l_table extern to be a pointer so the 
                   macro now accesses the table through the Boot Block jump
                   table.
06/21/93   jah     Corrected CRC_16_L_OK to match with crc_16_l_calc().
06/07/93   jah     Added prototype for crc_16_l_calc(), and improved comments
                   for CRC_16_L_STEP().
04/26/93   jah     Added extern for crc_16_l_table[] for macro.
04/22/93   jah     Added CRC definitions and macro to support CRC CCITT-16
                   processed LSB first.
07/09/92   jah     Changed crc_16_step() from bits to bytes
06/18/92   jah     Ported from brassboard and converted to table-driven.

===========================================================================*/

#include "comdef.h"


/*===========================================================================

                        DATA DECLARATIONS

===========================================================================*/

/* Residual CRC value to compare against return value of crc_16_calc().
** Use crc_16_calc() to calculate a 16 bit CRC, and append it to the buffer.
** When crc_16_calc() is applied to the unchanged result, it returns CRC_16_OK.
*/
#define CRC_16_OK               0xE2F0

/* Mask for CRC-16 polynomial:
**
**      x^16 + x^12 + x^5 + 1
**
** This is more commonly referred to as CCITT-16.
** Note:  the x^16 tap is left off, it's implicit.
*/
#define CRC_16_POLYNOMIAL       0x1021

/* Seed value for CRC register.  The all ones seed is part of CCITT-16, as
** well as allows detection of an entire data stream of zeroes.
*/
#define CRC_16_SEED             0xFFFF

/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */

/* Seed value for CRC register.  The all zeroes seed is inverted prior to
** being used in the step-wise CRC CCITT-16.  This behaves as CRC_16_SEED.
*/
#define CRC_16_STEP_SEED        (~((word) CRC_16_SEED))

/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */

/* Residual CRC value to compare against return value of crc_30_calc().
** Use crc_30_calc() to calculate a 30 bit CRC, and append it to the buffer.
** When crc_30_calc() is applied to the unchanged result, it returns CRC_30_OK.
*/
#define  CRC_30_OK  0x0B105AA5

/* Mask for CRC-30 polynomial:
**
**      x^30+x^29+x^21+x^20+x^15+x^13+x^12+x^11+x^8+x^7+x^6+x^2+x^1+1
**
** Note:  the x^30 tap is left off, it's implicit.
*/
#define CRC_30_POLYNOMIAL       0x6030B9C7

/* Seed value for CRC register.  The all ones seed allows detection of
** an entire data stream of zeroes.
*/
#define CRC_30_SEED             0x3FFFFFFF

/* Seed value for CRC30 register.  The CRC30 seed is inverted prior to
** being used in the step-wise CRC-30.  This behaves as CRC_30_SEED.
*/
#define CRC_30_STEP_SEED        (~((dword) CRC_30_SEED))

/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */

/* Mask for CRC-16 polynomial:
**
**      x^16 + x^12 + x^5 + 1
**
** This is more commonly referred to as CCITT-16.
** Note:  the x^16 tap is left off, it's implicit.
*/
#define CRC_16_L_POLYNOMIAL     0x8408

/* Seed value for CRC register.  The all ones seed is part of CCITT-16, as
** well as allows detection of an entire data stream of zeroes.
*/
#define CRC_16_L_SEED           0xFFFF

/* Seed value for CRC register.  The all ones seed is inverted prior to
** being used in the step-wise CRC CCITT-16.  This behaves as CRC_16_L_SEED.
*/
#define CRC_16_L_STEP_SEED        ((word) ~((word) CRC_16_L_SEED))

/* Residual CRC value to compare against return value of a CRC_16_L_STEP().
** Use CRC_16_L_STEP() to calculate a 16 bit CRC, complement the result,
** and append it to the buffer.  When CRC_16_L_STEP() is applied to the
** unchanged entire buffer, and complemented, it returns CRC_16_L_OK.
** Crc_16_l_calc() of the same entire buffer returns CRC_16_L_OK.
*/
#define CRC_16_L_OK             0x0F47



/*===========================================================================

MACRO CRC_16_L_STEP

DESCRIPTION
  This function calculates one byte step of an LSB-first 16-bit CRC over
  a specified number of data bits.  It can be used to produce a CRC and
  to check a CRC.

PARAMETERS
  xx_crc  Current value of the CRC calculation, 16-bits
  xx_c    New byte to figure into the CRC, 8-bits

DEPENDENCIES
  None

RETURN VALUE
  The new CRC value, 16-bits.  If this macro is being used to check a
  CRC, and is run over a range of bytes, the return value will be equal
  to CRC_16_L_OK (defined in crc.h) if the CRC checks correctly.  When
  generating a CRC to be appended to such a range of bytes, the final
  result must be XOR'd with CRC_16_L_SEED before being appended.

SIDE EFFECTS
  xx_crc is evaluated twice within this macro.

===========================================================================*/

/* crc_16_l_table is a pointer in the Boot Block jump table which
** points to the actual table crc_16_l_table 
*/
extern const word crc_16_l_table[];       /* Extern for macro (global) */

#define CRC_16_L_STEP(xx_crc,xx_c) \
  (((xx_crc) >> 8) ^ crc_16_l_table[((xx_crc) ^ (xx_c)) & 0x00ff])


/*===========================================================================

                      FUNCTION DECLARATIONS

===========================================================================*/


/*===========================================================================

FUNCTION CRC_16_CALC

DESCRIPTION
  This function calculates a 16-bit CRC over a specified number of data
  bits.  It can be used to produce a CRC and to check a CRC.

DEPENDENCIES
  None

RETURN VALUE
  Returns a word holding 16 bits which are the contents of the CRC
  register as calculated over the specified data bits.  If this
  function is being used to check a CRC, then the return value will be
  equal to CRC_16_OK (defined in crc.h) if the CRC checks correctly.

SIDE EFFECTS
  None

===========================================================================*/

extern word crc_16_calc
(
  byte *buf_ptr,
    /* Pointer to bytes containing the data to CRC.  The bit stream starts
    ** in the MS bit of the first byte.
    */

  word len
    /* Number of data bits to calculate the CRC over */
);


/*===========================================================================

FUNCTION CRC_16_L_CALC

DESCRIPTION
  This function calculates an LSB-first 16-bit CRC over a specified number
  of data bits.  It can be used to produce a CRC and to check a CRC.

DEPENDENCIES
  None

RETURN VALUE
  Returns a word holding 16 bits which are the contents of the CRC
  register as calculated over the specified data bits.  If this
  function is being used to check a CRC, then the return value will be
  equal to CRC_16_L_OK (defined in crc.h) if the CRC checks correctly.

SIDE EFFECTS
  None

===========================================================================*/

extern word crc_16_l_calc
(
  byte *buf_ptr,
    /* Pointer to bytes containing the data to CRC.  The bit stream starts
    ** in the LS bit of the first byte.
    */

  word len
    /* Number of data bits to calculate the CRC over */
);


/*===========================================================================

FUNCTION CRC_30_CALC

DESCRIPTION
  This function calculates a 30-bit CRC over a specified number of data
  bits.  It can be used to produce a CRC and to check a CRC.

DEPENDENCIES
  None

RETURN VALUE
  Returns a double word holding 30 bits which are the contents of the
  CRC register as calculated over the specified data bits.  If this
  function is being used to check a CRC, then the return value will be
  equal to CRC_30_OK (defined in crc.h) if the CRC checks correctly.

SIDE EFFECTS
  None

===========================================================================*/

extern dword crc_30_calc
(
  byte *buf_ptr,
    /* Pointer to bytes containing the data to CRC.  The bit stream starts
    ** in the MS bit of the first byte.
    */

  word len
    /* Number of data bits to calculate the CRC over */
);

/*===========================================================================

FUNCTION CRC_30_STEP

DESCRIPTION
  This function calculates a 30-bit CRC over a specified number of data
  bits.  It can be used to produce a CRC and to check a CRC.  The CRC value
  passed in is used to continue the CRC calculation from a previous call,
  this allows this routine to be used to CRC discontinuous data.

DEPENDENCIES
  None

RETURN VALUE
  Returns a double word holding 30 bits which are the contents of the
  CRC register as calculated over the specified data bits.  If this
  function is being used to check a CRC, then the return value will be
  equal to CRC_30_OK (defined in crc.h) if the CRC checks correctly.
  
  NOTE: The caller is expected to mask the bottom 30 bits from the value, 

SIDE EFFECTS
  None

===========================================================================*/

extern dword crc_30_step
(
  dword seed,
    /* Either the result of a previous crc_30_step() or CRC_16_STEP_SEED
    ** the first time the routine is called.  Note that the input is
    ** inverted prior to use, to counteract the inversion applied when
    ** it was returned as a result of the previous step.
    */

  byte *buf_ptr,
    /* Pointer to bytes containing the data to CRC.  The bit stream starts
    ** in the MS bit of the first byte.
    */

  word len
    /* Number of data bits to calculate the CRC over */
);


/*===========================================================================

FUNCTION CRC_16_STEP

DESCRIPTION
  This function calculates a 16-bit CRC over a specified number of data
  bits.  It can be used to produce a CRC and to check a CRC.  The CRC value
  passed in is used to continue the CRC calculation from a previous call,
  this allows this routine to be used to CRC discontinuous data.

DEPENDENCIES
  None

RETURN VALUE
  Returns a word holding 16 bits which are the contents of the CRC
  register as calculated over the specified data bits.  If this
  function is being used to check a CRC, then the return value will be
  equal to CRC_16_OK (defined in crc.h) if the CRC checks correctly.

SIDE EFFECTS
  None

===========================================================================*/

extern word crc_16_step
(
  word seed,
    /* Either the result of a previous crc_16_step() or CRC_16_STEP_SEED
    ** the first time the routine is called.  Note that the input is
    ** inverted prior to use, to counteract the inversion applied when
    ** it was returned as a result of the previous step.
    */

  byte *buf_ptr,
    /* Pointer to bytes containing the data to CRC.  The bit stream starts
    ** in the MS bit of the first byte.
    */

  word byte_len
    /* Number of data bytes to calculate the CRC over */
);


/*===========================================================================

FUNCTION CRC_16_L_STEP

DESCRIPTION
  This function calculates a LSB-first 16-bit CRC over a specified number 
  of data bytes.  It can be used to produce a CRC and to check a CRC.  
  The CRC value passed in is used to continue the CRC calculation from a
  previous call; this allows this routine to be used to CRC discontinuous data.

DEPENDENCIES
  None

RETURN VALUE
  Returns a word holding 16 bits which are the contents of the CRC
  register as calculated over the specified data bits.  If this
  function is being used to check a CRC, then the return value will be
  equal to CRC_16_OK (defined in crc.h) if the CRC checks correctly.

SIDE EFFECTS
  None

===========================================================================*/

word crc_16_l_step
(
  word seed,

  const void *buf_ptr,
    /* Either the result of a previous crc_16_l_step() or CRC_16_L_STEP_SEED
    ** the first time the routine is called.  Note that the input is
    ** inverted prior to use, to counteract the inversion applied when
    ** it was returned as a result of the previous step.
    */

  unsigned int byte_len
    /* Number of data bytes to calculate the CRC over */
);
#endif /* CRC_H */

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
视频一区二区三区在线| 成人综合在线视频| 精品成人佐山爱一区二区| 韩日欧美一区二区三区| 久久久精品黄色| 成人av动漫网站| 亚洲综合一区二区三区| 欧美日韩高清一区二区| 久久国产福利国产秒拍| 久久精品免视看| 91理论电影在线观看| 亚洲第一电影网| 日韩精品中文字幕一区二区三区| 国产在线视频一区二区三区| 欧美激情一区二区三区四区| 色网综合在线观看| 丝袜美腿高跟呻吟高潮一区| 欧美v国产在线一区二区三区| 国产ts人妖一区二区| 国产精品欧美一区喷水| 欧美专区在线观看一区| 蜜桃视频在线观看一区二区| 国产一区二区不卡在线| 亚洲天堂精品在线观看| 欧美另类videos死尸| 国产又粗又猛又爽又黄91精品| 国产精品人成在线观看免费 | 一本久久精品一区二区| 日本亚洲最大的色成网站www| 久久久久久一级片| 91极品视觉盛宴| 久久99在线观看| 亚洲美女一区二区三区| 日韩欧美的一区二区| 成人一区二区三区视频在线观看| 亚洲综合无码一区二区| 欧美精品一区二区久久婷婷| 91视频精品在这里| 精品一区二区三区免费毛片爱| 国产精品久久久久三级| 7777精品伊人久久久大香线蕉完整版 | 欧美一级日韩一级| 成人免费高清在线观看| 视频一区欧美精品| 国产精品对白交换视频| 日韩欧美国产综合一区 | 日韩一卡二卡三卡四卡| 99免费精品在线观看| 麻豆国产91在线播放| 亚洲欧美日韩一区二区| 欧美精品一区二区三区视频 | 日韩一区二区三区av| 9i看片成人免费高清| 看片的网站亚洲| 一级做a爱片久久| 久久久九九九九| 欧美美女激情18p| 99视频一区二区三区| 久久精品国产成人一区二区三区| 一区二区三区日韩精品视频| 久久久不卡网国产精品一区| 欧美精品色综合| 色婷婷精品久久二区二区蜜臂av | 亚洲天堂免费在线观看视频| www国产亚洲精品久久麻豆| 欧美性受xxxx黑人xyx性爽| 成人毛片在线观看| 久久成人免费日本黄色| 亚洲国产aⅴ成人精品无吗| 国产精品久久久久影院色老大| 日韩一区二区精品| 欧美日韩国产首页| 91啪亚洲精品| 成人激情黄色小说| 韩国av一区二区三区| 午夜视频在线观看一区二区| 亚洲色图视频网| 国产欧美精品日韩区二区麻豆天美| 欧美一卡在线观看| 欧美日韩和欧美的一区二区| 91一区二区在线观看| 成人免费黄色大片| 国产精品一区二区三区四区| 乱一区二区av| 秋霞午夜鲁丝一区二区老狼| 亚洲午夜激情av| 夜夜嗨av一区二区三区四季av| 国产精品麻豆99久久久久久| 久久久久久9999| 精品国内二区三区| 日韩视频一区二区在线观看| 日韩国产在线观看一区| 亚洲最大成人综合| 亚洲欧美日韩国产综合| 成人欧美一区二区三区1314| 国产欧美日韩另类一区| 久久久亚洲综合| 久久亚洲一级片| 久久天堂av综合合色蜜桃网| 日韩女优电影在线观看| 91精品国产一区二区三区蜜臀| 欧美日韩一区二区三区高清| 欧美性一二三区| 欧美日韩小视频| 欧美日韩国产综合久久| 欧美日韩综合在线| 欧美日韩你懂的| 欧美疯狂做受xxxx富婆| 69久久99精品久久久久婷婷| 7777精品伊人久久久大香线蕉 | 国产三级三级三级精品8ⅰ区| 欧美精品一区二区三区四区 | 精品久久久久久综合日本欧美 | 亚洲一区在线观看视频| 一区二区三区日韩欧美精品| 一区二区三区国产豹纹内裤在线| 亚洲一区二三区| 午夜精品久久久久| 另类调教123区 | 国产.欧美.日韩| 99在线精品免费| 91国在线观看| 欧美男女性生活在线直播观看| 欧美剧情电影在线观看完整版免费励志电影 | 伊人夜夜躁av伊人久久| 亚洲国产精品一区二区久久| 午夜伊人狠狠久久| 久久99久久99| 国产成人av在线影院| 成人av片在线观看| 欧美在线一区二区三区| 制服丝袜亚洲网站| 精品盗摄一区二区三区| 中文字幕欧美激情一区| 亚洲精品免费一二三区| 天天免费综合色| 国产真实乱子伦精品视频| 成人h动漫精品| 欧美偷拍一区二区| 欧美电影免费提供在线观看| 国产福利一区二区| 94-欧美-setu| 欧美日韩国产小视频| 久久综合色之久久综合| 亚洲欧美怡红院| 偷拍与自拍一区| 国产乱子轮精品视频| av高清不卡在线| 欧美人伦禁忌dvd放荡欲情| 精品成人一区二区| 亚洲视频资源在线| 日韩一区欧美二区| 国产成人自拍网| 欧美在线啊v一区| 精品日本一线二线三线不卡| 中文在线资源观看网站视频免费不卡 | 亚洲视频资源在线| 日本亚洲天堂网| jlzzjlzz欧美大全| 欧美二区在线观看| 中文字幕欧美激情一区| 日日嗨av一区二区三区四区| 国产精品一区二区91| 欧美亚洲一区二区在线观看| 日韩免费观看高清完整版| 亚洲欧洲av色图| 久久精品国产免费| 色婷婷久久久久swag精品| 精品免费一区二区三区| 亚洲精品日日夜夜| 狠狠狠色丁香婷婷综合久久五月| 91亚洲国产成人精品一区二区三 | 色综合天天综合| 欧美电影免费观看高清完整版在线 | 欧美成人一区二区三区片免费| 亚洲色图.com| 国模大尺度一区二区三区| 91精品福利视频| 国产欧美一区二区三区在线看蜜臀| 亚洲一区二区精品3399| 国产福利一区二区| 91精品国产一区二区三区 | 中文av一区二区| 免费成人美女在线观看| 91啪亚洲精品| 久久久久国产免费免费| 亚洲成年人影院| 99久久99久久综合| 亚洲精品一区二区三区精华液 | 亚洲午夜久久久久久久久久久 | 777午夜精品视频在线播放| 91麻豆免费在线观看| 日韩久久精品一区| 亚洲午夜国产一区99re久久| 国产成人激情av| 欧美xxxxx裸体时装秀| 午夜久久久久久久久久一区二区| 99热在这里有精品免费| 国产日韩精品久久久| 青娱乐精品视频|