mirror of
				https://github.com/eledio-devices/thirdparty-littlefs.git
				synced 2025-10-31 00:32:38 +01:00 
			
		
		
		
	Restructured the major interfaces of the filesystem
This commit is contained in:
		
							
								
								
									
										27
									
								
								lfs_util.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										27
									
								
								lfs_util.c
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,27 @@ | ||||
| /* | ||||
|  * lfs util functions | ||||
|  * | ||||
|  * Copyright (c) 2017 Christopher Haster | ||||
|  * Distributed under the MIT license | ||||
|  */ | ||||
| #include "lfs_util.h" | ||||
|  | ||||
|  | ||||
| uint32_t lfs_crc(const void *buffer, lfs_size_t size, uint32_t crc) { | ||||
|     static const uint32_t rtable[16] = { | ||||
|         0x00000000, 0x1db71064, 0x3b6e20c8, 0x26d930ac, | ||||
|         0x76dc4190, 0x6b6b51f4, 0x4db26158, 0x5005713c, | ||||
|         0xedb88320, 0xf00f9344, 0xd6d6a3e8, 0xcb61b38c, | ||||
|         0x9b64c2b0, 0x86d3d2d4, 0xa00ae278, 0xbdbdf21c, | ||||
|     }; | ||||
|  | ||||
|     const uint8_t *data = buffer; | ||||
|  | ||||
|     for (lfs_size_t i = 0; i < size; i++) { | ||||
|         crc = (crc >> 4) ^ rtable[(crc ^ (data[i] >> 0)) & 0xf]; | ||||
|         crc = (crc >> 4) ^ rtable[(crc ^ (data[i] >> 4)) & 0xf]; | ||||
|     } | ||||
|  | ||||
|     return crc; | ||||
| } | ||||
|  | ||||
		Reference in New Issue
	
	Block a user