static void ReadFingerprintToBuffer(BYTE* buffer) { int i; DWORD addr = BOOTLOADER_FINGERPRINT_ADDRESS; for (i = 0; i < FINGERPRINT_SIZE / 2; ++i) { DWORD_VAL dw = {FlashReadDWORD(addr)}; *buffer++ = dw.byte.LB; *buffer++ = dw.byte.HB; addr += 2; } }
BOOL ValidateFingerprint() { int i; DWORD addr = BOOTLOADER_FINGERPRINT_ADDRESS; BYTE* fp = fingerprint; for (i = 0; i < FINGERPRINT_SIZE / 2; ++i) { DWORD_VAL dw = {FlashReadDWORD(addr)}; if (*fp++ != dw.byte.LB) return FALSE; if (*fp++ != dw.byte.HB) return FALSE; if (dw.word.HW != 0) return FALSE; addr += 2; } return TRUE; }
BYTE ReadOscTun() { return FlashReadDWORD(BOOTLOADER_OSCTUN_ADDRESS) & 0xFF; }