1
0
mirror of https://github.com/trezor/trezor-firmware.git synced 2024-12-19 21:08:07 +00:00
trezor-firmware/micropython/stmhal/bootloader/header.c
2017-02-09 20:04:21 +01:00

30 lines
628 B
C

#include <string.h>
#include "header.h"
bool read_header(const uint8_t *data, uint32_t *expiry, uint32_t *version, uint8_t *sigidx, uint8_t *sig)
{
uint32_t magic;
memcpy(&magic, data, 4);
if (magic != 0x425A5254) return false; // TRZB
uint32_t hdrlen;
memcpy(&hdrlen, data + 4, 4);
if (hdrlen != 256) return false;
memcpy(expiry, data + 8, 4);
uint32_t codelen;
memcpy(&codelen, data + 12, 4);
if (codelen != 64 * 1024) return false;
memcpy(version, data + 16, 4);
// reserved
memcpy(sigidx, data + 0x00BF, 1);
memcpy(sig, data + 0x00C0, 64);
return true;
}