/** @file * http://www.tty1.net/pycrc/faq_en.html#code-ownership * * Wireshark - Network traffic analyzer * By Gerald Combs * Copyright 1998 Gerald Combs * * SPDX-License-Identifier: GPL-2.0-or-later */ #ifndef __CRC11_____H__ #include #include "ws_symbol_export.h" #ifdef __cplusplus extern "C" { #endif /** * Functions and types for CRC checks. * * Generated on Tue Aug 7 15:45:57 2012, * by pycrc v0.7.10, http://www.tty1.net/pycrc/ * using the configuration: * Width = 11 * Poly = 0x307 * XorIn = 0x000 * ReflectIn = False * XorOut = 0x000 * ReflectOut = False * Algorithm = table-driven *****************************************************************************/ /** * @brief Compute the CRC-11/UMTS checksum using polynomial 0x307 with no reflection or final XOR. * * This function calculates the 11-bit CRC value over the input byte stream * using the CRC-11 polynomial defined by ITU-T (0x307). It does not apply * input or output reflection, nor does it perform a final XOR. This variant * is commonly used in UMTS and other telecom protocols. * * Polynomial: x^11 + x^9 + x^8 + x^2 + 1 (0x307) * Initial value: 0x000 * No input/output reflection * No final XOR * * @param data Pointer to the input byte stream. * @param data_len Length of the input data in bytes. * @return 11-bit CRC checksum. */ WS_DLL_PUBLIC uint16_t crc11_307_noreflect_noxor(const uint8_t *data, uint64_t data_len); #ifdef __cplusplus } /* closing brace for extern "C" */ #endif #endif /*__CRC11_____H__*/