⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 crc32.c

📁 Boot code for ADM5120 with serial console for Edimax router.
💻 C
字号:
/* * CRC32 checksum * * Copyright (c) 1998-2003 by Joergen Ibsen / Jibz * All Rights Reserved * * http://www.ibsensoftware.com/ * * This software is provided 'as-is', without any express * or implied warranty.  In no event will the authors be * held liable for any damages arising from the use of * this software. * * Permission is granted to anyone to use this software * for any purpose, including commercial applications, * and to alter it and redistribute it freely, subject to * the following restrictions: * * 1. The origin of this software must not be *    misrepresented; you must not claim that you *    wrote the original software. If you use this *    software in a product, an acknowledgment in *    the product documentation would be appreciated *    but is not required. * * 2. Altered source versions must be plainly marked *    as such, and must not be misrepresented as *    being the original software. * * 3. This notice may not be removed or altered from *    any source distribution. *//* * CRC32 algorithm taken from the zlib source, which is * Copyright (C) 1995-1998 Jean-loup Gailly and Mark Adler */#include "tinf.h"static const unsigned int tinf_crc32tab[16] = {   0x00000000, 0x1db71064, 0x3b6e20c8, 0x26d930ac, 0x76dc4190,   0x6b6b51f4, 0x4db26158, 0x5005713c, 0xedb88320, 0xf00f9344,   0xd6d6a3e8, 0xcb61b38c, 0x9b64c2b0, 0x86d3d2d4, 0xa00ae278,   0xbdbdf21c};unsigned int tinf_crc32(const void *data, unsigned int length){   const unsigned char *buf = (const unsigned char *)data;   unsigned int crc = 0xffffffff;   unsigned int i;   if (length == 0) return 0;   for (i = 0; i < length; ++i)   {      crc ^= buf[i];      crc = tinf_crc32tab[crc & 0x0f] ^ (crc >> 4);      crc = tinf_crc32tab[crc & 0x0f] ^ (crc >> 4);   }   return crc ^ 0xffffffff;}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -