1 //***************************************************************************** 2 // 3 // sw_crc.h - Prototypes for the software CRC functions. 4 // 5 // Copyright (c) 2010-2017 Texas Instruments Incorporated. All rights reserved. 6 // Software License Agreement 7 // 8 // Redistribution and use in source and binary forms, with or without 9 // modification, are permitted provided that the following conditions 10 // are met: 11 // 12 // Redistributions of source code must retain the above copyright 13 // notice, this list of conditions and the following disclaimer. 14 // 15 // Redistributions in binary form must reproduce the above copyright 16 // notice, this list of conditions and the following disclaimer in the 17 // documentation and/or other materials provided with the 18 // distribution. 19 // 20 // Neither the name of Texas Instruments Incorporated nor the names of 21 // its contributors may be used to endorse or promote products derived 22 // from this software without specific prior written permission. 23 // 24 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 25 // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 26 // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 27 // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 28 // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 29 // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 30 // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 31 // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 32 // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 33 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 34 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 35 // 36 // This is part of revision 2.1.4.178 of the Tiva Peripheral Driver Library. 37 // 38 //***************************************************************************** 39 40 #ifndef __DRIVERLIB_SW_CRC_H__ 41 #define __DRIVERLIB_SW_CRC_H__ 42 43 //***************************************************************************** 44 // 45 // If building with a C++ compiler, make all of the definitions in this header 46 // have a C binding. 47 // 48 //***************************************************************************** 49 #ifdef __cplusplus 50 extern "C" 51 { 52 #endif 53 54 //***************************************************************************** 55 // 56 // Prototypes for the functions. 57 // 58 //***************************************************************************** 59 extern uint8_t Crc8CCITT(uint8_t ui8Crc, const uint8_t *pui8Data, 60 uint32_t ui32Count); 61 extern uint16_t Crc16(uint16_t ui16Crc, const uint8_t *pui8Data, 62 uint32_t ui32Count); 63 extern uint16_t Crc16Array(uint32_t ui32WordLen, const uint32_t *pui32Data); 64 extern void Crc16Array3(uint32_t ui32WordLen, const uint32_t *pui32Data, 65 uint16_t *pui16Crc3); 66 extern uint32_t Crc32(uint32_t ui32Crc, const uint8_t *pui8Data, 67 uint32_t ui32Count); 68 69 //***************************************************************************** 70 // 71 // Mark the end of the C bindings section for C++ compilers. 72 // 73 //***************************************************************************** 74 #ifdef __cplusplus 75 } 76 #endif 77 78 #endif // __DRIVERLIB_SW_CRC_H__ 79