#include <stdio.h>
+#include <stdint.h>
#define POLY 0x04c11db7
-unsigned int rsb_crc(unsigned int r11_crc, unsigned char *r10_buf, unsigned int r14_len) {
- unsigned int r6_pos = 0;
- unsigned int r3_data;
- int r5_bit;
+uint32_t rsb_crc(uint32_t r11_crc, uint8_t *r10_buf, uint32_t r14_len) {
+ uint32_t r6_pos = 0;
+ uint32_t r3_data;
+ int32_t r5_bit;
while (r6_pos < r14_len) {
r3_data = (*(r6_pos+r10_buf)) << 24;
return r11_crc;
}
-unsigned int rsb_crc2(unsigned char *r0_buf, unsigned int r1_buflen, unsigned int r2_magic, unsigned int *crc_out) {
- unsigned int r4_len;
- unsigned int file_crc;
+uint32_t rsb_crc2(uint8_t *r0_buf, uint32_t r1_buflen, uint32_t r2_magic, uint32_t *crc_out) {
+ uint32_t r4_len;
+ uint32_t file_crc;
- r4_len = *(unsigned int*)(r0_buf + 0x20);
+ r4_len = *(uint32_t*)(r0_buf + 0x20);
- if (*((unsigned int*)(r0_buf + 0x24)) != r2_magic)
+ if (*((uint32_t*)(r0_buf + 0x24)) != r2_magic)
return 2; /* MAGIC does not match */
if (r1_buflen < r4_len)
*crc_out = ~rsb_crc(~0x0, r0_buf, r4_len);
- file_crc = *((unsigned int*)(r0_buf + r4_len));
+ file_crc = *((uint32_t*)(r0_buf + r4_len));
if (file_crc != *crc_out)
return 4;