sdlCrc32 function
Calculate a CRC-32 value.
https://en.wikipedia.org/wiki/Cyclic_redundancy_check
This function can be called multiple times, to stream data to be checksummed in blocks. Each call must provide the previous CRC-32 return value to be updated with the next block. The first call to this function for a set of blocks should pass in a zero CRC value.
\param crc the current checksum for this data set, or 0 for a new data set. \param data a new block of data to add to the checksum. \param len the size, in bytes, of the new block of data. \returns a CRC-32 checksum value of all blocks in the data set.
\threadsafety It is safe to call this function from any thread.
\since This function is available since SDL 3.1.3.
extern SDL_DECLSPEC Uint32 SDLCALL SDL_crc32(Uint32 crc, const void *data, size_t len)
Implementation
int sdlCrc32(int crc, Pointer<NativeType> data, int len) {
final sdlCrc32LookupFunction = libSdl3.lookupFunction<
Uint32 Function(Uint32 crc, Pointer<NativeType> data, Uint32 len),
int Function(int crc, Pointer<NativeType> data, int len)>('SDL_crc32');
return sdlCrc32LookupFunction(crc, data, len);
}