/* This function calculates the CRC32 of the input data.  */
static uint32_t _eval_crc_32(const uint8_t *puc_buf_ptr, uint32_t ul_len, uint32_t ul_crc_init)
/* This function calculates the CRC32 of the input data.  */
static uint32_t _eval_crc_32(const uint8_t *puc_buf_ptr, uint32_t ul_len, uint32_t ul_crc_init)
{
	uint8_t uc_idx;
	uint32_t ul_crc;
	ul_crc = ul_crc_init;
	if (ul_len != 0) {
		while (ul_len--) {
			uc_idx = (uint8_t)(ul_crc >> 24) ^ *puc_buf_ptr++;
			ul_crc = (ul_crc << 8) ^ pul_crc32_table[uc_idx];
		}
	}
	return ul_crc;
}