typedef uint32_t (*libmem_driver_crc32_fn_t)(libmem_driver_handle_t *h, const uint8_t *start, size_t size, uint32_t crc);

libmem_driver_crc32_fn_t is a function pointer to a LIBMEM driver's crc32 extended function.

h — A pointer to the handle of the LIBMEM driver.

start — A pointer to the start of the address range.

size — The size of the address range in bytes.

crc — The initial CRC-32 value.

libmem_driver_crc32_fn_t returns — The computed CRC-32 value.

The driver's crc function is an optional extended function. It has been provided to allow you to write a driver for memory that is not memory mapped.

Typically memory read operations will be direct memory mapped operations however implementing a driver's crc function allows you to carry out a crc32 operation on non-memory mapped memory through the LIBMEM interface.